mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-06 13:29:59 -05:00
pcm: fix return value of snd_pcm_share_slave_avail
The return value was wrong for playback if slave->hw_ptr was near the boundary and *pcm->appl.ptr was near zero. The wrong result was greater than the boundary. Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
99a2254f5f
commit
622b1b6bdb
1 changed files with 2 additions and 0 deletions
|
|
@ -128,6 +128,8 @@ static snd_pcm_uframes_t snd_pcm_share_slave_avail(snd_pcm_share_slave_t *slave)
|
||||||
avail += pcm->buffer_size;
|
avail += pcm->buffer_size;
|
||||||
if (avail < 0)
|
if (avail < 0)
|
||||||
avail += pcm->boundary;
|
avail += pcm->boundary;
|
||||||
|
else if ((snd_pcm_uframes_t) avail >= pcm->boundary)
|
||||||
|
avail -= pcm->boundary;
|
||||||
return avail;
|
return avail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue