http://bugs.winehq.org/show_bug.cgi?id=27917
--- Comment #1 from Andrew Eikum aeikum@codeweavers.com 2011-07-27 08:08:28 CDT --- Thanks for the very nice report.
I think this is technically a bug in FreeBSD's OSS implementation. According to the OSS 4.2 spec[1], the oss_audioinfo.caps member for the default device should contain the PCM_CAP_DEFAULT flag. If you look at your log, you'll see every "caps:" line for each device contains exactly the same flags, modulo input vs. output flags. Wine has logic to handle this flag, but if it's never given, then it just picks the first one. That's what's happening here.
On the other hand, if you follow the PCM_CAP_DEFAULT link[2], you find that it says that flag is completely useless! Why even have it then??? Audio API developers are universally terrible. I'm getting really tired of this.
So it seems there's no reliable way to get the default device. I wonder if there's a way to get the "true" device behind /dev/dsp, like [2] recommends. I'll investigate along these lines and report back.
[1] http://manuals.opensound.com/developer/audio_capabilities.html [2] http://manuals.opensound.com/developer/PCM_CAP_DEFAULT.html