From: Jaroslav Kysela Date: Mon, 4 Jan 2021 16:27:32 +0000 (+0100) Subject: pcm: rate - fix the capture delay values X-Git-Tag: v1.2.5~126 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=b62f66442bfbcea7c11afe4917e196fa95a65083;p=alsa-lib.git pcm: rate - fix the capture delay values Use the correct snd_pcm_mmap_capture_delay() function instead snd_pcm_mmap_capture_hw_avail(). Signed-off-by: Jaroslav Kysela --- diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c index 3d301d0e..770aafea 100644 --- a/src/pcm/pcm_rate.c +++ b/src/pcm/pcm_rate.c @@ -632,7 +632,7 @@ static int snd_pcm_rate_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *delayp) + snd_pcm_rate_playback_internal_delay(pcm); } else { *delayp = rate->ops.output_frames(rate->obj, slave_delay) - + snd_pcm_mmap_capture_hw_avail(pcm); + + snd_pcm_mmap_capture_delay(pcm); } return 0; } @@ -1157,12 +1157,8 @@ static int snd_pcm_rate_status(snd_pcm_t *pcm, snd_pcm_status_t * status) status->avail = snd_pcm_mmap_playback_avail(pcm); status->avail_max = rate->ops.input_frames(rate->obj, status->avail_max); } else { - /* FIXME: Maybe possible to somthing similar to - * snd_pcm_rate_playback_internal_delay() - * for the capture case. - */ status->delay = rate->ops.output_frames(rate->obj, status->delay) - + snd_pcm_mmap_capture_hw_avail(pcm); + + snd_pcm_mmap_capture_delay(pcm); status->avail = snd_pcm_mmap_capture_avail(pcm); status->avail_max = rate->ops.output_frames(rate->obj, status->avail_max); }