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

Tom Yan tom.ty89 at gmail.com
Mon Jan 18 07:17:37 CET 2016


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 at gmail.com> wrote:
>
>>
>> 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