[alsa-devel] Bug in setting channels, related to recent ELD/EDID changes?
VDR User
user.vdr at gmail.com
Thu Dec 23 08:13:57 CET 2010
On Wed, Dec 22, 2010 at 9:48 PM, Anssi Hannula <anssi.hannula at iki.fi> wrote:
> On 23.12.2010 04:22, VDR User wrote:
>> Hi. After updating my stable kernel from 2.6.35.7 to 2.6.36.2, I get
>> a problem when tuning HDTV channels that use surround sound. The
>> error I get is as follows:
>>
>> audio_alsa_out: Cannot set number of channels to 6 (err=-22:Invalid argument)
>> audio_out: open failed!
>>
>> With the following xine error:
>> ---------------------- (ERROR) ----------------------
>> The audio device is unavailable. Please verify if another program
>> already uses it.
>>
>> ['Audio device unavailable' '']
>> ------------------ (END OF ERROR) -------------------
>
> What are the contents of /proc/asound/NVidia/eld* and
> /proc/asound/NVidia/codec* ?
Booted into 2.6.35.7 with receiver ON:
$ cat /proc/asound/NVidia_1/eld*
monitor_present 1
eld_valid 1
monitor_name SONY AVAMP
connection_type HDMI
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0xd94d
product_id 0xfb01
port_id 0x20000
support_hdcp 0
support_ai 0
audio_sync_delay 0
speakers [0x5f] FL/FR LFE FC RL/RR RC RLC/RRC
sad_count 6
sad0_coding_type [0x1] LPCM
sad0_channels 2
sad0_rates [0x1ee0] 44100 48000 88200 176400 192000 384000
sad0_bits [0xe0000] 16 20 24
sad1_coding_type [0x1] LPCM
sad1_channels 6
sad1_rates [0x1ee0] 44100 48000 88200 176400 192000 384000
sad1_bits [0xe0000] 16 20 24
sad2_coding_type [0x1] LPCM
sad2_channels 8
sad2_rates [0x1ee0] 44100 48000 88200 176400 192000 384000
sad2_bits [0xe0000] 16 20 24
sad3_coding_type [0x2] AC-3
sad3_channels 6
sad3_rates [0xe0] 44100 48000 88200
sad3_max_bitrate 680000
sad4_coding_type [0x7] DTS
sad4_channels 6
sad4_rates [0x6e0] 44100 48000 88200 176400 192000
sad4_max_bitrate 1536000
sad5_coding_type [0xa] E-AC-3/DD+ (Dolby Digital Plus)
sad5_channels 8
sad5_rates [0xc0] 48000 88200
Booted into 2.6.35.7 with receiver OFF:
$ cat /proc/asound/NVidia_1/eld*
monitor_present 1
eld_valid 1
monitor_name SONY AVAMP
connection_type HDMI
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0xd94d
product_id 0xfb01
port_id 0x20000
support_hdcp 0
support_ai 0
audio_sync_delay 0
speakers [0xffff] FL/FR LFE FC RL/RR RC FLC/FRC RLC/RRC
FLW/FRW FLH/FRH TC FCH
sad_count 1
sad0_coding_type [0x1] LPCM
sad0_channels 2
sad0_rates [0xe0] 44100 48000 88200
sad0_bits [0x20000] 16
$ cat /proc/asound/NVidia_1/codec*
Codec: Nvidia GPU 0a HDMI/DP
Address: 1
Function Id: 0x1
Vendor Id: 0x10de000a
Subsystem Id: 0x10de0101
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
rates [0x0]:
bits [0x0]:
formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Audio Output] wcaps 0x72b1: 8-Channels Digital Stripe CP
Control: name="IEC958 Playback Con Mask", index=0, device=0
Control: name="IEC958 Playback Pro Mask", index=0, device=0
Control: name="IEC958 Playback Default", index=0, device=0
Control: name="IEC958 Playback Switch", index=0, device=0
Device: name="NVIDIA HDMI", type="HDMI", device=3
Converter: stream=6, channel=0
Digital: Enabled
Digital category: 0x0
PCM:
rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
bits [0xe]: 16 20 24
formats [0x5]: PCM AC3
Unsolicited: tag=00, enabled=0
Node 0x05 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
Pincap 0x09000094: OUT Detect HBR HDMI DP
Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
Conn = Digital, Color = Unknown
DefAssociation = 0x1, Sequence = 0x0
Pin-ctls: 0x40: OUT
Unsolicited: tag=05, enabled=1
Connection: 1
0x04
I'm certain at the time I experienced this error, my receiver was
turned off, could this be the cause of the error? If so, this really
needs to be fixed/reworked as many people don't have their receivers
on (to save power usage, noise, etc) unless they specifically
need/want it. In the event a receiver is off and the user is trying
to watch something that requires more then 2 channels, he should
either turn the receiver on, or adjust the speaker arrangement in xine
to stereo -- however, what should not happen is the alsa driver
failing. Maybe a better solution would be to log an error to syslog
or something rather then the driver itself returning an error?
Best regards,
Derek
More information about the Alsa-devel
mailing list