On Thu, 2007-03-29 at 16:41 +0200, Takashi Iwai wrote:
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@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@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
Ok, so the content of that file is: 0-0/0: SigmaTel STAC9750,51
PCI Subsys Vendor: 0x1028 PCI Subsys Device: 0x0191
Capabilities : -headphone out- DAC resolution : 20-bit ADC resolution : 20-bit 3D enhancement : SigmaTel 3D Enhancement
Current setup Mic gain : +20dB [+20dB] POP path : pre 3D Sim. stereo : off 3D enhancement : off Loudness : off Mono output : MIX Mic select : Mic1 ADC/DAC loopback : off Extended ID : codec=0 rev=1 AMAP DSA=0 SPDIF VRA Extended status : SPCV SPDIF=10/11 VRA PCM front DAC : 48000Hz PCM ADC : 48000Hz SPDIF Control : Consumer PCM Category=0x2 Generation=1 Rate=48kHz
So my suggestion so far when we have been discussing this inside the GStreamer community is to use 'front' as default device instead of 'default'.
That way we will always play(downmix) all channels and nobody 'lose' sound. We can then provide configuration GUI's like Totem do to override this when people have surround capable systems (meaning both capable card and connected speakers). Do this sound like a reasonable approach t you?
Christian