Skip to content

mixer-control: adding ucm port names for audio device selection

Hui Wang requested to merge jason77-wang/libgnome-volume-control:master into master

Recently Intel added a new audio driver in the Linux kernel, it is called sof driver. This driver is needed on the laptops which connect the digital mic to the PCH instead of the codec. To make the sof driver work with pulseaudio, the ucm is mandatory. Intel wrote the ucm for the machines with multi-function audio jack, with this ucm, the port names are different from the ones without ucm, this is the port names with the ucm: [In] Dmic: Digital Microphone (priority: 100, latency offset: 0 usec) Part of profile(s): Hdmi3, Hdmi2, Hdmi1, HiFi [In] Headphone Microphone: Headphone Microphone (priority: 100, latency offset: 0 usec, available) Part of profile(s): Hdmi3, Hdmi2, Hdmi1, HiFi [In] Headset Microphone: Headset Microphone (priority: 100, latency offset: 0 usec, available) Part of profile(s): Hdmi3, Hdmi2, Hdmi1, HiFi [Out] Headphone: Headphone (priority: 200, latency offset: 0 usec, available) Part of profile(s): HiFi [Out] Speaker: Speaker (priority: 100, latency offset: 0 usec) Part of profile(s): HiFi

To make the audio device selection work, let's add those new port names.

And with the ucm, the Dmic (internal mic) is on one source since the dmic connects to PCH, the headphone-mic and headset mic are on another source since they connect to the codec. This needs us to add calling set_default_source() in the source_info_cb(), it is safe even for old machines on which internal mic, headphone-mic and headset-mic are on the same source.

Merge request reports