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
This commit is contained in:
Edward Hervey 2016-11-22 17:14:44 +01:00 committed by Edward Hervey
parent e7ff86665a
commit 48a493070a

View file

@ -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;