> a next step to get the lowlatency sharing of exclusive PCM devices >is in ALSA CVS - the dmix (direct mixing) plugin.. > How it works? Basically, the playback in driver runs forewer >without any xrun detection. The ring buffer (only just played areas) is >also silenced in each interrupt. Then we have multiple clients and a >process (server) which passes the file descriptor of playback devices to >them. The server also takes care about freeing of used shm memory and >semaphore. > The big step forward is that we share one mmaped ring buffer >accross many processes and each process can add samples into it without >any process<->kernel swaps. Also, each processes are independant, thus >failing of one doesn't break others. It's not multithreaded, we don't need >this mechanism.
this all sounds fabulous, but could you explain a little about what is actually going on here? i'd like to understand the architecture/mechanism a little more deeply in ways that reading the source probably won't provide. this will be a godsend for consumer audio apps, thats for sure! --p ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel