diff options
| -rw-r--r-- | src/modules/alsa/alsa-sink.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index 02b5a02b..cc7baf2c 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -607,6 +607,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;  | 
