[pulseaudio-discuss] Autocreate both HDMI and analog sink when detecting audiocard
Lode Cools
lode.cools1 at gmail.com
Mon May 30 14:06:57 UTC 2016
I think this problem is a variation on the "under-enumeration"
discussion which was held earlier.
https://lists.freedesktop.org/archives/pulseaudio-discuss/2010-August/007545.html
ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html#_under_enumeration_of_hdmi_devices
I think, currently, we do not have any other solution than to call
'load-module module-alsa-sink' if we want more than 1 sink on a card.
In my opinion, this is hack-ish since the PulseAudio documentation
itself mentions that this module should (almost) never be called
manually.
kind regards,
Lode
On Fri, May 27, 2016 at 4:11 PM, Lode Cools <lode.cools1 at gmail.com> wrote:
> Hello,
>
> I have a particular audio card which provides both analog and HDMI output.
>
> CARDINFO:
> CARDINFO{id}="PCH"
> CARDINFO{card}="0"
> CARDINFO{driver}="HDA-Intel"
> CARDINFO{name}="HDA Intel PCH"
> CARDINFO{longname}="HDA Intel PCH at 0xdf140000 irq 127"
> CARDINFO{mixername}="Intel Skylake HDMI"
> CARDINFO{components}="HDA:10ec0283,80862063,00100003
> HDA:80862809,80860101,00100000"
> sysfs:
> ATTR{class}="0x040300"
> ATTR{driver}="snd_hda_intel"
> ATTR{vendor}="0x8086"
> ATTR{device}="0x9d70"
> ATTR{subsystem_vendor}="0x8086"
> ATTR{subsystem_device}="0x2063"
>
> Both outputs are working fine and I can play audio on both outputs
> independently.
> (eg. 'aplay song1.wav -D hdmi' and 'aplay song2.wav -D hw:0' can run
> simultaneously).
> So hardware-wise, everything seems fine.
>
> When PulseAudio detects the card (module-udev-detect) it realizes that
> the card can play on audio on
> analog and HDMI, because it creates various profiles.
>
> 1 card(s) available.
> index: 0
> name: <alsa_card.pci-0000_00_1f.3>
> driver: <module-alsa-card.c>
> owner module: 3
> properties:
> alsa.card = "0"
> alsa.card_name = "HDA Intel PCH"
> alsa.long_card_name = "HDA Intel PCH at 0xdf140000 irq 127"
> alsa.driver_name = "snd_hda_intel"
> device.bus_path = "pci-0000:00:1f.3"
> sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
> device.bus = "pci"
> device.vendor.id = "8086"
> device.vendor.name = "Intel Corporation"
> device.product.id = "9d70"
> device.form_factor = "internal"
> device.string = "0"
> device.description = "Built-in Audio"
> module-udev-detect.discovered = "1"
> device.icon_name = "audio-card-pci"
> profiles:
> input:analog-stereo: Analog Stereo Input (priority 60,
> available: unknown)
> output:analog-stereo: Analog Stereo Output (priority 6000,
> available: unknown)
> output:analog-stereo+input:analog-stereo: Analog Stereo Duplex
> (priority 6060, available: unknown)
> output:hdmi-stereo: Digital Stereo (HDMI) Output (priority
> 5400, available: unknown)
> output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI)
> Output + Analog Stereo Input (priority 5460, available: unknown)
> output:hdmi-surround: Digital Surround 5.1 (HDMI) Output
> (priority 300, available: unknown)
> output:hdmi-surround+input:analog-stereo: Digital Surround 5.1
> (HDMI) Output + Analog Stereo Input (priority 360, available: unknown)
> output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output
> (priority 300, available: unknown)
> output:hdmi-surround71+input:analog-stereo: Digital Surround
> 7.1 (HDMI) Output + Analog Stereo Input (priority 360, available:
> unknown)
> output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output
> (priority 5200, available: unknown)
> output:hdmi-stereo-extra1+input:analog-stereo: Digital Stereo
> (HDMI 2) Output + Analog Stereo Input (priority 5260, available:
> unknown)
> output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2)
> Output (priority 100, available: unknown)
> output:hdmi-surround-extra1+input:analog-stereo: Digital
> Surround 5.1 (HDMI 2) Output + Analog Stereo Input (priority 160,
> available: unknown)
> output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2)
> Output (priority 100, available: unknown)
> output:hdmi-surround71-extra1+input:analog-stereo: Digital
> Surround 7.1 (HDMI 2) Output + Analog Stereo Input (priority 160,
> available: unknown)
> output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output
> (priority 5200, available: unknown)
> output:hdmi-stereo-extra2+input:analog-stereo: Digital Stereo
> (HDMI 3) Output + Analog Stereo Input (priority 5260, available:
> unknown)
> output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3)
> Output (priority 100, available: unknown)
> output:hdmi-surround-extra2+input:analog-stereo: Digital
> Surround 5.1 (HDMI 3) Output + Analog Stereo Input (priority 160,
> available: unknown)
> output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3)
> Output (priority 100, available: unknown)
> output:hdmi-surround71-extra2+input:analog-stereo: Digital
> Surround 7.1 (HDMI 3) Output + Analog Stereo Input (priority 160,
> available: unknown)
> off: Off (priority 0, available: unknown)
> active profile: <output:analog-stereo+input:analog-stereo>
> sinks:
> alsa_output.pci-0000_00_1f.3.analog-stereo/#1: Built-in Audio
> Analog Stereo
> sources:
> alsa_output.pci-0000_00_1f.3.analog-stereo.monitor/#1: Monitor
> of Built-in Audio Analog Stereo
> alsa_input.pci-0000_00_1f.3.analog-stereo/#2: Built-in Audio
> Analog Stereo
> ports:
> analog-input-mic: Microphone (priority 8700, latency offset 0
> usec, available: no)
> properties:
> device.icon_name = "audio-input-microphone"
> analog-output-headphones: Headphones (priority 9000, latency
> offset 0 usec, available: no)
> properties:
> device.icon_name = "audio-headphones"
> hdmi-output-0: HDMI / DisplayPort (priority 5900, latency
> offset 0 usec, available: no)
> properties:
> device.icon_name = "video-display"
> hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency
> offset 0 usec, available: no)
> properties:
> device.icon_name = "video-display"
> hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency
> offset 0 usec, available: no)
> properties:
> device.icon_name = "video-display"
>
> The default profile 'output:analog-stereo+input:analog-stereo'
> autocreates 1 sink.
> If I switch to an HDMI card profile, the analog-sink is replaced by an
> HDMI-sink.
>
> If I want to play audio on both outputs independently, I have to
> manually add a new sink:
> load-module module-alsa-sink device=hdmi:0
>
> My question is:
> * Why isn't there a profile which autocreates both sinks? I think
> that should be the default
> profile for this card.
> * How are the profiles created? Is it the responsibility of ALSA?
>
> Thank you for your input,
> Lode
More information about the pulseaudio-discuss
mailing list