summaryrefslogtreecommitdiff
path: root/ext/gme
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2010-08-27 18:58:23 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2010-09-21 12:26:36 +0200
commite618365a1989f298ee74bf38212bbe07cb92e684 (patch)
tree4a66f37d8da864239bb32d105a748daed4200faf /ext/gme
parent2137ae524d885ca7d353a6863c25c024ba074342 (diff)
downloadgstreamer-plugins-bad-e618365a1989f298ee74bf38212bbe07cb92e684.tar.gz
gme: Post an error message on the bus for fatal errors
Also don't use GST_FLOW_IS_FATAL().
Diffstat (limited to 'ext/gme')
-rw-r--r--ext/gme/gstgme.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/gme/gstgme.c b/ext/gme/gstgme.c
index 2d7b2a58b..58df54cb1 100644
--- a/ext/gme/gstgme.c
+++ b/ext/gme/gstgme.c
@@ -395,7 +395,13 @@ gst_gme_play (GstPad * pad)
gst_pad_pause_task (pad);
- if (GST_FLOW_IS_FATAL (flow_return) || flow_return == GST_FLOW_NOT_LINKED) {
+ if (flow_return == GST_FLOW_UNEXPECTED) {
+ gst_pad_push_event (pad, gst_event_new_eos ());
+ } else if (flow_return < GST_FLOW_UNEXPECTED
+ || flow_return == GST_FLOW_NOT_LINKED) {
+ GST_ELEMENT_ERROR (gme, STREAM, FAILED, ("Internal data stream error."),
+ ("stream stopped, reason %s", gst_flow_get_name (flow_return)));
+
gst_pad_push_event (pad, gst_event_new_eos ());
}
}