From adb4ddd3847a1f30c4316808dc36e0db54d132aa Mon Sep 17 00:00:00 2001 From: Iain Holmes Date: Wed, 29 Oct 2003 19:14:16 +0000 Subject: [PATCH] Add video/x-mng typefinding for completeness Original commit message from CVS: Add video/x-mng typefinding for completeness --- gst/typefind/gsttypefindfunctions.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c index dc4f02b..138ee29 100644 --- a/gst/typefind/gsttypefindfunctions.c +++ b/gst/typefind/gsttypefindfunctions.c @@ -902,6 +902,21 @@ png_type_find (GstTypeFind *tf, gpointer unused) } } +/*** video/x-mng *******************/ +#define MNG_CAPS gst_caps_new ("mng_type_find", "video/x-mng", NULL) +static void +mng_type_find (GstTypeFind *tf, gpointer unused) +{ + guint8 *data = gst_type_find_peek (tf, 0, 8); + guint8 header[4] = {0x0D, 0x0A, 0x1A, 0x0A}; + + if (data && (data[0] == 0x8A) && memcmp (data + 1, "MNG", 3) == 0) { + if (memcmp (data + 4, header, 4) == 0) { + gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, MNG_CAPS); + } + } +} + /*** image/bmp *********************/ #define BMP_CAPS gst_caps_new ("bmp_type_find", "image/bmp", NULL) static void @@ -1048,6 +1063,7 @@ plugin_init (GModule *module, GstPlugin *plugin) static gchar * dv_exts[] = {"dv", NULL}; static gchar * sid_exts[] = {"sid", NULL}; static gchar * xcf_exts[] = {"xcf", NULL}; + static gchar * mng_exts[] = {"mng", NULL}; GST_DEBUG_CATEGORY_INIT (type_find_debug, "typefindfunctions", GST_DEBUG_FG_GREEN | GST_DEBUG_BG_RED, "generic type find functions"); @@ -1109,6 +1125,8 @@ plugin_init (GModule *module, GstPlugin *plugin) sid_type_find, sid_exts, SID_CAPS, NULL); gst_type_find_factory_register (plugin, "image/x-xcf", GST_ELEMENT_RANK_SECONDARY, xcf_type_find, xcf_exts, XCF_CAPS, NULL); + gst_type_find_factory_register (plugin, "video/x-mng", GST_ELEMENT_RANK_SECONDARY, + mng_type_find, mng_exts, MNG_CAPS, NULL); return TRUE; } -- 2.7.4