All of lore.kernel.org
 help / color / mirror / Atom feed
* Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
@ 2014-12-02 15:28 bencoxdev
  2014-12-03  7:34 ` David Henningsson
  0 siblings, 1 reply; 12+ messages in thread
From: bencoxdev @ 2014-12-02 15:28 UTC (permalink / raw)
  To: ALSA Mailing list

Hi All,
    I have an Intel HDA compatible device that supports 5.1 digital 
audio output over HDMI. It reports two nodes and two widgets:-

                   Root(0)   
                     |
                    AFG(1)
                    / \
                   /   \
                  /     \
      Audio output(2)    Pin Complex(3)

This setup produces a “Digital Stereo (HDMI) Output” device at user 
level in the operating system.

The codec reports its self  to the operating system as follows 
(from /proc/asound/card0/codec#1)
--------------------------------------------------------------------
AFG Function Id: 0x1 (unsol 1)
No Modem Function Group found
Default PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
--------------------------------------------------------------------
Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
  Device: name="S3 HDMI 1", type="Audio", device=0
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
--------------------------------------------------------------------
Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000090: OUT HDMI
  Pin Default 0x185650f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Red
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x02
--------------------------------------------------------------------

the ELD from the receiving device is:-

monitor_present      1
eld_valid            1
monitor_name         EP-HDMI-RX
connection_type      HDMI
eld_version          [0x2] CEA-861D or below
edid_version         [0x3] CEA-861-B, C or D
manufacture_id       0x1017
product_id           0x901
port_id              0x0
support_hdcp         0
support_ai           1
audio_sync_delay     0
speakers             [0x4f] FL/FR LFE FC RL/RR RLC/RRC

sad_count            2

sad0_coding_type     [0x2] AC-3
sad0_channels        6
sad0_rates           [0xe0] 32000 44100 48000
sad0_max_bitrate     640000

sad1_coding_type     [0x7] DTS
sad1_channels        7
sad1_rates           [0xc0] 44100 48000
sad1_max_bitrate     1536000


Does anyone know what changes would be required to this setup in 
order for the device to be recognised as 
“Digital Surround 5.1 (HDMI) Output” 
by alsa?

TIA
----------------------------------------------------------------------
Regards
Ben
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-02 15:28 Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output? bencoxdev
@ 2014-12-03  7:34 ` David Henningsson
  2014-12-03  7:58   ` Alexander E. Patrakov
  0 siblings, 1 reply; 12+ messages in thread
From: David Henningsson @ 2014-12-03  7:34 UTC (permalink / raw)
  To: bencoxdev, ALSA Mailing list



On 2014-12-02 16:28, bencoxdev@gmail.com wrote:
> Hi All,
>      I have an Intel HDA compatible device that supports 5.1 digital
> audio output over HDMI. It reports two nodes and two widgets:-
>
>                     Root(0)
>                       |
>                      AFG(1)
>                      / \
>                     /   \
>                    /     \
>        Audio output(2)    Pin Complex(3)
>
> This setup produces a “Digital Stereo (HDMI) Output” device at user
> level in the operating system.
>
> The codec reports its self  to the operating system as follows
> (from /proc/asound/card0/codec#1)
> --------------------------------------------------------------------
> AFG Function Id: 0x1 (unsol 1)
> No Modem Function Group found
> Default PCM:
>      rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
>      bits [0xe]: 16 20 24
>      formats [0x1]: PCM
> Default Amp-In caps: N/A
> Default Amp-Out caps: N/A
> GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
> --------------------------------------------------------------------
> Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
>    Device: name="S3 HDMI 1", type="Audio", device=0
>    Converter: stream=0, channel=0
>    Digital:
>    Digital category: 0x0
> --------------------------------------------------------------------
> Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
>    Pincap 0x00000090: OUT HDMI
>    Pin Default 0x185650f0: [Jack] Digital Out at Int HDMI
>      Conn = Digital, Color = Red
>      DefAssociation = 0xf, Sequence = 0x0
>    Pin-ctls: 0x40: OUT
>    Unsolicited: tag=00, enabled=0
>    Connection: 1
>       0x02
> --------------------------------------------------------------------
>
> the ELD from the receiving device is:-
>
> monitor_present      1
> eld_valid            1
> monitor_name         EP-HDMI-RX
> connection_type      HDMI
> eld_version          [0x2] CEA-861D or below
> edid_version         [0x3] CEA-861-B, C or D
> manufacture_id       0x1017
> product_id           0x901
> port_id              0x0
> support_hdcp         0
> support_ai           1
> audio_sync_delay     0
> speakers             [0x4f] FL/FR LFE FC RL/RR RLC/RRC
>
> sad_count            2
>
> sad0_coding_type     [0x2] AC-3
> sad0_channels        6
> sad0_rates           [0xe0] 32000 44100 48000
> sad0_max_bitrate     640000
>
> sad1_coding_type     [0x7] DTS
> sad1_channels        7
> sad1_rates           [0xc0] 44100 48000
> sad1_max_bitrate     1536000
>
>
> Does anyone know what changes would be required to this setup in
> order for the device to be recognised as
> “Digital Surround 5.1 (HDMI) Output”
> by alsa?

You're confusing ALSA and PulseAudio a bit here; I think you should 
first try to get a PulseAudio verbose log ( 
https://wiki.ubuntu.com/PulseAudio/Log ), look for when it tries to open 
hdmi:0,1 in surround 5.1 version and see if you can find errors. Those 
errors might still be ALSA errors though, and come from alsa-lib.


-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-03  7:34 ` David Henningsson
@ 2014-12-03  7:58   ` Alexander E. Patrakov
  2014-12-04 10:55     ` bencoxdev
  0 siblings, 1 reply; 12+ messages in thread
