[alsa-devel] ALSA, GStreamer and surround

Takashi Iwai tiwai at suse.de
Thu Mar 29 16:41:39 CEST 2007


At Thu, 29 Mar 2007 16:37:51 +0200,
Christian F.K. Schaller wrote:
> 
> On Thu, 2007-03-29 at 16:17 +0200, Takashi Iwai wrote:
> > At Thu, 29 Mar 2007 15:57:22 +0200,
> > Christian F.K. Schaller wrote:
> > > 
> > > On Thu, 2007-03-29 at 14:01 +0200, Takashi Iwai wrote:
> > > 
> > > <snip>
> > > > > 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...
> > > 
> > > [cschalle at localhost Desktop]$ aplay -l
> > > **** List of PLAYBACK Hardware Devices ****
> > > card 0: I82801DBICH4 [Intel 82801DB-ICH4], device 0: Intel ICH [Intel
> > > 82801DB-ICH4]
> > >   Subdevices: 1/1
> > >   Subdevice #0: subdevice #0
> > > card 0: I82801DBICH4 [Intel 82801DB-ICH4], device 4: Intel ICH - IEC958
> > > [Intel 82801DB-ICH4 - IEC958]
> > >   Subdevices: 1/1
> > >   Subdevice #0: subdevice #0
> > > 
> > > [cschalle at localhost Desktop]$ rpm -qa|grep alsa
> > > alsa-lib-1.0.14-0.1.rc1.fc6
> > > alsa-lib-devel-1.0.14-0.1.rc1.fc6
> > > alsa-tools-1.0.12-4.fc6
> > > alsa-utils-1.0.14-0.1.rc1.fc6
> > 
> > So far, so good.  And which codec chip?
> > 
> > You may see more (sometimes too) verbose errors when you set
> > the environment variable LIBASOUND_DEBUG=1 or 2.  Give it a try.
> > 
> Hi Takashi
> 
> How do I figure out the codec chip?

Grr, sorry, I removed a line while I corected the later sentenses.
Look at /proc/asound/card0/codec97#0/* files.

> Also I am not sure what you are
> looking for here, are you saying that the surround51 device should work
> even on stereo only soundcards?

No, "surround51" is exclusive to 6 channels.

> and by using that Alsa should
> automatically downmix?

Actually, it's a bit complicated.  Currently, "default" PCM is set up
for two channels.  You can override it as 5.1 channels, or even a
virtual 5.1 surround for headphone.  The automatic upmix is also
possible if you set up 5.1 as default.  However, all these things are
not provided "as is".  This is really what we have to consider how to
do better.

I personally am not satisfied by the current implementation from
usability POV.  So, any suggestions for further improvements are
welcome.


thanks,

Takashi


More information about the Alsa-devel mailing list