Another thing i wonder about is whether Windows lets you play 11kHz sounds with WAVE_FORMAT_DIRECT using winmm and an i810 soundcard. If not then my winmm test is incorrect, and if yes then I have to wonder what WAVE_FORMAT_DIRECT really means. So if someone can send me these results...
well, it may also depends on who is in charge to "understand" the WAVE_FORMAT_DIRECT: - from what I understand from the doc (I didn't actually tested under windows), WAVE_FORMAT_DIRECT tells winmm not to perform frequency modification if the driver doesn't support the requested format - it doesn't state that the driver shouldn't do any transformation by itself
A+
I don't know why the mmap fails. I would tend to think this is a limitation or bug of the Alsa driver since it works with the OSS driver.
do you mean - wine OSS driver on a Linux OSS emulation on ALSA driver - or wine ALSA driver on a Linux ALSA driver the later could have still quite a few issues
anyway, there are also a couple of issues we may have to look after: - the driver interface used always comes from a single audio driver (even if multiple audio drivers are installed in wine) - trying to get rid of wine's DRV_QUERYDSOUNDIFACE... a bit more hacky... one solution would be (as MS does) to install in the registry all the required settings for our sound drivers (including a guid for each wave out, wave in... so that we could bind dsound to each of those drivers) - getting rid of WAVE_DIRECTSOUND... I didn't look at all the details... but, wouldn't the semantics of open&setformat methods of the IDsDriver be enough for that
A+