On Wed, 19 Mar 2003, Takashi Iwai wrote: > At Wed, 19 Mar 2003 17:49:51 +0100 (CET), > Jaroslav wrote: > > > > Hi all, > > > > the dmix plugin was extended to support channel bindings and > > mixing code for 32-bit samples (24-bit resolution). > > I'd like to introduce new two plugins (seems also "most wanted" by > > ALSA users): dsnoop and dshare. The dsnoop plugin allows spliting of one > > stream to more applications. And finally the dshare plugin does sharing of > > channels (thus you may use your multi-channel device for separated > > independent tasks). The ALSA configuration syntax for both of new plugins > > is same as for the dmix plugin. Please note that dshare plugin must have > > the bindings section with unique destination channels otherwise it won't > > work. > > great! > it seems that the last meeting stimulated you so effectively :) > > > could you post a couple of example configurations and usages?
Sure. First example is for the dmix plugin and ice1712 (10 playback channels - last two are S/PDIF, so this configuration allows sharing of the S/PDIF jack): pcm.dmix_spdif { type dmix ipc_key 5678293 ipc_key_add_uid yes slave { pcm "hw:0,0" } bindings { 0 8 1 9 } } If you want to share first two analog channels with another applications, simply use the same ipc_key configuration: pcm.dmix_analog { type dmix ipc_key 5678293 ipc_key_add_uid yes slave { pcm "hw:0,0" } bindings { 0 0 1 1 } } Next example is for the dsnoop plugin (also ice1712, S/PDIF capture): pcm.dsnoop_spdif { type dsnoop ipc_key 5978293 ipc_key_add_uid yes slave { pcm "hw:0,0" } bindings { 0 8 1 9 } } If you ommit the "bindings" section, you'll get all channels. Also, you may define more pcm types with same ipc_key configuration with different bindings as well. And finally the dshare plugin (used standard stereo device and using left and right channels separately): pcm.dshare_left { type dshare ipc_key 6678293 ipc_key_add_uid yes slave { pcm "hw:0,0" } bindings { 0 0 } } pcm.dshare_right { type dshare ipc_key 6678293 ipc_key_add_uid yes slave { pcm "hw:0,0" } bindings { 0 1 } } Final words: I am very happy that we can do these things completely in the user space but without client/server mechanisms as we promised at the beginning of the development. Jaroslav ----- Jaroslav Kysela <[EMAIL PROTECTED]> Linux Kernel Sound Maintainer ALSA Project, SuSE Labs ------------------------------------------------------- This SF.net email is sponsored by: Does your code think in ink? You could win a Tablet PC. Get a free Tablet PC hat just for playing. What are you waiting for? http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel