mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-10 13:30:01 -05:00
pcm: improve handling for snd_pcm_wait()
The snd_pcm_wait() function is called also internally from the various plugins to wait for the drain with -1 and from i/o routines in pcm.c. Define two special negative timeout values to distinguish the drain and i/o wait and calculate the maximal timeout according the wait place. Fixes: https://github.com/alsa-project/alsa-lib/issues/228 Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
1de6f99c7d
commit
e2d9e41174
9 changed files with 55 additions and 10 deletions
|
|
@ -1146,7 +1146,7 @@ static int snd_pcm_rate_drain(snd_pcm_t *pcm)
|
|||
snd_pcm_uframes_t psize, spsize;
|
||||
int err;
|
||||
|
||||
err = __snd_pcm_wait_in_lock(rate->gen.slave, -1);
|
||||
err = __snd_pcm_wait_in_lock(rate->gen.slave, SND_PCM_WAIT_DRAIN);
|
||||
if (err < 0)
|
||||
break;
|
||||
if (size > pcm->period_size) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue