matroskademux: fix AV1 caps when there's no codec_data
authorTim-Philipp Müller <tim@centricular.com>
Mon, 25 Feb 2019 11:23:56 +0000 (11:23 +0000)
committerTim-Philipp Müller <tim@centricular.com>
Fri, 1 Mar 2019 17:37:55 +0000 (17:37 +0000)
There is no "byte-stream" format for AV1 in Matroska, this
was probably cargo-culted from H.264. codec_data / CodecPrivate
is now mandatory for AV1 in Matroska[*], but there are sample
files out there which don't have it (e.g. some Elecard ones).

[*] https://github.com/Matroska-Org/matroska-specification/blob/master/codec/av1.md#codecprivate-1

gst/matroska/matroska-demux.c

index 611463c..b2cd9b5 100644 (file)
@@ -6274,9 +6274,7 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *
       gst_caps_set_simple (caps, "codec_data", GST_TYPE_BUFFER, priv, NULL);
       gst_buffer_unref (priv);
     } else {
-      GST_WARNING ("No codec data found, assuming output is byte-stream");
-      gst_caps_set_simple (caps, "stream-format", G_TYPE_STRING, "byte-stream",
-          NULL);
+      GST_WARNING ("No AV1 codec data found!");
     }
     *codec_name = g_strdup_printf ("AOM AV1");
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_PRORES)) {