WARNING: Unsanitized content follows.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi guys,

In the last few days I have been reading a lot about how to mix streams into 
one in order to allow *weak* soundcards to play multiple streams, even though 
they cant do that in hardware. This seems to be doable with dmix. Also, I 
have thought about the situation where the capture devices are used up, for 
this I found the plugin "dsnoop". 
After thinking a bit about the situation I thought the following would be a 
great idea (a feature suggestion to alsa):

Alsa knows howmany playback and howmany capture devices it has, and it also 
knows howmany times they can be opened. So, the result are two numbers:
The amount of streams that can be played back in hardware, AND
The amount of times an application can open a capture stream.

So, these are two numbers - and basicly all is fine as long as you dont want 
to excede them, but if you do, you need to use dmix or dsnoop. Why not use 
dmix and dsnoop automaticly when necessary ? Wouldnt it be possible to have 
every application play through something like a "smartdmix", that would just 
pass on the sound-streams to real-world devices, as long as there are still 
playback devices that can handle annother stream...once the user opens a 
playback stream while there is no *free*slot* for it, the "smartdmix" would 
start mixing this stream with one of the already existing streams, making it 
possible to play back although the hardware wouldnt have supported the extra 
stream.
Same idea with the capture part...as long as there are still capture devices a 
utility called "smartdsnoop" would just pass on the capture stream directly 
from the existing capture device, and only once the first application is 
opened that claims to need to capture and for which there is no free capture 
device, smartdsnoop would split one capture stream into two - and so be able 
to serve this new application.

After all this babble, here is what I expect from the above:
- - Near zero overhead as long as the system uses the soundcard in the limits 
the soundcard provides.
- - Support for any amount of playback and capture streams, no matter on what 
soundcard (provided of course the soundcard has at least one playback and one 
capture device :D).
- - Near zero configuration/tuning work needed to be done by the user, all done 
by smartdmix and smartdsnoop.
- - Low cpu and latency misuse  - since the *mixing* or *spliting* capabilities 
are only activated when needed, and deactivated when not used anymore.

Hope to hear your opinions on this,
Peter
- -- 
Take what you can use and let the rest go by.
                -- Ken Kesey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/tDNJg2ieGvTmHiURAl0XAJ9iEIqiEQAfhGElsAh8ddNtBu9YKQCbB7qF
jx5IU70naqNZrMbYtejShFY=
=dFm/
-----END PGP SIGNATURE-----



-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to