lør, 27.03.2004 kl. 20.40 skrev Mike Hearn:
On Sat, 27 Mar 2004 14:36:31 -0500, Robert Reif wrote:
Another problem is that drivers support different formats in different modes. Because of software emulation in alsa, a driver may appear to support any format but then fail when you try to mmap it because then software conversions can't come into play.
I talked with one of the ALSA developers on IRC a day or two ago, and he appeared to think mmap would work regardless of what plugin chain was in use (resampling/conversion is implemented in alsa plugins). He said if it didn't work it was a bug.
Only if you don't use kernel-level OSS emulation or the "hw" alsa device, I think. If you use alsa with the "default" or "plughw" devices, plugins will resample for you (and those plugins are able to "fake" mmaps). I'd think it's probably not a good idea to use ALSA plugins instead of Wine's own resampling functions, though.
IIRC in XP DirectSound primary buffers no longer correspond to the sound cards memory, they are just like any other and sent to the XP kernel mixer. Is it possible the same is now true of ALSA?
You can still go straight to the card's DMA buffer if you avoid plugins (either by setting a sample rate that matches the card's, or by using the "hw" device... and you probably need the latter anyway to find out which sample rates the card supports).