From: Edward Hervey Date: Tue, 22 Nov 2016 16:14:44 +0000 (+0100) Subject: asfdemux: Handle EOS in push-mode on corrupted files X-Git-Tag: 1.12.2~60 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=48a493070aec4b5426723a4a27f14eba107779cf;p=platform%2Fupstream%2Fgst-plugins-ugly.git asfdemux: Handle EOS in push-mode on corrupted files It is possible no streams were activated when receiving EOS, if so handled it as if we hadn't seen the header https://bugzilla.gnome.org/show_bug.cgi?id=774846 --- diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c index 09168a8c..e04f5be1 100644 --- a/gst/asfdemux/gstasfdemux.c +++ b/gst/asfdemux/gstasfdemux.c @@ -448,6 +448,13 @@ gst_asf_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event) break; } flow = gst_asf_demux_push_complete_payloads (demux, TRUE); + if (!demux->activated_streams) { + /* If we still haven't got activated streams, the file is most likely corrupt */ + GST_ELEMENT_ERROR (demux, STREAM, WRONG_TYPE, + (_("This stream contains no data.")), + ("got eos and didn't receive a complete header object")); + break; + } if (flow < GST_FLOW_EOS || flow == GST_FLOW_NOT_LINKED) { GST_ELEMENT_FLOW_ERROR (demux, flow); break;