summaryrefslogtreecommitdiff
path: root/gst/typefind
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2013-03-22 09:35:21 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2013-03-22 09:35:21 +0000
commitc7855b5505e35195b6f116c0bf942100135098fb (patch)
tree139cc24fcee3be06a23539c2a0f6ac973509d31e /gst/typefind
parent383f58b0ed15c5fd14d2a760719295256f6ba545 (diff)
typefinding: fix y4m caps
We need to specify the y4mversion field now. https://bugzilla.gnome.org/show_bug.cgi?id=696282
Diffstat (limited to 'gst/typefind')
-rw-r--r--gst/typefind/gsttypefindfunctions.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c
index 5f3c22746..faf55b97f 100644
--- a/gst/typefind/gsttypefindfunctions.c
+++ b/gst/typefind/gsttypefindfunctions.c
@@ -4742,6 +4742,20 @@ degas_type_find (GstTypeFind * tf, gpointer private)
}
}
+/*** y4m ***/
+
+static void
+y4m_typefind (GstTypeFind * tf, gpointer private)
+{
+ const guint8 *data;
+
+ data = gst_type_find_peek (tf, 0, 10);
+ if (data != NULL && memcmp (data, "YUV4MPEG2 ", 10) == 0) {
+ gst_type_find_suggest_simple (tf, GST_TYPE_FIND_LIKELY,
+ "application/x-yuv4mpeg", "y4mversion", G_TYPE_INT, 2, NULL);
+ }
+}
+
/*** DVD ISO images (looks like H.264, see #674069) ***/
static void
dvdiso_type_find (GstTypeFind * tf, gpointer private)
@@ -5216,8 +5230,8 @@ plugin_init (GstPlugin * plugin)
GST_TYPE_FIND_LIKELY);
TYPE_FIND_REGISTER (plugin, "image/vnd.wap.wbmp", GST_RANK_MARGINAL,
wbmp_typefind, NULL, NULL, NULL, NULL);
- TYPE_FIND_REGISTER_START_WITH (plugin, "application/x-yuv4mpeg",
- GST_RANK_SECONDARY, "y4m", "YUV4MPEG2 ", 10, GST_TYPE_FIND_LIKELY);
+ TYPE_FIND_REGISTER (plugin, "application/x-yuv4mpeg", GST_RANK_SECONDARY,
+ y4m_typefind, NULL, NULL, NULL, NULL);
TYPE_FIND_REGISTER (plugin, "image/x-icon", GST_RANK_MARGINAL,
windows_icon_typefind, NULL, NULL, NULL, NULL);