pipewire/spa/plugins
Julien Massot 8aa836d588 alsa-pcm: add support for api.alsa.dll-bandwidth-max
In USB Audio Class 2 (UAC2) setups, pitch control is handled by
feedback endpoints. The host adjusts its data rate accordingly.

When pitch control is active (pitch_elem), applying the default
delay-locked loop (DLL) bandwidth can lead to instability and
oscillations around the target rate.

This patch adds a new parameter, api.alsa.dll-bandwidth-max, to
configure the maximum DLL bandwidth. It introduces a new field
in the ALSA state to store this value.

By default, it uses SPA_DLL_BW_MAX, but when pitch control is in
use, setting it to a lower value (e.g. 0.02) helps ensure better
stability, based on empirical testing.
2025-07-07 10:40:11 +00:00
..
aec spa: aec: Add support for webrtc-audio-processing-2 2025-01-09 12:06:58 +00:00
alsa alsa-pcm: add support for api.alsa.dll-bandwidth-max 2025-07-07 10:40:11 +00:00
audioconvert audioconvert: use faster clear when dealing with empty buffers 2025-07-02 10:34:00 +02:00
audiomixer loop: add method to run a function with the lock 2025-05-29 10:17:16 +02:00
audiotestsrc loop: add method to run a function with the lock 2025-05-29 10:17:16 +02:00
avb *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
bluez5 bluez5: drop old SCO fragment data when sink starts 2025-06-21 16:13:57 +03:00
control loop: add method to run a function with the lock 2025-05-29 10:17:16 +02:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
filter-graph filter-graph: add a simple noise gate 2025-07-03 20:58:00 +02:00
jack *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
libcamera libcamera: Default to auto-focus & auto-exposure 2025-06-11 13:56:26 +00:00
support loop: fix use after free case 2025-06-30 12:44:15 +02:00
test spa: make the wave, pattern and ditherType Int 2025-06-13 10:06:09 +02:00
v4l2 spa: v4l2: Drop unused variable 2025-07-03 10:07:54 -04:00
videoconvert spa: remove control type from formats 2025-06-18 15:23:16 +02:00
videotestsrc loop: spa_loop_invoke -> spa_loop_locked where possible 2025-05-30 11:59:35 +02:00
volume spa: fix volume plugin compilation 2024-06-18 15:44:26 +02:00
vulkan loop: spa_loop_invoke -> spa_loop_locked where possible 2025-05-30 11:59:35 +02:00
meson.build filter-chain: move the filter-graph to plugins 2024-11-13 11:12:06 +01:00