On Sun, 28 Mar 2004 05:31:01 +0200, Ove Kaaven wrote:
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.
OK. Francois seemed to think our own resampling would always be worse than alsalibs resampling - is there a reason we should use our own instead of alsalibs?
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).
In that case I guess my patch was fixing the wrong thing, as I altered it to use the default device instead of hw (though it can be changed back in the registry). I'm still unhappy with the idea of direct access - if we circumvent the ALSA plugins system we'll never co-operate correctly with dmix/asym which is going to result in a ton of user unhappiness once these features are deployed (they are still a bit buggy but getting there fast).
As even Windows these days has decided to drop direct access in favour of software emulation and mixing, why shouldn't we do the same?
thanks -mike