typefindfunctions: Add various other boxes to the list of known top-level MP4 boxes
authorSebastian Dröge <sebastian@centricular.com>
Sat, 23 Oct 2021 11:28:35 +0000 (14:28 +0300)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 25 Oct 2021 09:17:42 +0000 (09:17 +0000)
styp, udta, sidx, ssix, prft, mfra, pdin and meta are in the ISOBMFF
spec and emsg in the CMAF spec.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1234>

subprojects/gst-plugins-base/gst/typefind/gsttypefindfunctions.c

index d5f466d..f8b7665 100644 (file)
@@ -3434,13 +3434,22 @@ qt_type_find (GstTypeFind * tf, gpointer unused)
       break;
     }
 
-    /* box/atom types that are in common with ISO base media file format */
+    /* top-level box/atom types that are in common with ISO base media file format */
     if (STRNCMP (&data[4], "moov", 4) == 0 ||
         STRNCMP (&data[4], "mdat", 4) == 0 ||
         STRNCMP (&data[4], "ftyp", 4) == 0 ||
         STRNCMP (&data[4], "free", 4) == 0 ||
         STRNCMP (&data[4], "uuid", 4) == 0 ||
+        STRNCMP (&data[4], "udta", 4) == 0 ||
+        STRNCMP (&data[4], "styp", 4) == 0 ||
+        STRNCMP (&data[4], "sidx", 4) == 0 ||
+        STRNCMP (&data[4], "ssix", 4) == 0 ||
+        STRNCMP (&data[4], "prft", 4) == 0 ||
+        STRNCMP (&data[4], "emsg", 4) == 0 ||
         STRNCMP (&data[4], "moof", 4) == 0 ||
+        STRNCMP (&data[4], "mfra", 4) == 0 ||
+        STRNCMP (&data[4], "pdin", 4) == 0 ||
+        STRNCMP (&data[4], "meta", 4) == 0 ||
         STRNCMP (&data[4], "skip", 4) == 0) {
       if (tip == 0) {
         tip = GST_TYPE_FIND_LIKELY;