diff options
Diffstat (limited to 'audio')
-rw-r--r-- | audio/out/ao_alsa.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/audio/out/ao_alsa.c b/audio/out/ao_alsa.c index 014cd837af..dba6b19514 100644 --- a/audio/out/ao_alsa.c +++ b/audio/out/ao_alsa.c @@ -822,6 +822,9 @@ static int play(struct ao *ao, void **data, int samples, int flags) if (res == -EINTR || res == -EAGAIN) { /* retry */ res = 0; + } else if (res == -ENODEV) { + MP_WARN(ao, "Device lost, trying to recover...\n"); + ao_request_reload(ao); } else if (res < 0) { if (res == -ESTRPIPE) { /* suspend */ resume_device(ao); |