diff options
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 ()); } } |