pipewire/spa/plugins
Wim Taymans 5bf2144438 spa: improve volume handling
Make a new softVolume property that contains only the soft volume
to apply.

In the case of HW/SW volume, we pass the real volume in the
channelVolume and the leftover volume in softVolume. We don't
use the monitorVolume for this anymore because it is a completely
separate volume handled by the merger node.

This way, channelVolume always represents the effective volume
set on routes, channelmix and merger and only the softVolume (when
available) is applied as software volume by channelmix.

This makes things map a bit better to what is actually happening with
the real volume and leftover software volumes after applying the
hardware volumes in the device.

With this change, the volume on the monitor is not affected by the
sink volume anymore and we can use the monitorVolume for this later.

This also means that the monitor volume in pavucontrol of the sinks
does not change when the sink volume changes. PulseAudio is inconsistent
here: If the volume is HW, the monitor volume is not affected, if the
volume is SW, it is. In PipeWire there is an option in merger to
let the volume affect the monitor with monitor.channel-volumes = true.
2021-04-29 12:46:29 +02:00
..
alsa spa: improve volume handling 2021-04-29 12:46:29 +02:00
audioconvert spa: improve volume handling 2021-04-29 12:46:29 +02:00
audiomixer meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
audiotestsrc meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
bluez5 spa: improve volume handling 2021-04-29 12:46:29 +02:00
control meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
ffmpeg meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
jack meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
libcamera libcamera: fix compilation 2021-04-18 20:34:24 +02:00
support spa: don't overrun the input array 2021-04-17 19:43:55 +02:00
test meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
v4l2 v4l2: don't select DmaBuf when the type mask is invalid 2021-04-15 20:42:11 +02:00
videoconvert meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
videotestsrc meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
volume meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
vulkan meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
meson.build meson: Fix build without vulkan headers 2021-03-17 20:52:20 +02:00