diff options
author | Jaroslav Kysela <perex@perex.cz> | 2023-05-02 16:56:49 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2023-05-03 15:59:15 +0200 |
commit | e2d9e411744dede5a71e04a107cdc0ab7c1d0ed9 (patch) | |
tree | 412e10ce1479c1a860ace74209dd91bd86dbdf30 /src/pcm/pcm_rate.c | |
parent | 1de6f99c7d058634b5550fa59c01f3b6546f830a (diff) | |
download | alsa-lib-e2d9e411744dede5a71e04a107cdc0ab7c1d0ed9.tar.gz |
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>
Diffstat (limited to 'src/pcm/pcm_rate.c')
-rw-r--r-- | src/pcm/pcm_rate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c index c8076859..44d7e760 100644 --- a/src/pcm/pcm_rate.c +++ b/src/pcm/pcm_rate.c @@ -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) { |