diff --git a/linux/alsa/alsa_driver.c b/linux/alsa/alsa_driver.c index 39be0624..2041feb6 100644 --- a/linux/alsa/alsa_driver.c +++ b/linux/alsa/alsa_driver.c @@ -1294,7 +1294,7 @@ alsa_driver_wait (alsa_driver_t *driver, int extra_fd, int *status, float again: - while (need_playback || need_capture) { + while ((need_playback || need_capture) && !xrun_detected) { int poll_result; unsigned int ci = 0;