alsa: only use avail_update when woken up with IRQ

When we are following a different clock or resampling, use update
to get more accurate update results.
This commit is contained in:
Wim Taymans 2023-10-18 14:42:33 +02:00
parent 8735d07c0a
commit 2e066e6b1e

View file

@ -2132,10 +2132,12 @@ recover:
static inline snd_pcm_sframes_t alsa_avail(struct state *state)
{
if (state->disable_tsched)
return snd_pcm_avail_update(state->hndl);
snd_pcm_sframes_t avail;
if (state->disable_tsched && !state->resample)
avail = snd_pcm_avail_update(state->hndl);
else
return snd_pcm_avail(state->hndl);
avail = snd_pcm_avail(state->hndl);
return avail;
}
static int get_avail(struct state *state, uint64_t current_time, snd_pcm_uframes_t *delay)