From: Alexander E. Patrakov @ 2014-12-03  7:58 UTC (permalink / raw)
  To: David Henningsson, bencoxdev, ALSA Mailing list

03.12.2014 12:34, David Henningsson wrote:
>
>
> On 2014-12-02 16:28, bencoxdev@gmail.com wrote:
>> Hi All,
>>      I have an Intel HDA compatible device that supports 5.1 digital
>> audio output over HDMI. It reports two nodes and two widgets:-
>>
>>                     Root(0)
>>                       |
>>                      AFG(1)
>>                      / \
>>                     /   \
>>                    /     \
>>        Audio output(2)    Pin Complex(3)
>>
>> This setup produces a “Digital Stereo (HDMI) Output” device at user
>> level in the operating system.
>>
>> The codec reports its self  to the operating system as follows
>> (from /proc/asound/card0/codec#1)
>> --------------------------------------------------------------------
>> AFG Function Id: 0x1 (unsol 1)
>> No Modem Function Group found
>> Default PCM:
>>      rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
>>      bits [0xe]: 16 20 24
>>      formats [0x1]: PCM
>> Default Amp-In caps: N/A
>> Default Amp-Out caps: N/A
>> GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
>> --------------------------------------------------------------------
>> Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
>>    Device: name="S3 HDMI 1", type="Audio", device=0
>>    Converter: stream=0, channel=0
>>    Digital:
>>    Digital category: 0x0
>> --------------------------------------------------------------------
>> Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
>>    Pincap 0x00000090: OUT HDMI
>>    Pin Default 0x185650f0: [Jack] Digital Out at Int HDMI
>>      Conn = Digital, Color = Red
>>      DefAssociation = 0xf, Sequence = 0x0
>>    Pin-ctls: 0x40: OUT
>>    Unsolicited: tag=00, enabled=0
>>    Connection: 1
>>       0x02
>> --------------------------------------------------------------------
>>
>> the ELD from the receiving device is:-
>>
>> monitor_present      1
>> eld_valid            1
>> monitor_name         EP-HDMI-RX
>> connection_type      HDMI
>> eld_version          [0x2] CEA-861D or below
>> edid_version         [0x3] CEA-861-B, C or D
>> manufacture_id       0x1017
>> product_id           0x901
>> port_id              0x0
>> support_hdcp         0
>> support_ai           1
>> audio_sync_delay     0
>> speakers             [0x4f] FL/FR LFE FC RL/RR RLC/RRC
>>
>> sad_count            2
>>
>> sad0_coding_type     [0x2] AC-3
>> sad0_channels        6
>> sad0_rates           [0xe0] 32000 44100 48000
>> sad0_max_bitrate     640000
>>
>> sad1_coding_type     [0x7] DTS
>> sad1_channels        7
>> sad1_rates           [0xc0] 44100 48000
>> sad1_max_bitrate     1536000
>>
>>
>> Does anyone know what changes would be required to this setup in
>> order for the device to be recognised as
>> “Digital Surround 5.1 (HDMI) Output”
>> by alsa?
>
> You're confusing ALSA and PulseAudio a bit here; I think you should
> first try to get a PulseAudio verbose log (
> https://wiki.ubuntu.com/PulseAudio/Log ), look for when it tries to open
> hdmi:0,1 in surround 5.1 version and see if you can find errors. Those
> errors might still be ALSA errors though, and come from alsa-lib.

To add: if your HDMI audio controller was, in fact, made by AMD, then 
PulseAudio 5.0 will not even try to open it in 5.1 mode. This bug has 
been fixed in 6.0-rc1. You can try creating new udev rules if you don't 
want to upgrade. There is a line in /lib/udev/rules.d/90-pulseaudio.rules:

/lib/udev/rules.d/90-pulseaudio.rules:ATTRS{vendor}=="0x8086", 
ENV{PULSE_PROFILE_SET}="extra-hdmi.conf"

All you need to do is to figure out the vendor ID (from lspci -nn) and 
write a similar line to /etc/udev/rules.d/91-my-pulseaudio.rules , then 
run "udevadm trigger" and possibly logout and login again. Or reboot.

However, the upstream fix was to remove the "extra-hdmi.conf" file 
completely and merge all profiles contained there to the default set.

-- 
Alexander E. Patrakov
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-03  7:58   ` Alexander E. Patrakov
@ 2014-12-04 10:55     ` bencoxdev
  2014-12-04 12:08       ` Raymond Yau
  2014-12-04 12:34       ` Alexander E. Patrakov
  0 siblings, 2 replies; 12+ messages in thread
From: bencoxdev @ 2014-12-04 10:55 UTC (permalink / raw)
  To: Alexander E. Patrakov, David Henningsson, ALSA Mailing list

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?

TIA
-----------------------------------------------------------------------------
Regards
Ben

From: Alexander E. Patrakov 
Sent: Wednesday, December 03, 2014 7:58 AM
To: David Henningsson ; bencoxdev@gmail.com ; ALSA Mailing list 
Subject: Re: [alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
03.12.2014 12:34, David Henningsson wrote:
>
>
> On 2014-12-02 16:28, bencoxdev@gmail.com wrote:
>> Hi All,
>>      I have an Intel HDA compatible device that supports 5.1 digital
>> audio output over HDMI. It reports two nodes and two widgets:-
>>
>>                     Root(0)
>>                       |
>>                      AFG(1)
>>                      / \
>>                     /   \
>>                    /     \
>>        Audio output(2)    Pin Complex(3)
>>
>> This setup produces a “Digital Stereo (HDMI) Output” device at user
>> level in the operating system.
>>
>> The codec reports its self  to the operating system as follows
>> (from /proc/asound/card0/codec#1)
>> --------------------------------------------------------------------
>> AFG Function Id: 0x1 (unsol 1)
>> No Modem Function Group found
>> Default PCM:
>>      rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
>>      bits [0xe]: 16 20 24
>>      formats [0x1]: PCM
>> Default Amp-In caps: N/A
>> Default Amp-Out caps: N/A
>> GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
>> --------------------------------------------------------------------
>> Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
>>    Device: name="S3 HDMI 1", type="Audio", device=0
>>    Converter: stream=0, channel=0
>>    Digital:
>>    Digital category: 0x0
>> --------------------------------------------------------------------
>> Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
>>    Pincap 0x00000090: OUT HDMI
>>    Pin Default 0x185650f0: [Jack] Digital Out at Int HDMI
>>      Conn = Digital, Color = Red
>>      DefAssociation = 0xf, Sequence = 0x0
>>    Pin-ctls: 0x40: OUT
>>    Unsolicited: tag=00, enabled=0
>>    Connection: 1
>>       0x02
>> --------------------------------------------------------------------
>>
>> the ELD from the receiving device is:-
>>
>> monitor_present      1
>> eld_valid            1
>> monitor_name         EP-HDMI-RX
>> connection_type      HDMI
>> eld_version          [0x2] CEA-861D or below
>> edid_version         [0x3] CEA-861-B, C or D
>> manufacture_id       0x1017
>> product_id           0x901
>> port_id              0x0
>> support_hdcp         0
>> support_ai           1
>> audio_sync_delay     0
>> speakers             [0x4f] FL/FR LFE FC RL/RR RLC/RRC
>>
>> sad_count            2
>>
>> sad0_coding_type     [0x2] AC-3
>> sad0_channels        6
>> sad0_rates           [0xe0] 32000 44100 48000
>> sad0_max_bitrate     640000
>>
>> sad1_coding_type     [0x7] DTS
>> sad1_channels        7
>> sad1_rates           [0xc0] 44100 48000
>> sad1_max_bitrate     1536000
>>
>>
>> Does anyone know what changes would be required to this setup in
>> order for the device to be recognised as
>> “Digital Surround 5.1 (HDMI) Output”
>> by alsa?
>
> You're confusing ALSA and PulseAudio a bit here; I think you should
> first try to get a PulseAudio verbose log (
> https://wiki.ubuntu.com/PulseAudio/Log ), look for when it tries to open
> hdmi:0,1 in surround 5.1 version and see if you can find errors. Those
> errors might still be ALSA errors though, and come from alsa-lib.

To add: if your HDMI audio controller was, in fact, made by AMD, then 
PulseAudio 5.0 will not even try to open it in 5.1 mode. This bug has 
been fixed in 6.0-rc1. You can try creating new udev rules if you don't 
want to upgrade. There is a line in /lib/udev/rules.d/90-pulseaudio.rules:

/lib/udev/rules.d/90-pulseaudio.rules:ATTRS{vendor}=="0x8086", 
ENV{PULSE_PROFILE_SET}="extra-hdmi.conf"

All you need to do is to figure out the vendor ID (from lspci -nn) and 
write a similar line to /etc/udev/rules.d/91-my-pulseaudio.rules , then 
run "udevadm trigger" and possibly logout and login again. Or reboot.

However, the upstream fix was to remove the "extra-hdmi.conf" file 
completely and merge all profiles contained there to the default set.

-- 
Alexander E. Patrakov
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-04 10:55     ` bencoxdev
@ 2014-12-04 12:08       ` Raymond Yau
  2014-12-04 12:34       ` Alexander E. Patrakov
  1 sibling, 0 replies; 12+ messages in thread
From: Raymond Yau @ 2014-12-04 12:08 UTC (permalink / raw)
  To: bencoxdev; +Cc: ALSA Mailing list, Alexander E. Patrakov, David Henningsson

> 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?
>

http://git.alsa-project.org/?p=alsa-plugins.git;a=blob;f=doc/a52.txt;hb=HEAD

card number and channels are  hardcoded

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-04 10:55     ` bencoxdev
  2014-12-04 12:08       ` Raymond Yau
@ 2014-12-04 12:34       ` Alexander E. Patrakov
  2014-12-05  2:33         ` Raymond Yau
  2014-12-05  9:41         ` bencoxdev
  1 sibling, 2 replies; 12+ messages in thread
From: Alexander E. Patrakov @ 2014-12-04 12:34 UTC (permalink / raw)
  To: bencoxdev, David Henningsson, ALSA Mailing list

04.12.2014 15:55, bencoxdev@gmail.com wrote:
> 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.

Please see my earlier reply how to force PulseAudio into opening the 
correct HDMI device.

-- 
Alexander E. Patrakov

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-04 12:34       ` Alexander E. Patrakov
@ 2014-12-05  2:33         ` Raymond Yau
  2014-12-05  9:41         ` bencoxdev
  1 sibling, 0 replies; 12+ messages in thread
From: Raymond Yau @ 2014-12-05  2:33 UTC (permalink / raw)
  To: Alexander E. Patrakov; +Cc: bencoxdev, ALSA Mailing list, David Henningsson

>> 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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-04 12:34       ` Alexander E. Patrakov
  2014-12-05  2:33         ` Raymond Yau
@ 2014-12-05  9:41         ` bencoxdev
  2014-12-05 10:49           ` Alexander E. Patrakov
  1 sibling, 1 reply; 12+ messages in thread
From: bencoxdev @ 2014-12-05  9:41 UTC (permalink / raw)
  To: Alexander E. Patrakov, David Henningsson, ALSA Mailing list

Hi Alexander,
             Thanks for looking at this for me. I have followed your earlier advice on setting up the correct HDMI device, unfortunately it doesn’t seem to have changed the situation.

    I am trying to achieve AC3 pass-through and not decode/encode the audio. Any thoughts that you may have about this would be much appreciated.

TIA
Ben

From: Alexander E. Patrakov 
Sent: Thursday, December 04, 2014 12:34 PM
To: bencoxdev@gmail.com ; David Henningsson ; ALSA Mailing list 
Subject: Re: [alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
04.12.2014 15:55, bencoxdev@gmail.com wrote:

  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.

Please see my earlier reply how to force PulseAudio into opening the correct HDMI device.

-- 
Alexander E. Patrakov
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-05  9:41         ` bencoxdev
@ 2014-12-05 10:49           ` Alexander E. Patrakov
  2014-12-08 14:40             ` bencoxdev
  0 siblings, 1 reply; 12+ messages in thread
From: Alexander E. Patrakov @ 2014-12-05 10:49 UTC (permalink / raw)
  To: bencoxdev, David Henningsson, ALSA Mailing list

05.12.2014 14:41, bencoxdev@gmail.com wrote:
> Hi Alexander,
> Thanks for looking at this for me. I have followed your earlier advice
> on setting up the correct HDMI device, unfortunately it doesn’t seem to
> have changed the situation.
>      I am trying to achieve AC3 pass-through and not decode/encode the
> audio. Any thoughts that you may have about this would be much appreciated.
> TIA
> Ben

First of all, some more information about your setup is needed.

1. ALSA-info:

wget http://www.alsa-project.org/alsa-info.sh
bash alsa-info.sh

This will upload the information to a central database and print out the 
link. Please post the link.

2. Full PulseAudio log

killall pulseaudio ; pulseaudio -vvv 2>&1 | tee -a pulse.log

(All in one line, with a ";" in the middle, in order to win the race 
against autorespawn. If it says "daemon already running", just try again.)

Please post the log on some pastebin and provide a link here.

3. An attempt to use speaker-test. Please try this command for all 
values of X from 0 to 3 and for all values of Y from 0 to 3:

pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'"

During one of the tests, it will hiss into your receiver. Please make a 
note of the correct X and Y values (for correlation with PulseAudio 
logs), and whether it hissed into each speaker separately.

Then, more information about your intentions is needed. Why are you 
talking about AC3 passthrough? I am asking because there are two ways to 
output 5.1 audio over HDMI: software decoding on a PC (which is IMHO 
preferable) and AC3 passthrough (i.e. hardware decoding on the receiving 
end, which requires a player that actually supports this feature when 
used with PulseAudio [which basically means "not mplayer"], and makes 
sense only on very slow CPUs or if the HDMI device is actually some dumb 
HDMI-to-SPDIF converter).

The correct profile to use is "Digital Surround 5.1 (HDMI) Output", 
which, due to a bug that I have already explained how to work around, is 
only available on "true" Intel and NVidia video cards as of PulseAudio 5.0.

-- 
Alexander E. Patrakov
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-05 10:49           ` Alexander E. Patrakov
@ 2014-12-08 14:40             ` bencoxdev
  2014-12-08 16:38               ` Alexander E. Patrakov
  0 siblings, 1 reply; 12+ messages in thread
From: bencoxdev @ 2014-12-08 14:40 UTC (permalink / raw)
  To: Alexander E. Patrakov, David Henningsson, ALSA Mailing list

Hi Alexander,
             Thanks for looking at this for me it is very much appreciated. 
 
Please see below the details from the all the logs; as you requested. I’ve had to omit a 
few details (vendor names and ID’s) as this project is pre-release and I am under N.D.A.  
There should still be sufficient information there for you, but if you do need anything 
specific please let me know and I’ll try requesting permission to release more details. 



1)      The ALSA-info log can be found at:- http://pastebin.com/L1JRz5yC

2)      The PulseAudio log is at:- http://pastebin.com/svJgR2dk

3)      Speaker test results:-

Using  pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'"

X              Y              Result
------------------------------------------------------------------------------------------
0              0              Hiss left Front and Right Front, others silent
0              1              Playback open error: -2, No such file or directory
0              2              Playback open error: -2, No such file or directory
0              3              Playback open error: -2, No such file or directory
1              0              Playback open error: -2, No such file or directory
1              1              Playback open error: -2, No such file or directory
1              2              Playback open error: -2, No such file or directory
1              3              Playback open error: -2, No such file or directory
2              0              Playback open error: -2, No such file or directory
2              1              Playback open error: -2, No such file or directory
2              2              Playback open error: -2, No such file or directory
2              3              Playback open error: -2, No such file or directory
3              0              Playback open error: -2, No such file or directory
3              1              Playback open error: -2, No such file or directory
3              2              Playback open error: -2, No such file or directory
3              3              Playback open error: -2, No such file or directory



Ideally I would like to use pass-through mode because the intended display device can handle 
AC3 5.1 without issue; and so I would prefer not to put the decoding load onto the CPU (as 
it’s a low powered device).  I have been assured by the hardware vendor that the chip is 
capable of Digital pass-through of 5.1 audio.

------------------------------------------------------------------------------------------
TIA
Ben.

From: Alexander E. Patrakov 
Sent: Friday, December 05, 2014 10:49 AM
To: bencoxdev@gmail.com ; David Henningsson ; ALSA Mailing list 
Subject: Re: [alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
05.12.2014 14:41, bencoxdev@gmail.com wrote:
> Hi Alexander,
> Thanks for looking at this for me. I have followed your earlier advice
> on setting up the correct HDMI device, unfortunately it doesn’t seem to
> have changed the situation.
>      I am trying to achieve AC3 pass-through and not decode/encode the
> audio. Any thoughts that you may have about this would be much appreciated.
> TIA
> Ben

First of all, some more information about your setup is needed.

1. ALSA-info:

wget http://www.alsa-project.org/alsa-info.sh
bash alsa-info.sh

This will upload the information to a central database and print out the 
link. Please post the link.

2. Full PulseAudio log

killall pulseaudio ; pulseaudio -vvv 2>&1 | tee -a pulse.log

(All in one line, with a ";" in the middle, in order to win the race 
against autorespawn. If it says "daemon already running", just try again.)

Please post the log on some pastebin and provide a link here.

3. An attempt to use speaker-test. Please try this command for all 
values of X from 0 to 3 and for all values of Y from 0 to 3:

pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'"

During one of the tests, it will hiss into your receiver. Please make a 
note of the correct X and Y values (for correlation with PulseAudio 
logs), and whether it hissed into each speaker separately.

Then, more information about your intentions is needed. Why are you 
talking about AC3 passthrough? I am asking because there are two ways to 
output 5.1 audio over HDMI: software decoding on a PC (which is IMHO 
preferable) and AC3 passthrough (i.e. hardware decoding on the receiving 
end, which requires a player that actually supports this feature when 
used with PulseAudio [which basically means "not mplayer"], and makes 
sense only on very slow CPUs or if the HDMI device is actually some dumb 
HDMI-to-SPDIF converter).

The correct profile to use is "Digital Surround 5.1 (HDMI) Output", 
which, due to a bug that I have already explained how to work around, is 
only available on "true" Intel and NVidia video cards as of PulseAudio 5.0.

-- 
Alexander E. Patrakov
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-08 14:40             ` bencoxdev
@ 2014-12-08 16:38               ` Alexander E. Patrakov
  2014-12-08 17:42                 ` bencoxdev
  0 siblings, 1 reply; 12+ messages in thread
From: Alexander E. Patrakov @ 2014-12-08 16:38 UTC (permalink / raw)
  To: bencoxdev, David Henningsson, ALSA Mailing list

08.12.2014 19:40, bencoxdev@gmail.com wrote:
> Hi Alexander,
> Thanks for looking at this for me it is very much appreciated.
> Please see below the details from the all the logs; as you requested.
> I’ve had to omit a
> few details (vendor names and ID’s) as this project is pre-release and I
> am under N.D.A.

Unfortunately, you have leaked both the graphics vendor (through 
excessive blocking of it) and the TV/monitor vendor (through ELD). So 
you both broke the NDA and prevented me from troubleshooting further. I 
thought I needed the vendor IDs in order to match them against udev 
rules, but see below. Still, a fail-fail situation, especially since 
there are a lot of other hobby projects using development boards with 
the graphics and audio chips from the same vendor.

But indeed, there is information in the log that gives a big clue. You 
are using PulseAudio 1.1, and configured it not to use udev rules (so 
knowledge of a vendor ID is now useless). Also, it cannot autodetect 5.1 
PCM over HDMI with udev rules. It is also not supported anymore. My 
recommendation would be to either upgrade (which is impossible on the 
Ubuntu 12.04 platform) or to drop the use of PulseAudio altogether if 
you are stuck with this ancient userspace.

For enabling passthrough in PulseAudio, you would need to run 
pavucontrol and place a checkbox in the AC3 and DTS fields. Alternatively:

pactl set-sink-formats 0 'pcm;ac3-iec61937;dts-iec61937'

...where 0 is the sink index.

And also you need to find a player that supports this passthrough 
feature, and, if you are using GStreamer, also to make sure that the 
installed version supports passthrough. On such ancient platform, I'd 
recommend against it.

For PCM 5.1 (i.e. software decoding) with PulseAudio 1.1, you need a 
real 5.1 receiver and this command:

pacmd load-module module-alsa-sink device=hdmi:0,0 channels=6

> Using  pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'"
> X Y Result
> ------------------------------------------------------------------------------------------
> 0 0 Hiss left Front and Right Front, others silent
> (everything else) Playback open error: -2, No such file or directory

Try retesting plug:'hdmi:0,0' with a real 5.1 HDMI receiver (e.g. from 
Onkyo), not with a Samsung TV/monitor (that only advertises the presence 
of Front-Left and Front-Right channels and LPCM encoding in the ELD).

-- 
Alexander E. Patrakov
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
  2014-12-08 16:38               ` Alexander E. Patrakov
@ 2014-12-08 17:42                 ` bencoxdev
  0 siblings, 0 replies; 12+ messages in thread
From: bencoxdev @ 2014-12-08 17:42 UTC (permalink / raw)
  To: Alexander E. Patrakov, David Henningsson, ALSA Mailing list

Hi Alexander,
             Thanks for your efforts on this. Unfortunately I’m stuck with the current platform I have. However do not have to use pulse-audio and could use alsa directly.

    The pasuspender tests were done with a Yamaha HER-2866 surround sound amplifier, as the HDMI target device, the results were as given previously. 

    Any thoughts on using the alsa directly and how to set it up to offer the required output format in this scenario would be much appreciated.

Tia
Ben

From: Alexander E. Patrakov 
Sent: Monday, December 08, 2014 4:38 PM
To: bencoxdev@gmail.com ; David Henningsson ; ALSA Mailing list 
Subject: Re: [alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
08.12.2014 19:40, bencoxdev@gmail.com wrote:
> Hi Alexander,
> Thanks for looking at this for me it is very much appreciated.
> Please see below the details from the all the logs; as you requested.
> I’ve had to omit a
> few details (vendor names and ID’s) as this project is pre-release and I
> am under N.D.A.

Unfortunately, you have leaked both the graphics vendor (through 
excessive blocking of it) and the TV/monitor vendor (through ELD). So 
you both broke the NDA and prevented me from troubleshooting further. I 
thought I needed the vendor IDs in order to match them against udev 
rules, but see below. Still, a fail-fail situation, especially since 
there are a lot of other hobby projects using development boards with 
the graphics and audio chips from the same vendor.

But indeed, there is information in the log that gives a big clue. You 
are using PulseAudio 1.1, and configured it not to use udev rules (so 
knowledge of a vendor ID is now useless). Also, it cannot autodetect 5.1 
PCM over HDMI with udev rules. It is also not supported anymore. My 
recommendation would be to either upgrade (which is impossible on the 
Ubuntu 12.04 platform) or to drop the use of PulseAudio altogether if 
you are stuck with this ancient userspace.

For enabling passthrough in PulseAudio, you would need to run 
pavucontrol and place a checkbox in the AC3 and DTS fields. Alternatively:

pactl set-sink-formats 0 'pcm;ac3-iec61937;dts-iec61937'

...where 0 is the sink index.

And also you need to find a player that supports this passthrough 
feature, and, if you are using GStreamer, also to make sure that the 
installed version supports passthrough. On such ancient platform, I'd 
recommend against it.

For PCM 5.1 (i.e. software decoding) with PulseAudio 1.1, you need a 
real 5.1 receiver and this command:

pacmd load-module module-alsa-sink device=hdmi:0,0 channels=6

> Using  pasuspender -- speaker-test -c6 -b 125000 -P2 -D "plug:'hdmi:X,Y'"
> X Y Result
> ------------------------------------------------------------------------------------------
> 0 0 Hiss left Front and Right Front, others silent
> (everything else) Playback open error: -2, No such file or directory

Try retesting plug:'hdmi:0,0' with a real 5.1 HDMI receiver (e.g. from 
Onkyo), not with a Samsung TV/monitor (that only advertises the presence 
of Front-Left and Front-Right channels and LPCM encoding in the ELD).

-- 
Alexander E. Patrakov
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-12-08 17:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-02 15:28 Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output? bencoxdev
2014-12-03  7:34 ` David Henningsson
2014-12-03  7:58   ` Alexander E. Patrakov
2014-12-04 10:55     ` bencoxdev
2014-12-04 12:08       ` Raymond Yau
2014-12-04 12:34       ` Alexander E. Patrakov
2014-12-05  2:33         ` Raymond Yau
2014-12-05  9:41         ` bencoxdev
2014-12-05 10:49           ` Alexander E. Patrakov
2014-12-08 14:40             ` bencoxdev
2014-12-08 16:38               ` Alexander E. Patrakov
2014-12-08 17:42                 ` bencoxdev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.