On Monday, February 13, 2012 2:17:13 PM Joerg-Cyril.Hoehle@t-systems.com wrote:
Chris Robinson wrote:
Plain mmdevapi can't do rate conversions
You forgot AUDCLNT_STREAMFLAGS_RATEADJUST since w7.
Interestingly, this flag seems to only have an effect for already-initialized streams. ALSA would need a way to adjust the rate of an opened device for this to work.
It's up to the app or whatever component is using mmdevapi to convert to the rate/channels given by GetMixFormat.
This is misleading in the context of Wine. As I've laid down in http://wiki.winehq.org/Sound?highlight=(Limitations) Wine depends on a non-conforming mmdevapi that accepts all possible formats such as 7192x8x1 for its winmm and DSound to work.
Wine's dsound needs to do its own resampling and mixing to handle secondary buffers, so it should be able to output whatever rate mmdevapi wants. If winmm outputs through dsound, and dsound outputs through mmdevapi, then neither should have a problem with mmdevapi accepting only one rate.