Then what about this: http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/conf/cards/SB-XFi.conf;h=eb2218bfdcc704e4bf39e0e0c21539ee7f9ff8f8;hb=HEAD It seems to be allow the "multi-streaming" you mentioned but it doesn't need the multi plugin. Hmm, I feel like definitions for "ttable PCMs" in Echo_Echo3G.conf should be cleaned up... On 18 January 2016 at 09:50, Raymond Yau <superquad.vortex2@xxxxxxxxx> wrote: > >> >> On 18 January 2016 at 00:12, Raymond Yau <superquad.vortex2@xxxxxxxxx> >> wrote: >> > 7> >> > >> > >> >> There is actually ONE card conf, AACI.conf, that supports surround51 >> >> but not surround20/surround41/surround50, but I don't feel like >> >> touching it, coz it's in the ideal state of what I proposed here: >> >> >> >> >> >> http://mailman.alsa-project.org/pipermail/alsa-devel/2016-January/103121.html >> >> >> >> On 17 January 2016 at 03:05, <tom.ty89@xxxxxxxxx> wrote: >> >> > From: Tom Yan <tom.ty89@xxxxxxxxx> >> >> > >> >> > It's the only card conf that make use of surround41.conf and >> >> > surround50.conf but not surround21.conf; Adding it for consistency, >> >> > since >> >> > all three of them are derived from surround51. >> >> > >> >> > Signed-off-by: Tom Yan <tom.ty89@xxxxxxxxx> >> >> > >> >> > diff --git a/src/conf/cards/Echo_Echo3G.conf >> >> > b/src/conf/cards/Echo_Echo3G.conf >> >> > index 766f13f..93d9ce4 100644 >> >> > --- a/src/conf/cards/Echo_Echo3G.conf >> >> > +++ b/src/conf/cards/Echo_Echo3G.conf >> >> > @@ -50,6 +50,40 @@ Echo_Echo3G.pcm.side.0 { >> >> > subdevice 6 >> >> > } >> >> > >> >> > +<confdir:pcm/surround21.conf> >> >> > +Echo_Echo3G.pcm.surround21.0 { >> >> > + @args [ CARD ] >> >> > + @args.CARD { >> >> > + type string >> >> > + } >> >> > + type multi >> >> > + slaves [ >> >> > + { >> >> > + pcm { >> >> > + @func concat >> >> > + strings [ >> >> > + >> >> > "cards.Echo_Echo3G.pcm.front.0:CARD=" $CARD >> >> > + ] >> >> > + } >> >> > + channels 2 >> >> > + } >> >> > + { >> >> > + pcm { >> >> > + @func concat >> >> > + strings [ >> >> > + >> >> > "cards.Echo_Echo3G.pcm.center_lfe.0:CARD=" $CARD >> >> > + ] >> >> > + } >> >> > + channels 2 >> >> > + } >> >> > + ] >> >> > + bindings [ >> >> > + { slave 0 channel 0 } >> >> > + { slave 0 channel 1 } >> >> > + { slave 1 channel 0 } >> >> > + ] >> >> > +} >> >> > + >> > >> > Have you tested with real hardware for surround21 since pulseaudio fail >> > with >> > multi plugin with error -77 ? >> > >> > >> > http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-November/022670.html > >> Nope, not tested with one that uses a card conf that make use of the >> multi plugin. >> >> I just happen to have found this particular conf have surround21 >> missing, so I add it back for consistency: >> >> http://mailman.alsa-project.org/pipermail/alsa-devel/2016-January/103123.html >> >> But I do wonder why some card conf needs the multi plugin while others >> doesn't. I wonder if it had been abused. Feels like it is something >> that should be implemented in the actual driver code instead. > > Those cards allow user to play two audio streams to front and rear devices, > they need multi plugin for multi channel playback > > http://git.alsa-project.org/?p=alsa-plugins.git;a=commit;h=a0693150dfd428fdd4df474efdc6b5e26a41ba21 > > It seem that playback of some plugins can be started at first write when > start threshold is -1 > > Pulseaudio call snd_pcm_start when pcm state is already running _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel