matroska: default prores fourcc apcn
authorSebastian Wick <sebastian.wick@redhat.com>
Thu, 17 Feb 2022 16:36:22 +0000 (17:36 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 18 Feb 2022 08:38:31 +0000 (08:38 +0000)
If there is no codec private data for prores it should default to Apple
ProRes 422 Standard Definition (apcn). Can be tested with
strobe_scientist.mkv from
https://developers.google.com/media/vp9/hdr-encoding

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

subprojects/gst-plugins-good/gst/matroska/matroska-demux.c

index 52a76b9..4da7e15 100644 (file)
@@ -6643,16 +6643,16 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *
     }
     *codec_name = g_strdup_printf ("FFMpeg v1");
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_PRORES)) {
-    guint32 fourcc;
+    guint32 fourcc = 0;
     const gchar *variant, *variant_descr = "";
 
     /* Expect a fourcc in the codec private data */
-    if (!data || size < 4) {
-      GST_WARNING ("No or too small PRORESS fourcc (%d bytes)", size);
-      return NULL;
+    if (data && size >= 4) {
+      fourcc = GST_STR_FOURCC (data);
+    } else {
+      GST_DEBUG ("Picking apcn variant because no ProRes codec data found");
     }
 
-    fourcc = GST_STR_FOURCC (data);
     switch (fourcc) {
       case GST_MAKE_FOURCC ('a', 'p', 'c', 's'):
         variant_descr = " 4:2:2 LT";