From 8a736f6e9883a0abe4a5038d7e45d31ae125ce1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 18 Aug 2015 12:56:33 +0300 Subject: [PATCH] typefindfunctions: Add typefinder for TTML+XML Used in DASH among other things, as SMPTE Timed Text. --- gst/typefind/gsttypefindfunctions.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c index 7c58e1f8b9..2bedf18c43 100644 --- a/gst/typefind/gsttypefindfunctions.c +++ b/gst/typefind/gsttypefindfunctions.c @@ -655,6 +655,19 @@ smil_type_find (GstTypeFind * tf, gpointer unused) } } +/*** application/ttml+xml *****************************************************/ + +static GstStaticCaps ttml_xml_caps = GST_STATIC_CAPS ("application/ttml+xml"); + +#define TTML_XML_CAPS (gst_static_caps_get(&ttml_xml_caps)) +static void +ttml_xml_type_find (GstTypeFind * tf, gpointer unused) +{ + if (xml_check_first_element (tf, "tt", 2, FALSE)) { + gst_type_find_suggest (tf, GST_TYPE_FIND_MAXIMUM, TTML_XML_CAPS); + } +} + /*** text/html ***/ static GstStaticCaps html_caps = GST_STATIC_CAPS ("text/html"); @@ -5629,6 +5642,8 @@ plugin_init (GstPlugin * plugin) sdp_type_find, "sdp", SDP_CAPS, NULL, NULL); TYPE_FIND_REGISTER (plugin, "application/smil", GST_RANK_SECONDARY, smil_type_find, "smil", SMIL_CAPS, NULL, NULL); + TYPE_FIND_REGISTER (plugin, "application/ttml+xml", GST_RANK_SECONDARY, + ttml_xml_type_find, "ttml+xml", TTML_XML_CAPS, NULL, NULL); TYPE_FIND_REGISTER (plugin, "application/xml", GST_RANK_MARGINAL, xml_type_find, "xml", GENERIC_XML_CAPS, NULL, NULL); TYPE_FIND_REGISTER_RIFF (plugin, "audio/x-wav", GST_RANK_PRIMARY, "wav",