This has been a problem for me for a while, and I've been thinking about
it quite a bit. I am quite interested in X-terminals, and most of these
have NAS as their sound system. Unfortunately, there are about, oh, 2
Linux programs that support NAS. Nearly all of them just take over
/dev/audio.
I want a solution where I can run some kind of multiplexing program--eg
one program grabs the audio somewhere between a program and the computer's
sound card and sends it off in some way to clients that have registered
for particular audio, which then dispatch it in NAS form over the network.
I am not suggesting that audio be taken out of the kernel or even that no
mixing system go in for single user systems. But what about an addition
to the current device system where any device can be "grabbed" by a device
manager? Every time another program tries to write to that device, the
data actually goes to the device manager, which is "listening" on the
device like it might listen on a network port. Then the device manager
can do what it wants with it.
That way, I could run a software mixer if I wanted to, and make it
invisible to all the programs involved. A kernel-mixer could also be
implemented if userspace is not fast enough for most people. But I would
love to have some kind of system wherein "device managers" could be
implemented. Particularly in my case, I could write an NAS distributor
that sends the right audio out to the right users, over the network. Not
as fast as a kernel space mixer for a single user machine, but better than
absolutely NO sound.
-gorky
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/