diff options
author | Carlos Rafael Giani <dv@pseudoterminal.org> | 2013-12-09 18:46:14 +0100 |
---|---|---|
committer | Jan Schmidt <jan@centricular.com> | 2015-06-09 21:51:05 +1000 |
commit | 8f339c09327131f5012335b9396b7294ae1e8e8b (patch) | |
tree | 30037102638826858ee79c4c0fd90b0f5ef81acc /ext | |
parent | c5b75394a97b1de895014ac9a1a4b11d7987fada (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.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; |