summaryrefslogtreecommitdiffstats
path: root/src/modules/alsa/alsa-sink.c
diff options
context:
space:
mode:
authorColin Guthrie <cguthrie@mandriva.org>2010-06-06 21:19:34 +0100
committerColin Guthrie <cguthrie@mandriva.org>2010-07-13 22:08:23 +0100
commit3ede7e4c01e0c429d4b6ac7a3eb25d7e6753ba21 (patch)
treeca916dec1080b1659b3745b57ff57ef1763ec65f /src/modules/alsa/alsa-sink.c
parent1415a295c25d331985c2e9a2a387ba0edd89ea0f (diff)
alsa: Fix assertion on mmap_write (triggered via a52 plugin)
Diffstat (limited to 'src/modules/alsa/alsa-sink.c')
-rw-r--r--src/modules/alsa/alsa-sink.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index 35a806c8..2995c3ce 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -610,6 +610,9 @@ static int mmap_write(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polle
if (PA_UNLIKELY((sframes = snd_pcm_mmap_commit(u->pcm_handle, offset, frames)) < 0)) {
+ if (!after_avail && (int) sframes == -EAGAIN)
+ break;
+
if ((r = try_recover(u, "snd_pcm_mmap_commit", (int) sframes)) == 0)
continue;