ports/devel/pwlib/files/patch-plugins-sound_oss-sound_oss_cxx
Rong-En Fan 6ece12cda9 - Allow multiple apps to access sound device in parallel
- Bump PORTREVISION

PR:		ports/122584
Submitted by:	Steve Ames <steve at energistic.com> (maintainer)
2008-04-13 12:43:55 +00:00

26 lines
1.2 KiB
Text

--- plugins/sound_oss/sound_oss.orig 2008-04-08 13:54:44.000000000 -0400
+++ plugins/sound_oss/sound_oss.cxx 2008-04-08 13:57:40.000000000 -0400
@@ -399,6 +399,15 @@
PINDEX cardnum = numbers.AsInteger(); //dspN.M is truncated to dspN.
// If we have not yet inserted something for this cardnum, insert it
if (dsp.GetAt(cardnum+1) == NULL) {
+#if defined P_FREEBSD
+ // in FreeBSD the file name should be used via the devfs(5) and
+ // is just "/dev/dsp0" and devfs(5) takes care of virtual channels,
+ // like /dev/dsp0.0 /dev/dsp0.1 ...
+ // everything else would conflict with other KDE apps using the
+ // audio
+ devname = devdir + "dsp0";
+ PTRACE(1, "OSS\tCollectSoundDevices FreeBSD devname set to devfs(5) name:" << devname );
+ #endif
dsp.SetAt(cardnum+1, devname);
}
}
@@ -643,6 +652,7 @@
arg = val = (entry.numChannels == 2) ? 1 : 0;
if (ConvertOSError(::ioctl(os_handle, SNDCTL_DSP_STEREO, &arg)) || (arg != val)) {
+ resampleRate = entry.resampleRate;
mSampleRate = entry.sampleRate;
arg = val = entry.sampleRate;
if (ConvertOSError(::ioctl(os_handle, SNDCTL_DSP_SPEED, &arg))) {