ALSA: Remove alsa timer from IRQ scheduling

As part of the setup for IRQ based scheduling, a period event
was installed. Not only is a timer based polling unecessary for
IRQ scheduling, depending on the state of the system, the timer
could fire far enough from the IRQ, causing alsa wakeup events
with no data in the ring buffer. Pipewire would identify these
events as an "early wakeup", adding an extra quantum of time
to the next_time estimate, skewing the clock and causing issues
with apps that depend on precise timing.
This commit is contained in:
Dimitrios Katsaros 2023-12-13 14:41:04 +01:00 committed by Wim Taymans
parent bbb3b5d8b1
commit 4331779e4d

View file

@ -2181,8 +2181,6 @@ static int set_swparams(struct state *state)
/* start the transfer */ /* start the transfer */
CHECK(snd_pcm_sw_params_set_start_threshold(hndl, params, LONG_MAX), "set_start_threshold"); CHECK(snd_pcm_sw_params_set_start_threshold(hndl, params, LONG_MAX), "set_start_threshold");
CHECK(snd_pcm_sw_params_set_period_event(hndl, params, state->disable_tsched), "set_period_event");
if (state->disable_tsched) { if (state->disable_tsched) {
snd_pcm_uframes_t avail_min; snd_pcm_uframes_t avail_min;