[alsa-devel] ALSA, GStreamer and surround

Takashi Iwai tiwai at suse.de
Thu Mar 29 14:01:50 CEST 2007


At Thu, 29 Mar 2007 13:55:27 +0200,
Christian F.K. Schaller wrote:
> 
> Hi Takashi,
> Thanks for trying to help us with trying to resolve
> http://bugzilla.gnome.org/show_bug.cgi?id=410403. 
> 
> I tested a bit with a 6-channel .wav file and aplay. It seems it shows
> the same issues that we are seeing in GStreamer. Namely that if I try:
> 
> aplay -D front dust51.wav 
> Playing WAVE 'dust51.wav' : Signed 16 bit Little Endian, Rate 48000 Hz,
> Channels 6
> aplay: set_params:905: Channels count non available
> 
> It correctly tells me that it doesn't support outputting this many
> channels. This is fine for GStreamer as it allows our negotiation to
> plug in a downmixing element.
> 
> However if I do:
>  aplay -D default dust51.wav 
> Playing WAVE 'dust51.wav' : Signed 16 bit Little Endian, Rate 48000 Hz,
> Channels 6
> 
> It plays out the 'front' channels, but the remainders just get lost. So
> when outputting to default neither do alsa downmix by itself or fail
> telling you that you don't have the needed 6 channels available.

This is expected behavior.  The "default" PCM is built with plug
player which absorbs the channel / format / rate differences.  The
channels more than two will be disregarded usually.  You can set up
downmixing with plugin, but it isn't so as default.

Trying to figure what it supports make no sense -- because the plug
layer (more or less) supports everything.  The same is true for
plug:XXX PCM definition.

> Since Jan brought up the issue of behaviour differences between
> plug:surround51 ad surround51 I thought I give you the output of that
> too.
> 
> aplay -D surround51:0 dust51.wav 
> Playing WAVE 'dust51.wav' : Signed 16 bit Little Endian, Rate 48000 Hz,
> Channels 6
> aplay: set_params:878: Broken configuration for this PCM: no
> configurations available
> 
> aplay -D plug:surround51:0 dust51.wav 
> Playing WAVE 'dust51.wav' : Signed 16 bit Little Endian, Rate 48000 Hz,
> Channels 6
> ALSA lib pcm_params.c:2152:(snd_pcm_hw_refine_slave) Slave PCM not
> usable
> aplay: set_params:878: Broken configuration for this PCM: no
> configurations available

Which hardware do you have and which alsa-lib version are you using?
surround51 should work in this case...


Takashi


More information about the Alsa-devel mailing list