pcm: rate - fix the remaining size calculation in snd_pcm_rate_drain()

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2020-04-23 13:43:32 +02:00
parent c996c9f52c
commit a43074ba17

View file

@ -1060,6 +1060,8 @@ static int snd_pcm_rate_drain(snd_pcm_t *pcm)
snd_pcm_sw_params(rate->gen.slave, &sw_params); snd_pcm_sw_params(rate->gen.slave, &sw_params);
size = rate->appl_ptr - rate->last_commit_ptr; size = rate->appl_ptr - rate->last_commit_ptr;
if (size > pcm->boundary)
size -= pcm->boundary;
ofs = rate->last_commit_ptr % pcm->buffer_size; ofs = rate->last_commit_ptr % pcm->buffer_size;
while (size > 0) { while (size > 0) {
snd_pcm_uframes_t psize, spsize; snd_pcm_uframes_t psize, spsize;