[alsa-devel] [PATCH] pcm: route: Don't handle no matching chmap as a serious error

Takashi Iwai tiwai at suse.de
Tue Mar 18 17:34:34 CET 2014


At Tue, 18 Mar 2014 17:19:29 +0100,
David Henningsson wrote:
> 
> On 03/18/2014 03:27 PM, Takashi Iwai wrote:
> > When find_matching_chmap() returns an error for the non-matching
> > chmap, the caller, snd_pcm_route_open(), also returns an error
> > although it shouldn't be handled as the fatal error.  This results in
> > the probe error with PulseAudio and it gives no real output in the
> > end.
> 
> Hmm, could you give a more specific example? In case the driver does not
> support channel maps at all, that case is handled in the beginning of
> the function.

Well, the problem is that PulseAudio doesn't work at all with the
current alsa-lib git prior to the commit in some cases.  That is, the
commit brought some incompatibility.

> So this only happens if the driver supports channel maps, but only
> non-compatible with the requested map. In which case I believe it's
> correct that the probing should fail...?

Could you check whether PA 5.0 works as is with alsa-lib git (before
the last fix)?  It could be seen on some desktop machines.


Takashi

> 
> > 
> > Signed-off-by: Takashi Iwai <tiwai at suse.de>
> > ---
> >  src/pcm/pcm_route.c | 4 +---
> >  1 file changed, 1 insertion(+), 3 deletions(-)
> > 
> > diff --git a/src/pcm/pcm_route.c b/src/pcm/pcm_route.c
> > index ab17fa78be2c..ac11bdc8adfd 100644
> > --- a/src/pcm/pcm_route.c
> > +++ b/src/pcm/pcm_route.c
> > @@ -940,10 +940,8 @@ static int find_matching_chmap(snd_pcm_t *spcm, snd_pcm_chmap_t *tt_chmap,
> >  
> >  	snd_pcm_free_chmaps(chmaps);
> >  
> > -	if (*found_chmap == NULL) {
> > +	if (*found_chmap == NULL)
> >  		SNDERR("Found no matching channel map");
> > -		return -EINVAL;
> > -	}
> >  	return 0;
> >  }
> >  
> > 
> 
> 
> 
> -- 
> David Henningsson, Canonical Ltd.
> https://launchpad.net/~diwic
> 


More information about the Alsa-devel mailing list