diff --git a/gst/nuvdemux/gstnuvdemux.c b/gst/nuvdemux/gstnuvdemux.c index 70e1e30a83..1471954473 100644 --- a/gst/nuvdemux/gstnuvdemux.c +++ b/gst/nuvdemux/gstnuvdemux.c @@ -729,7 +729,9 @@ gst_nuv_demux_play (GstPad * pad) pause: GST_LOG_OBJECT (nuv, "pausing task, reason %s", gst_flow_get_name (res)); gst_pad_pause_task (nuv->sinkpad); - if (GST_FLOW_IS_FATAL (res)) { + if (res == GST_FLOW_UNEXPECTED) { + gst_nuv_demux_send_eos (nuv); + } else if (res == GST_FLOW_NOT_LINKED || res < GST_FLOW_UNEXPECTED) { GST_ELEMENT_ERROR (nuv, STREAM, FAILED, (_("Internal data stream error.")), ("streaming stopped, reason %s", gst_flow_get_name (res)));