diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-08-12 12:09:45 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-08-12 12:11:08 +0200 |
commit | 3b4c35e319809ff8bdc00fb364e9140cb9a4c2d7 (patch) | |
tree | 3b76109ec7bc6f3056c9fe6a2777cda2ff609679 | |
parent | cb19626c8c7fc8ac1ab7e740e4ec776800dc290f (diff) |
typefindfunctions: Also detect SVG by the <svg> starting tag
Not all SVG images have the DOCTYPE specified.
-rw-r--r-- | gst/typefind/gsttypefindfunctions.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c index 88b7b2130..e308826d7 100644 --- a/gst/typefind/gsttypefindfunctions.c +++ b/gst/typefind/gsttypefindfunctions.c @@ -1280,6 +1280,7 @@ static void svg_type_find (GstTypeFind * tf, gpointer unused) { static const gchar svg_doctype[] = "!DOCTYPE svg"; + static const gchar svg_tag[] = "<svg"; DataScanCtx c = { 0, NULL, 0 }; while (c.offset <= 1024) { @@ -1289,6 +1290,9 @@ svg_type_find (GstTypeFind * tf, gpointer unused) if (memcmp (svg_doctype, c.data, 12) == 0) { gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, SVG_CAPS); return; + } else if (memcmp (svg_tag, c.data, 4) == 0) { + gst_type_find_suggest (tf, GST_TYPE_FIND_LIKELY, SVG_CAPS); + return; } data_scan_ctx_advance (tf, &c, 1); } |