On Sun, 2004-02-01 at 11:02, Daniel Risacher wrote:
Background:
Despite the various and sundry advances in linux audio, I find there
are still legacy apps that are built against the OSS API. This is
problematic since the legacy OSS model has blocking semantics. To get
multiple audio streams, one must use an audio server such as esd,
aRts, etc. Wouldn't it be nice if all the legacy apps "just worked"?
Without blocking each other?
Idea:
Suppose one were to write a kernel module that implemented the OSS
API, but had non-blocking semantics, and instead of driving a sound
card, the module encapsulated the OSS API calls somehow and passed
them back to a user-space audio server.
I might be wrong, but I think this is already possible using the dmix
plugin from alsa-lib.
You'll have to setup a dmix slave and make your OSS emulation use it.
Never tried it myself, though.
So take this with the usual grain of salt.
Jan