summaryrefslogtreecommitdiff
path: root/devel/pwlib/files/patch-plugins-sound_oss-sound_oss_cxx
blob: 7572b4cf5afdbb380c83eeec97cbe8857bd0d783 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--- 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))) {