pipewire/spa/plugins/audioconvert
Wim Taymans e9a89822f8 adapter: only recheck formats when convert EnumFormat changed
Instead of always renegotiating a new format and buffers when the
driver changes, only renegotiate when the converter notifies us
of an EnumFormat change. It's possible that changing the driver does
not actually change the result of EnumFormat and then we would simply
renegotiate to the same format and buffers for nothing.

In the audioconvert, check if the target_rate of the new driver has
changed. We keep the last value in our own clock so that we don't
renegotiate when we are removed from a driver (which sets our own
clock as the position). The target rate influences the result of the
EnumFormat params when we are resampling and so we need to emit a
EnumFormat change.
2025-10-30 17:41:24 +01:00
..
audioadapter.c adapter: only recheck formats when convert EnumFormat changed 2025-10-30 17:41:24 +01:00
audioconvert.c adapter: only recheck formats when convert EnumFormat changed 2025-10-30 17:41:24 +01:00
benchmark-fmt-ops.c fmt-ops: add RVV optimizations for s32_to_f32d 2024-09-29 11:17:42 +08:00
benchmark-resample.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
biquad.c audioconvert: align low-/highpass calculations 2024-12-20 11:03:43 +01:00
biquad.h audioconvert: use the same biquad as filter-chain 2024-11-27 16:47:53 +01:00
channelmix-ops-c.c math: improve denormal check 2025-01-13 16:10:34 +01:00
channelmix-ops-sse.c math: improve denormal check 2025-01-13 16:10:34 +01:00
channelmix-ops.c Don't use SPA_AUDIO_MAX_CHANNELS directly 2025-10-21 09:43:06 +02:00
channelmix-ops.h Don't use SPA_AUDIO_MAX_CHANNELS directly 2025-10-21 09:43:06 +02:00
crossover.c audioconvert: use the same biquad as filter-chain 2024-11-27 16:47:53 +01:00
crossover.h audioconvert: use the same biquad as filter-chain 2024-11-27 16:47:53 +01:00
fmt-ops-avx2.c audioconvert: optimise f32d to/from s16s conversions 2025-01-24 10:37:02 +01:00
fmt-ops-c.c audioconvert: add clear function 2025-07-02 10:27:26 +02:00
fmt-ops-neon.c audioconvert: fix typo in neon function 2023-08-24 13:45:11 +02:00
fmt-ops-rvv.c fmt-ops: add RVV optimizations for s32_to_f32d 2024-09-29 11:17:42 +08:00
fmt-ops-sse2.c audioconvert: optimise f32d to/from s16s conversions 2025-01-24 10:37:02 +01:00
fmt-ops-sse41.c audioconvert: avoid unaligned read 2023-10-15 22:20:54 +02:00
fmt-ops-ssse3.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
fmt-ops.c fmt-ops: allocate shaper memory dynamically 2025-10-24 12:46:38 +02:00
fmt-ops.h fmt-ops: allocate shaper memory dynamically 2025-10-24 12:46:38 +02:00
hilbert.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
law.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
meson.build meson.build: set project cc flags also for native builds 2025-10-26 14:12:19 +00:00
peaks-ops-c.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
peaks-ops-sse.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
peaks-ops.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
peaks-ops.h audioconvert: add log topic for resampler 2025-09-07 18:26:03 +00:00
plugin.c spa: export log topic enumerations 2024-01-04 10:02:55 +00:00
resample-native-avx.c audioconvert: remove unnecessary casts 2024-01-16 15:33:13 +01:00
resample-native-c.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
resample-native-impl.h audioconvert: add log topic for resampler 2025-09-07 18:26:03 +00:00
resample-native-neon.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
resample-native-sse.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
resample-native-ssse3.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
resample-native.c audioconvert: add log topic for resampler 2025-09-07 18:26:03 +00:00
resample-peaks.c audioconvert: resampler: change resample_phase() unit to input samples 2025-01-19 17:11:13 +02:00
resample.h audioconvert: resampler: change resample_phase() unit to input samples 2025-01-19 17:11:13 +02:00
spa-resample-dump-coeffs.c resampler: Precompute some common filter coefficients 2024-08-08 00:30:24 -04:00
spa-resample.c spa-resample: improve output format selection 2025-01-31 09:24:08 +01:00
test-audioadapter.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-audioconvert.c Don't use SPA_AUDIO_MAX_CHANNELS directly 2025-10-21 09:43:06 +02:00
test-channelmix.c Fix compilation with -Werror=float-conversion 2024-06-18 12:17:56 +02:00
test-fmt-ops.c fmt-ops: add RVV optimizations for s32_to_f32d 2024-09-29 11:17:42 +08:00
test-peaks.c Fix compilation with -Werror=float-conversion 2024-06-18 12:17:56 +02:00
test-resample-delay.c audioconvert: resampler: change resample_phase() unit to input samples 2025-01-19 17:11:13 +02:00
test-resample.c resample: use fixed point for resample phase and input rate 2025-07-30 07:59:52 +00:00
test-source.c spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
volume-ops-c.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
volume-ops-sse.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
volume-ops.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
volume-ops.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
wavfile.c wav: fix build 2023-03-09 17:09:47 +01:00
wavfile.h wav: fix build 2023-03-09 17:09:47 +01:00