summaryrefslogtreecommitdiff
path: root/src/pcm/pcm_share.c
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2023-05-02 16:56:49 +0200
committerJaroslav Kysela <perex@perex.cz>2023-05-03 15:59:15 +0200
commite2d9e411744dede5a71e04a107cdc0ab7c1d0ed9 (patch)
tree412e10ce1479c1a860ace74209dd91bd86dbdf30 /src/pcm/pcm_share.c
parent1de6f99c7d058634b5550fa59c01f3b6546f830a (diff)
downloadalsa-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_share.c')
-rw-r--r--src/pcm/pcm_share.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pcm/pcm_share.c b/src/pcm/pcm_share.c
index ac088472..677f4132 100644
--- a/src/pcm/pcm_share.c
+++ b/src/pcm/pcm_share.c
@@ -1194,7 +1194,7 @@ static int snd_pcm_share_drain(snd_pcm_t *pcm)
_snd_pcm_share_update(pcm);
Pthread_mutex_unlock(&slave->mutex);
if (!(pcm->mode & SND_PCM_NONBLOCK))
- snd_pcm_wait(pcm, -1);
+ snd_pcm_wait(pcm, SND_PCM_WAIT_DRAIN);
return 0;
default:
assert(0);