diff -Nru pulseaudio-13.99.1/debian/changelog pulseaudio-13.99.1/debian/changelog --- pulseaudio-13.99.1/debian/changelog 2020-10-16 05:23:31.000000000 +0800 +++ pulseaudio-13.99.1/debian/changelog 2020-12-15 16:35:15.000000000 +0800 @@ -1,3 +1,13 @@ +pulseaudio (1:13.99.1-1ubuntu3.9) focal; urgency=medium + + * d/p/0703-switch-on-unknown.patch + - Fix the headset-mic/headphone-mic selection on the machines without + internal mic, backported from: + https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/390 + (LP: #1908167) + + -- Hui Wang Tue, 15 Dec 2020 16:35:15 +0800 + pulseaudio (1:13.99.1-1ubuntu3.8) focal-security; urgency=medium * SECURITY UPDATE: don't rely on SCM_CREDENTIALS to detect snap confined diff -Nru pulseaudio-13.99.1/debian/patches/0703-switch-on-unknown.patch pulseaudio-13.99.1/debian/patches/0703-switch-on-unknown.patch --- pulseaudio-13.99.1/debian/patches/0703-switch-on-unknown.patch 1970-01-01 08:00:00.000000000 +0800 +++ pulseaudio-13.99.1/debian/patches/0703-switch-on-unknown.patch 2020-12-15 16:34:46.000000000 +0800 @@ -0,0 +1,24 @@ +Index: pulseaudio-13.99.1/src/modules/module-switch-on-port-available.c +=================================================================== +--- pulseaudio-13.99.1.orig/src/modules/module-switch-on-port-available.c ++++ pulseaudio-13.99.1/src/modules/module-switch-on-port-available.c +@@ -234,6 +234,11 @@ static void switch_to_port(pa_device_por + if (pp.is_port_active) + return; /* Already selected */ + ++ if (port->available == PA_AVAILABLE_UNKNOWN) { ++ if ((pp.sink && pp.sink->active_port && pp.sink->active_port->available != PA_AVAILABLE_UNKNOWN) || ++ (pp.source && pp.source->active_port && pp.source->active_port->available != PA_AVAILABLE_UNKNOWN)) ++ return; ++ } + pa_log_debug("Trying to switch to port %s", port->name); + if (!pp.is_preferred_profile_active) { + if (try_to_switch_profile(port) < 0) { +@@ -304,6 +309,7 @@ static pa_hook_result_t port_available_h + + switch (port->available) { + case PA_AVAILABLE_YES: ++ case PA_AVAILABLE_UNKNOWN: + switch_to_port(port); + break; + case PA_AVAILABLE_NO: diff -Nru pulseaudio-13.99.1/debian/patches/series pulseaudio-13.99.1/debian/patches/series --- pulseaudio-13.99.1/debian/patches/series 2020-10-16 05:23:13.000000000 +0800 +++ pulseaudio-13.99.1/debian/patches/series 2020-12-15 16:35:04.000000000 +0800 @@ -27,3 +27,5 @@ 0701-enable-snap-policy-module.patch 0702-add-snappy-policy-module.patch +0703-switch-on-unknown.patch +