pipewire/spa/plugins
Alper Nebi Yasak 9b9ce21b1d acp: Don't sync hardware volumes while UCM device is disabled
The hardware controls we track for volume and mute state can change as
part of enabling or disabling the UCM device. This then triggers a
re-sync of our state with the hardware controls, which can e.g. set our
volume to an unwanted value as the result of enabling the device, or set
a hardware control to a wrong value based on our volume while disabling
the device. So these UCM-triggered changes to enable/disable the device
will at best show up on user interfaces and cause confusion, but maybe
even will push the hardware into an unexpected state.

The volume and mute state we set from user interfaces only make sense
when the devices are enabled. They should not be kept in sync with
hardware for inactive UCM devices [1]. Skip the callbacks for reading
and changing volume and mute state if the UCM device is disabled. This
way, the volume/mute controls for sinks/sources are essentially detached
from the hardware controls until the UCM device is re-enabled.

[1] https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/772#note_1872757

Link: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/772
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-12-04 15:34:48 +00:00
..
aec aec: support both webrtc versions 2023-09-14 15:35:40 +02:00
alsa acp: Don't sync hardware volumes while UCM device is disabled 2023-12-04 15:34:48 +00:00
audioconvert audioadapter: don't clear format when EnumFormat changes 2023-10-16 18:23:49 +02:00
audiomixer audioconvert: avoid unaligned writes and left shift of neagtives 2023-10-15 21:12:23 +02:00
audiotestsrc node: update the duration/rate from the target 2023-03-23 18:39:27 +01:00
avb spa: remove unnecessary indirection for some spa_log_topics 2023-10-06 13:08:24 +00:00
bluez5 Bluez5: backend-native: HSP AG release SCO link on AT+CKPD=200 2023-11-29 15:43:22 +00:00
control tweak number of buffers 2023-10-13 14:00:29 +02:00
ffmpeg treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
jack tweak number of buffers 2023-10-13 14:00:29 +02:00
libcamera libcamera: add latency param query 2023-11-20 17:51:27 +01:00
support evl: add fds to pollfd from rt thread 2023-11-24 11:58:28 +01:00
test spa: deduplicate test-helper.h 2023-10-15 16:20:17 +00:00
v4l2 spa: remove unnecessary indirection for some spa_log_topics 2023-10-06 13:08:24 +00:00
videoconvert spa: remove unnecessary indirection for some spa_log_topics 2023-10-06 13:08:24 +00:00
videotestsrc videotestsrc: implement impl_node_set_io to fix segfault while loading 2023-10-26 15:54:10 +02:00
volume volume: Fix inverted check for buffer validity 2023-03-31 08:19:07 +00:00
vulkan vulkan: fix uninitialized writeDescriptor 2023-08-31 10:08:06 +00:00
meson.build build: Restructure vulkan dependency handling and assert headers 2023-10-15 20:32:57 +00:00