Posted Jun 9, 2006 18:20 UTC (Fri) by tialaramex
In reply to: Software Mixing
Parent article: Polypaudio, a networked sound server
It took a while, but today's distros get this right. Fedora Core 5 had dmix settings up out of the box and I was able to run as many ALSA apps together sharing the single sound card as I pleased. As far as I can see it detects at runtime if you have hardware mixing on your card (from a list) and if not it uses dmix to simulate it.
Of course dmix doesn't fix OSS applications, but OSS hasn't been anything but a legacy API on Linux for many years now. Might as well complain that SELinux doesn't work with your Minix root filesystem...
"FreeBSD simply does it in-kernel"
The consequence is that your OS kernel is doing resampling, an expensive operation that would ideally be done with FP math, except of course trampling on the FP registers, especially on x86, is too nasty to be worth doing in the OS kernel, so you have some even more complicated integer maths to "kludge" it, and/or you get nasty artifacts depending on which applications you run in which order...
The comparison to Windows (which also does this kernel mixing for run of the mill applications) fails to mention that Vista moves away from that model due to reliability problems. Did I mention the kernel bugs found in the BSD mixer? Found and fixed of course... until next time.
to post comments)