[alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?

Raymond Yau superquad.vortex2 at gmail.com
Fri Dec 5 03:33:20 CET 2014


>> Hi Guys,
>>     Thank you for your input it's much appreciated.
>>     I have now produced the pulse audio log as suggested and it appears
that
>> when an attempt to open the Digital Surround 5.1 device, it fails with a
>> "No such file or directory" error. Here is a snippet of the log showing
the
>> error.
>> (   0.456|   0.000) D: [pulseaudio] alsa-mixer.c: Looking at profile
output:iec958-ac3-surround-51
>> (   0.456|   0.000) D: [pulseaudio] alsa-mixer.c: Checking for playback
on Digital Surround 5.1 (IEC958/AC3) (iec958-ac3-surround-51)
>> (   0.456|   0.000) D: [pulseaudio] alsa-util.c: Trying a52:1 with
SND_PCM_NO_AUTO_FORMAT ...
>> (   0.456|   0.000) I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM a52:1
>> (   0.456|   0.000) I: [pulseaudio] alsa-util.c: Error opening PCM
device a52:1: No such file or directory
>> So I guess the next question is what is responsible for producing the
>> required device?
>
>
> This is not the correct device. This is a software encoder that is not
installed on your computer. It will degrade audio quality by compression,
eat CPU time, kill PulseAudio for exhausting the real-time budget, and is
generally not needed on HDMI, because HDMI can transport PCM 5.1 streams
just fine.

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/hda_proc.c?id=c4920606757224d0c480f25839f1cef6901a2167

Multi channel lpcm seem need AC_WCAP_CHAN_CNT_EXT

+ if (wid_caps & AC_WCAP_STEREO) {
+ unsigned int chans;
+ chans = (wid_caps & AC_WCAP_CHAN_CNT_EXT) >> 13;
+ chans = ((chans << 1) | 1) + 1;
+ if (chans == 2)
+ snd_iprintf(buffer, " Stereo");
+ else
+ snd_iprintf(buffer, " %d-Channels", chans);
+ } else


More information about the Alsa-devel mailing list