From 8f339c09327131f5012335b9396b7294ae1e8e8b Mon Sep 17 00:00:00 2001 From: Carlos Rafael Giani Date: Mon, 9 Dec 2013 18:46:14 +0100 Subject: alsa: report recoverable device failures to base class This gives custom slave methods in the base class a chance to resynchronize themselves Signed-off-by: Carlos Rafael Giani https://bugzilla.gnome.org/show_bug.cgi?id=708362 --- ext/alsa/gstalsasink.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ext') 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; -- cgit v1.2.3