pipewire/spa
Hector Martin 9c868740c2 alsa: ucm: Fix spurious mixer path removal on initial profile set
The code that removes the mixer path if probing fails can be called in
the path that sets a non-off device profile on hotplug *before*
card->active_profile is updated, which results in spuriously removing
the mixer path. By this point, context->ucm->active_verb would be set
to the same as the profile name, so we can use that instead to avoid
the issue.

On Apple Silicon machines with the UCM profiles in the Asahi Linux repo,
this manifests as the headphones jack having hardware volume controls
*only* if PA is started with headphones connected and until they are
disconnected. Hotplugs end up triggering the bad codepath, and it falls
back to software volume (which is particularly a problem when the
hardware volume happens to be very low or 0 at that point).

Signed-off-by: Hector Martin <marcan@marcan.st>
Link: 3e038c6d88
2023-12-04 15:34:48 +00:00
..
examples meson.build: fix compile with -Dexamples=disabled 2023-11-28 10:18:25 +00:00
include Fix some warnings 2023-11-21 16:32:51 +00:00
plugins alsa: ucm: Fix spurious mixer path removal on initial profile set 2023-12-04 15:34:48 +00:00
tests Add GNU/Hurd support 2023-09-24 15:11:52 +00:00
tools treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
meson.build spa/meson.build: Look for udev rules in /usr by default 2023-12-02 10:08:12 +01:00