Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Eric Anholt <eric@anholt.net>, alsa-devel@alsa-project.org
Subject: Re: [RESEND PATCH] conf/cards: add VC4-HDMI card
Date: Mon, 10 Apr 2017 14:35:23 +0200	[thread overview]
Message-ID: <20170410143523.6be657c7@bbrezillon> (raw)
In-Reply-To: <s5hy3v8wj3t.wl-tiwai@suse.de>

On Mon, 10 Apr 2017 14:19:18 +0200
Takashi Iwai <tiwai@suse.de> wrote:

> On Mon, 10 Apr 2017 14:09:11 +0200,
> Boris Brezillon wrote:
> > 
> > Eric, Takashi,
> > 
> > On Fri, 07 Apr 2017 10:20:20 -0700
> > Eric Anholt <eric@anholt.net> wrote:
> >   
> > > Takashi Iwai <tiwai@suse.de> writes:
> > >   
> > > > On Thu, 06 Apr 2017 21:46:29 +0200,
> > > > Eric Anholt wrote:    
> > > >> 
> > > >> Takashi Iwai <tiwai@suse.de> writes:
> > > >>     
> > > >> > On Thu, 02 Mar 2017 11:49:33 +0100,
> > > >> > Boris Brezillon wrote:    
> > > >> >> 
> > > >> >> Add a conf file for the VC4-HDMI sound card.
> > > >> >> 
> > > >> >> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> > > >> >> ---
> > > >> >> Hi,
> > > >> >> 
> > > >> >> Sorry for the noise, but I didn't send this patch to the alsa-lib
> > > >> >> maintainer on my first attempt.
> > > >> >> 
> > > >> >> This patch is adding a card config file for the audio sound card whose
> > > >> >> driver has been submitted here [1] (not accepted yet).
> > > >> >> 
> > > >> >> Since I am a total newbie to the alsa world, I'd like to get some
> > > >> >> feedback on this patch.
> > > >> >> 
> > > >> >> Also, the card only supports 2 to 8 channels, and I wonder if we should
> > > >> >> add a plug element to support mono streams, and where this element
> > > >> >> should be added (after or before the iec958 element).    
> > > >> >
> > > >> > Applied, thanks.    
> > > >> 
> > > >> Thanks!
> > > >> 
> > > >> Any recommendations on how to restructure this so that things like
> > > >> 'aplay' from the console also work by default?    
> > > >
> > > > Well, once after you have your card config in
> > > > /usr/share/alsa/cards/vc4-hdmi.conf, aplay should work as is.
> > > >
> > > > If not, check /proc/asounds output.  The entry looks like
> > > >  0 [ID            ]: DRIVER - SHORTNAME
> > > >                      LONGNAME
> > > >
> > > > and in your case, "DRIVER" must be "vc4-hdmi", as same as the config
> > > > file name.    
> > > 
> > > It doesn't work as is -- the default ends up not having iec958
> > > conversion, so nothing will play.  You can do aplay -D iec958, which
> > > works but only as long as you've got stereo input (it seems plug can't
> > > do mono-to-stereo on iec958 data)  
> > 
> > Sorry for being so silent during the past weeks, but I've been busy
> > with other things and was on vacation last week.  
> 
> Thanks for joining.  I was also slow just because I've been sick and
> off in the last week :-<  Now getting recovered, and resuming the
> task...
> 
> > As Eric explained, we're looking for advices on how to best expose
> > the sound card so that it can be easily used by end-users without
> > requiring advanced options (like -D iec958) or conf tweaking (like
> > declaring an extra plug element before the iec958 one to convert from
> > mono to stereo and then using -D iec958-mono).
> > 
> > Takashi, what do you suggest? Is it possible/acceptable to make iec958
> > the default for this card? What about implicit/automatic mono-to-stereo
> > conversion, is it achievable?  
> 
> Now I looked at your config again, and one likely problem is that you
> wrap plug *before* iec958 plugin.
> 
> vc4-hdmi.pcm.iec958.0 {
> .....
> 	type iec958
> 	slave {
> 		format IEC958_SUBFRAME_LE
> 		pcm {
> 			type plug
> 			slave.pcm {
> 				type hw
> 				card $CARD
> 			}
> 		}
> 	}
> 	status [ $AES0 $AES1 $AES2 $AES3 ]
> }
> 
> Why do you need to wrap with plug there? 

I honestly don't know. As said in my initila submission I'm a total
newbie hence the request for help ;-).

> Instead, it should be
> accessing directly to hw, i.e.
> 
> vc4-hdmi.pcm.iec958.0 {
> 	@args [ CARD AES0 AES1 AES2 AES3 ]
> 	@args.CARD {
> 		type string
> 	}
> 	@args.AES0 {
> 		type integer
> 	}
> 	@args.AES1 {
> 		type integer
> 	}
> 	@args.AES2 {
> 		type integer
> 	}
> 	@args.AES3 {
> 		type integer
> 	}
> 	type iec958
> 	slave {
> 		format IEC958_SUBFRAME_LE
> 		pcm {
> 			type hw
> 			card $CARD
> 		}
> 	}
> 	status [ $AES0 $AES1 $AES2 $AES3 ]
> }
> 
> Then the plug above this plugin should work.
> 
>    % aplay -D plug:hdmi foo.wav

Oh, I didn't know you could dynamically build the pipeline from the
command line.
Note that I'm not including pcm/hdmi.conf, which is probably wrong.

> 
> 
> (Note that plug over plug doesn't work -- that's the likely reason it
>  failed before.)
> 
> 
> Then, about the default PCM: I wonder whether the dmix is feasible at
> all with this kind of setup.  What format does work with this device?

Only IEC958_SUBFRAME_LE

Thanks for your help.

Boris

  reply	other threads:[~2017-04-10 12:35 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-02 10:49 [RESEND PATCH] conf/cards: add VC4-HDMI card Boris Brezillon
2017-03-16 17:28 ` Eric Anholt
2017-03-20 11:06 ` Takashi Iwai
2017-04-06 19:46   ` Eric Anholt
2017-04-07  8:21     ` Takashi Iwai
2017-04-07 17:20       ` Eric Anholt
2017-04-10 12:09         ` Boris Brezillon
2017-04-10 12:19           ` Takashi Iwai
2017-04-10 12:35             ` Boris Brezillon [this message]
2017-04-10 12:42               ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170410143523.6be657c7@bbrezillon \
    --to=boris.brezillon@free-electrons.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=eric@anholt.net \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox