> If I hack /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf to > change hdmi-stereo's device-strings value to e.g. "hdmi:%f,0", "hdmi:%f,1", > etc., then I can cause pulseaudio to open whichever subdevice I wish. This > proves to me that this is simply an enumeration issue and nothing more > fundamental.
I beg to disagree.. I have done similar work and I think there's something fundamentally broken in the ALSA/PulseAudio interaction for HDMI support(See my posts on the ALSA mailing list). On my Intel IbexPeak, there's only one HDMI device, but it is detected even though there's no cable connected. I can play audio on HDMI even if I unplug the cable. I would assume this is the same case for your Nvidia system, even if you hacked the profile definition, you would end-up with a set of detected profiles, but only one may work and only if there's a cable connected. That would beat any audio policy/device manager/intelligent routing logic. For HDMI, I think the right solution is to have some ALSA hot-plug event trapped by PulseAudio. Otherwise it's going to be really confusing for users. With Nvidia hardware, they would have to manually select which profile they want to play on, when they will want to play on the device that has a cable attached. Along the same lines, there's currently no means to know how many channels the receiver supports. We could add HDMI stereo/surround40/surround51/surround 71 profiles, but this is the least user-friendly solution. Again we do need some hot-plug event to set the relevant number of channels for the PulseAudio HDMI sink based on ELD/EDID information. -Pierre _______________________________________________ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss