[alsa-devel] Dynamic HDMI PCM creation

David Henningsson david.henningsson at canonical.com
Mon Sep 17 15:28:52 CEST 2012

[added pulseaudio-discuss to cc]

On 09/17/2012 02:20 PM, Jaroslav Kysela wrote:
> Date 17.9.2012 13:46, Takashi Iwai wrote:
>>> I would prefer to have just a notification, if the cable is
>>> connected and the PCM layer is ready (ELD stuff). Also, if some physical
>>> connectors are not used on some hardware, they should/may be blacklisted
>>> so the driver won't create PCM devices for them.

It might be that we could send a snd_ctl_notify on the ELD kcontrol. 
Would that make sense?

>> Using kcontrol notifier is the current solution indeed.  But the whole
>> coding is missing in PA side, so far.  OTOH, PA has already the
>> handling of dynamic PCM device creation/deletion (e.g. for
>> USB-audio).  So, it can be more natural to provide the dynamic PCM
>> from the kernel for HDMI, too.  The patch was posted to evaluate
>> that.
> I think that USB-Audio is a different thing. Our driver creates new card
> for a newly plugged USB hardware and it seems that PA supports only
> dynamic card handling, not dynamic device handling.

This is correct. PA supports dynamic cards, not dynamic devices on a 
card. Cards are much simpler because they are always independent of each 

Another question PA needs to deal with is, when this new HDMI PCM device 
is plugged in, what other streams can coexist with this new HDMI stream? 
What if we have an analog + HDMI combined card, but the controller only 
supports one stream to either of them? In that case, we can not even 
probe the HDMI device without disturbing the stream potentially being 
played back through analog.

Brainstorming idea for PA developers: However, if combined analog + HDMI 
combined cards *always* can play back HDMI and analog independent of 
each other, we could actually try to map them as two different cards in 
PulseAudio. Then that HDMI card could disappear as the HDMI cable is 

David Henningsson, Canonical Ltd.

More information about the Alsa-devel mailing list