From d4bbf241baa22cbaf57ed1b430c705de8cd48562 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 21 Nov 2005 10:51:43 +0000 Subject: [PATCH] Abort from snd_pcm_dshare_drain in XRUN state Fixed the hang-up in snd_pcm_dshare_drain() when the state is XRUN. --- src/pcm/pcm_dshare.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c index 8d58ecce..aebe64c4 100644 --- a/src/pcm/pcm_dshare.c +++ b/src/pcm/pcm_dshare.c @@ -385,6 +385,12 @@ static int snd_pcm_dshare_drain(snd_pcm_t *pcm) return 0; } } + + if (dshare->state == SND_PCM_STATE_XRUN) { + snd_pcm_dshare_drop(pcm); + return 0; + } + stop_threshold = pcm->stop_threshold; if (pcm->stop_threshold > pcm->buffer_size) pcm->stop_threshold = pcm->buffer_size; -- 2.47.1