mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-03-17 05:33:55 -04:00
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.
This commit is contained in:
parent
deb7dddbef
commit
8aa836d588
3 changed files with 13 additions and 2 deletions
|
|
@ -244,6 +244,7 @@ struct state {
|
|||
uint64_t underrun;
|
||||
|
||||
struct spa_dll dll;
|
||||
double dll_bw_max;
|
||||
double max_error;
|
||||
double max_resync;
|
||||
double err_avg, err_var, err_wdw;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue