pipewire/spa/plugins/audioconvert
Wim Taymans 823dcd8843 scheduler: make nodes move to IDLE when inactive
When a node is inactive but linked to a driver, the only reason it is
not being scheduled is because it is inactive.

We already set up the links and negotiate the format and buffers to
prepare going to RUNNING. This patch now also make the node go to IDLE,
which makes the adapter negotiate a forma and buffers with the internal
node.

This makes things more symetrical, when linking a node, it becomes IDLE,
when activating it becomes RUNNABLE, when inactive it goes back to IDLE.
The switch to RUNNING will also be faster when things are already set up
in the IDLE state.

The main advantage is that it allows us to implement the startup of
corked streams in pulseaudio better. Before this patch we had to set the
stream to active to make it go through the Format and buffer negotiation
and then quickly set it back to inactive, hopefully without skipping a
cycle. After this patch, the corked stream goes all the way to IDLE,
where it then waits to become active.

See #4991
2026-04-14 14:28:29 +02:00
..
audioadapter.c scheduler: make nodes move to IDLE when inactive 2026-04-14 14:28:29 +02:00
audioconvert.c scheduler: make nodes move to IDLE when inactive 2026-04-14 14:28:29 +02:00
benchmark-fmt-ops.c spa: audioconvert: benchmark-fmt-ops: initialize convert 2026-03-24 17:50:51 +01:00
benchmark-resample.c spa: use the right AVX2 flags 2026-01-13 12:03:09 +01: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-avx.c audioconver: add avx channelmix copy function 2026-03-20 18:23:43 +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 channelmix: make up/downmix levels configurable 2026-03-30 17:50:48 +02:00
channelmix-ops.h channelmix: make up/downmix levels configurable 2026-03-30 17:50:48 +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
dbesi0.c resample: make window configurable 2025-11-20 14:07:14 +01:00
fmt-ops-avx2.c audioconvert: add avx2 optimized s32_to f32d 2026-03-20 17:57:59 +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 fmt-ops: make function static 2026-03-19 16:36:11 +01:00
fmt-ops-sse41.c audioconvert: avoid unaligned read 2023-10-15 22:20:54 +02:00
fmt-ops-ssse3.c Adds explanation to reduce chance of regressing the fix 2025-12-15 08:20:24 +00:00
fmt-ops.c audioconvert: add avx2 optimized s32_to f32d 2026-03-20 17:57:59 +01:00
fmt-ops.h audioconvert: add avx2 optimized s32_to f32d 2026-03-20 17:57:59 +01: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 audioconver: add avx channelmix copy function 2026-03-20 18:23:43 +01: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 audioconvert: add avx2 optimized s32_to f32d 2026-03-20 17:57:59 +01:00
peaks-ops.h audioconvert: add avx2 optimized s32_to f32d 2026-03-20 17:57:59 +01:00
plugin.c spa: export log topic enumerations 2024-01-04 10:02:55 +00:00
resample-native-avx2.c spa: use the right AVX2 flags 2026-01-13 12:03:09 +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 resample: add bool to force inter resampler 2026-01-16 11:03:43 +01: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 avx2 optimized s32_to f32d 2026-03-20 17:57:59 +01:00
resample-peaks.c audioconvert: resampler: change resample_phase() unit to input samples 2025-01-19 17:11:13 +02:00
resample.h audioconvert: add avx2 optimized s32_to f32d 2026-03-20 17:57:59 +01: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: enable clipping in sndfile 2025-12-09 13:55:37 +01:00
test-audioadapter.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-audioconvert.c channelmix: make up/downmix levels configurable 2026-03-30 17:50:48 +02:00
test-channelmix.c channelmix: make up/downmix levels configurable 2026-03-30 17:50:48 +02:00
test-fmt-ops.c spa: audioconvert: test-fmt-ops: initialize convert 2026-03-24 17:38:26 +01: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 audioconvert: add avx2 optimized s32_to f32d 2026-03-20 17:57:59 +01:00
volume-ops.h audioconvert: add avx2 optimized s32_to f32d 2026-03-20 17:57:59 +01: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