[alsa-devel] [PATCH - alsa-lib 1/1] add surround21 for Echo3G devices

Raymond Yau superquad.vortex2 at gmail.com
Mon Jan 18 02:50:12 CET 2016


>
> On 18 January 2016 at 00:12, Raymond Yau <superquad.vortex2 at gmail.com>
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 at gmail.com> wrote:
> >> > From: Tom Yan <tom.ty89 at gmail.com>
> >> >
> >> > 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 at gmail.com>
> >> >
> >> > 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


More information about the Alsa-devel mailing list