ebml: crude hack to avoid crashing on unexpected metadata
authorPhilip Jägenstedt <philipj@opera.com>
Thu, 13 May 2010 08:23:10 +0000 (10:23 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 19 May 2010 18:35:28 +0000 (20:35 +0200)
The comment says this cannot happen, but it did and I don't know
why. This is not the correct fix, needs investigation. Test case:
bug_s555010094_r0.0005:0.008____IA__g_assertion_message_expr.webm

gst/matroska/matroska-demux.c

index 0e1bbf7..0dfd941 100644 (file)
@@ -3349,8 +3349,10 @@ gst_matroska_demux_parse_metadata (GstMatroskaDemux * demux)
   GList *l;
   GstEbmlLevel *curlevel;
 
-  /* Can't be NULL at this point */
-  g_assert (ebml->level != NULL);
+  if (ebml->level == NULL) {
+    GST_ERROR_OBJECT (demux, "Unexpected metadata, bailing");
+    return GST_FLOW_ERROR;
+  }
   curlevel = ebml->level->data;
 
   /* Make sure we don't parse a tags element twice and