pipewire/spa/plugins
Stefan Binding 7f07448a80 spa: acp: Allow Volume control which supports mute to be used as a hardware mute
Some devices have a hardware volume control, but not a dedicated
hardware mute control. In some of these cases, the volume control is
described as having a hardware mute when volume is 0. This is described
in the TLV information of the volume control, when the
SNDRV_CTL_TLVD_DB_SCALE_MUTE flag is set in the TLV structure.
If set, alsa-lib will set the minimum dB value to -99999.99dB, which
can be detected inside PipeWire.

PipeWire can then use this hardware volume control to apply hardware
mute, when set.

In order to be able to set volumes and mutes separately, changing the
volume whilst muted will save the value, but not write it to the
hardware. When the device is unmuted, the saved value will be restored.

Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
2025-05-05 07:40:29 +00:00
..
aec spa: aec: Add support for webrtc-audio-processing-2 2025-01-09 12:06:58 +00:00
alsa spa: acp: Allow Volume control which supports mute to be used as a hardware mute 2025-05-05 07:40:29 +00:00
audioconvert audioconvert: Increase param length limit to 4096 2025-04-11 20:03:25 +00:00
audiomixer Remove some hardcoded channel number values 2025-04-04 15:46:03 +02:00
audiotestsrc spa: audiotestsrc: Validate loop and system before using them 2024-10-23 08:25:30 -04:00
avb json: add helper function to parse channel positions 2024-09-18 09:54:34 +02:00
bluez5 bluez5: backend-native: fix sco HUP|ERR debug message 2025-05-02 16:12:23 +03:00
control control: add support for mixing to UMP 2024-07-29 18:15:58 +02:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
filter-graph filter-graph: clean control_port array on unload 2025-04-30 13:18:34 +02:00
jack spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
libcamera spa: libcamera: don't use fixed size buffers for properties 2025-02-03 17:20:25 +00:00
support logger: support logging local timestamps and other timestamp logs 2025-01-13 13:48:22 +00:00
test spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
v4l2 v4l2: only skip buffer for raw formats 2025-04-24 10:57:49 +02:00
videoconvert videoconvert: consume input buffer in all cases 2025-04-24 10:58:04 +02:00
videotestsrc Port videotestsrc to LoopUtils 2024-07-01 15:28:14 +00:00
volume spa: fix volume plugin compilation 2024-06-18 15:44:26 +02:00
vulkan spa: vulkan: simplify memcpy() call 2024-12-14 23:28:43 +01:00
meson.build filter-chain: move the filter-graph to plugins 2024-11-13 11:12:06 +01:00