summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorCarlos Rafael Giani <dv@pseudoterminal.org>2013-12-09 18:46:14 +0100
committerJan Schmidt <jan@centricular.com>2015-06-09 21:51:05 +1000
commit8f339c09327131f5012335b9396b7294ae1e8e8b (patch)
tree30037102638826858ee79c4c0fd90b0f5ef81acc /ext
parentc5b75394a97b1de895014ac9a1a4b11d7987fada (diff)
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 <dv@pseudoterminal.org> https://bugzilla.gnome.org/show_bug.cgi?id=708362
Diffstat (limited to 'ext')
-rw-r--r--ext/alsa/gstalsasink.c3
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;