pipewire/spa/plugins/audioconvert
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
..
audioadapter.c audioconvert: keep better track of changed params 2021-03-12 11:10:43 +01:00
audioconvert.c audioconvert: keep better track of changed params 2021-03-12 11:10:43 +01:00
benchmark-fmt-ops.c audioconvert tests: Default to using an installed libspa-support 2020-09-14 18:16:49 +00:00
benchmark-resample.c audioconvert tests: Default to using an installed libspa-support 2020-09-14 18:16:49 +00:00
biquad.c audioconvert: add LFE filter 2021-03-17 11:28:40 +01:00
biquad.h audioconvert: add LFE filter 2021-03-17 11:28:40 +01:00
channelmix-ops-c.c audioconvert: run lr4 on tagged channels in generic case 2021-04-26 17:34:14 +02:00
channelmix-ops-sse.c channelmix: normalize volumes 2020-09-03 13:20:36 +02:00
channelmix-ops.c audioconvert: run lr4 on tagged channels in generic case 2021-04-26 17:34:14 +02:00
channelmix-ops.h audioconvert: run lr4 on tagged channels in generic case 2021-04-26 17:34:14 +02:00
channelmix.c spa: improve volume handling 2021-04-29 12:46:29 +02:00
crossover.c audioconvert: add LFE filter 2021-03-17 11:28:40 +01:00
crossover.h audioconvert: add LFE filter 2021-03-17 11:28:40 +01:00
fmt-ops-avx2.c Reverting redundant changes 2020-06-04 10:36:39 +02:00
fmt-ops-c.c fmt: support f32p -> s24s conversion 2021-01-14 17:58:54 +01:00
fmt-ops-neon.c fmt-ops: add arm32 optimizations 2020-04-03 14:09:46 +02:00
fmt-ops-sse2.c fmt-ops: add sse2 version of f32 to s16 planar/interleaved 2020-07-03 11:05:26 +02:00
fmt-ops-sse41.c fmt-ops: add avx2 optimized version 2020-03-16 16:11:29 +01:00
fmt-ops-ssse3.c fmt-ops: add avx2 optimized version 2020-03-16 16:11:29 +01:00
fmt-ops.c fmt: support f32p -> s24s conversion 2021-01-14 17:58:54 +01:00
fmt-ops.h audioconvert: add volume ops 2021-02-05 15:08:26 +01:00
fmtconvert.c fmtconvert: prefer planar formats when possible 2021-02-26 21:14:35 +01:00
merger.c audioconvert: refactor the volume items in a struct 2021-04-29 11:36:05 +02:00
meson.build meson: replace join_paths(a, b) with a / b 2021-04-15 06:57:00 +00:00
plugin.c adapter: move to SPA plugin 2019-07-10 18:04:59 +02:00
resample-native-avx.c audioconvert: fix native variable rate resampler 2019-04-30 15:14:05 +02:00
resample-native-impl.h audioconvert: move some things around 2020-04-03 18:03:42 +02:00
resample-native-neon.c resample: load more data on aarch64 because we can 2020-06-19 11:47:57 +02:00
resample-native-sse.c audioconvert: add avx optimizations 2019-03-28 16:45:57 +01:00
resample-native-ssse3.c audioconvert: handle more optimizations 2019-03-27 17:58:48 +01:00
resample-native.c resample: tweak the resampler to keep delay number of samples 2021-01-08 16:35:26 +01:00
resample-peaks-impl.h resample: use right define to compile sse functions 2020-04-14 20:29:27 +02:00
resample-peaks-sse.c audioconvert: move some things around 2020-04-03 18:03:42 +02:00
resample-peaks.c resample: implement methods we now call 2021-01-08 17:43:13 +01:00
resample.c resample: refactor rate match code 2021-03-14 20:06:45 +01:00
resample.h audioconvert: move some things around 2020-04-03 18:03:42 +02:00
spa-resample.c audioconvert: move some things around 2020-04-03 18:03:42 +02:00
splitter.c audioconvert: use sizeof for position size 2021-02-16 15:07:40 +01:00
test-audioadapter.c slave -> follower 2020-02-21 10:47:32 +01:00
test-audioconvert.c test-audioconvert: fix test failure after 7d73f0b8 2020-12-10 14:30:28 +01:00
test-channelmix.c channelmix: Improve unknown channel layout handling 2021-01-15 17:51:07 +01:00
test-fmt-ops.c audioconvert tests: Default to using an installed libspa-support 2020-09-14 18:16:49 +00:00
test-helper.h tests: fix some leaks 2020-12-21 20:07:02 +01:00
test-resample.c test: improve resampler test 2021-01-18 15:08:23 +01:00
test-source.c Make interface types a string 2019-12-19 13:36:04 +01:00
volume-ops-c.c audioconvert: add volume ops 2021-02-05 15:08:26 +01:00
volume-ops-sse.c audioconvert: add volume ops 2021-02-05 15:08:26 +01:00
volume-ops.c audioconvert: add volume ops 2021-02-05 15:08:26 +01:00
volume-ops.h audioconvert: add missing file 2021-02-05 17:29:43 +01:00