--- 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))) {