diff options
Diffstat (limited to 'ext/alsa/gstalsasink.c')
-rw-r--r-- | ext/alsa/gstalsasink.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/alsa/gstalsasink.c b/ext/alsa/gstalsasink.c index 77fa0a1b9..cc7230475 100644 --- a/ext/alsa/gstalsasink.c +++ b/ext/alsa/gstalsasink.c @@ -994,6 +994,7 @@ xrun_recovery (GstAlsaSink * alsa, snd_pcm_t * handle, gint err) GST_WARNING_OBJECT (alsa, "Can't recover from underrun, prepare failed: %s", snd_strerror (err)); + gst_audio_base_sink_report_device_failure (GST_AUDIO_BASE_SINK (alsa)); return 0; } else if (err == -ESTRPIPE) { while ((err = snd_pcm_resume (handle)) == -EAGAIN) @@ -1006,6 +1007,8 @@ xrun_recovery (GstAlsaSink * alsa, snd_pcm_t * handle, gint err) "Can't recover from suspend, prepare failed: %s", snd_strerror (err)); } + if (err == 0) + gst_audio_base_sink_report_device_failure (GST_AUDIO_BASE_SINK (alsa)); return 0; } return err; |