summaryrefslogtreecommitdiff
path: root/gst/asfdemux
diff options
context:
space:
mode:
authorEdward Hervey <edward@centricular.com>2017-06-27 10:25:42 +0200
committerEdward Hervey <bilboed@bilboed.com>2017-06-27 10:41:42 +0200
commit0bbdfa8ee9e969cba8f685842c1b78dcfa2da166 (patch)
tree622b12a14c32c9468ed7c59146e282cae8ed1ceb /gst/asfdemux
parent8012cfae27e0891742401faab194a41260f90779 (diff)
downloadgstreamer-plugins-ugly-0bbdfa8ee9e969cba8f685842c1b78dcfa2da166.tar.gz
asfdemux; Don't assume index is present at end of file
Some files have garbage at the end of the file, don't error out if we don't find the index there. Reverts back to previous behaviour (where corrupted/missing indexex were not a fatal error). Regression introduced in 97294eb8bbed1b9dad7d3f2c52dd69eb1812cc06
Diffstat (limited to 'gst/asfdemux')
-rw-r--r--gst/asfdemux/gstasfdemux.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c
index c7fa0d42..89404dd8 100644
--- a/gst/asfdemux/gstasfdemux.c
+++ b/gst/asfdemux/gstasfdemux.c
@@ -1090,9 +1090,12 @@ gst_asf_demux_pull_indices (GstASFDemux * demux)
gst_buffer_map (buf, &map, GST_MAP_READ);
g_assert (map.size >= 16 + 8);
if (!asf_demux_peek_object (demux, map.data, 16 + 8, &obj, TRUE)) {
+ GST_DEBUG_OBJECT (demux, "No valid object, corrupted index, ignoring");
+ GST_MEMDUMP_OBJECT (demux, "Corrupted index ?", map.data, MIN (map.size,
+ 64));
gst_buffer_unmap (buf, &map);
gst_buffer_replace (&buf, NULL);
- ret = GST_FLOW_ERROR;
+ /* Non-fatal, return */
break;
}
gst_buffer_unmap (buf, &map);