diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-08-27 18:58:23 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-09-21 12:26:36 +0200 |
commit | e618365a1989f298ee74bf38212bbe07cb92e684 (patch) | |
tree | 4a66f37d8da864239bb32d105a748daed4200faf /ext/gme | |
parent | 2137ae524d885ca7d353a6863c25c024ba074342 (diff) | |
download | gstreamer-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.c | 8 |
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 ()); } } |