diff --git a/daemon/src/audio/alsa/alsalayer.cpp b/daemon/src/audio/alsa/alsalayer.cpp index d91fc5eec3d9bfdefe5fcb2aee712d637c47133f..fed0cd5320909e588b3a2c4132f29cdb1852db0d 100644 --- a/daemon/src/audio/alsa/alsalayer.cpp +++ b/daemon/src/audio/alsa/alsalayer.cpp @@ -418,6 +418,9 @@ AlsaLayer::write(void* buffer, int length, snd_pcm_t * handle) int err = snd_pcm_writei(handle, buffer , frames); + if (err < 0) + snd_pcm_recover(handle, err, 0); + if (err >= 0) return;