http://bugs.winehq.org/show_bug.cgi?id=27956
--- Comment #20 from Andrew Eikum aeikum@codeweavers.com 2011-09-21 09:44:53 CDT --- Well regardless, I did a little more looking into this. What's happening is winecfg's audio file is in mono ADPCM format. ADPCM has to get converted into PCM before being sent to MMDevAPI. We have the ability to do this through msacm32 and imaadp32.acm.
However, imaadp32.acm only supports converting between equal numbers of channels (stereo ADPCM to stereo PCM, or mono ADPCM to mono PCM). Your audio hardware claims not to support mono audio. So we are asking imaadp32.acm to convert from mono ADPCM to stereo PCM, which it cannot do. Windows's ADPCM driver doesn't support this either.
So there's a couple routes to fix this.
We have other msacm32 conversions for stereo <=> mono PCM. So we could chain several conversions together in WinMM to create mono ADPCM => mono PCM => stereo PCM. This might take some thought to avoid infinite chains. This has the advantage of working with any driver backend. But it might not be what Windows does.
Another possibility is to write simple conversion routines in winealsa.drv so that every device supports both stereo and mono sound, either through ALSA or through this crude mixer. This has less opportunity for things to go wrong.
I'll work on investigating how Windows handles this type of situation.