From bb786dfb5cc480b0329876b123e468a26031cf71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Wed, 29 Dec 2010 22:36:41 +0000 Subject: [PATCH] typefinding: assume EBML files without doctype are matroska https://bugzilla.gnome.org/show_bug.cgi?id=638019 --- gst/typefind/gsttypefindfunctions.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c index 5944c70ff1..640f769dd8 100644 --- a/gst/typefind/gsttypefindfunctions.c +++ b/gst/typefind/gsttypefindfunctions.c @@ -3184,6 +3184,10 @@ ebml_check_header (GstTypeFind * tf, const gchar * doctype, int doctype_len) if (!data) return FALSE; + /* only check doctype if asked to do so */ + if (doctype == NULL || doctype_len == 0) + return TRUE; + /* the header must contain the doctype. For now, we don't parse the * whole header but simply check for the availability of that array * of characters inside the header. Not fully fool-proof, but good @@ -3204,6 +3208,8 @@ matroska_type_find (GstTypeFind * tf, gpointer ununsed) { if (ebml_check_header (tf, "matroska", 8)) gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, MATROSKA_CAPS); + else if (ebml_check_header (tf, NULL, 0)) + gst_type_find_suggest (tf, GST_TYPE_FIND_LIKELY, MATROSKA_CAPS); } /*** video/webm ***/