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

David Henningsson david.henningsson at canonical.com
Wed Dec 3 08:34:23 CET 2014



On 2014-12-02 16:28, bencoxdev at 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


More information about the Alsa-devel mailing list