matroska: Fix AV1 alignment to TU

Matroska stores AV1 in temporal unit, so that all OBU sharing the same
timestamp are put together. This was previously just assumed, which isn't
safe now that we have more alignments.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837>
This commit is contained in:
Nicolas Dufresne 2022-03-02 16:31:24 -05:00 committed by GStreamer Marge Bot
parent f6c070fbff
commit 0f15580853
2 changed files with 3 additions and 2 deletions

View file

@ -6621,7 +6621,8 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *
gst_caps_set_simple (caps, "codec-alpha", G_TYPE_BOOLEAN, TRUE, NULL);
*codec_name = g_strdup_printf ("On2 VP9");
} else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_AV1)) {
caps = gst_caps_new_empty_simple ("video/x-av1");
caps = gst_caps_new_simple ("video/x-av1",
"alignment", G_TYPE_STRING, "tu", NULL);
if (data) {
GstBuffer *priv;

View file

@ -146,7 +146,7 @@ static GstStaticPadTemplate videosink_templ =
"video/x-prores, "
COMMON_VIDEO_CAPS "; "
"video/x-wmv, " "wmvversion = (int) [ 1, 3 ], " COMMON_VIDEO_CAPS "; "
"video/x-av1, " COMMON_VIDEO_CAPS ";"
"video/x-av1, " "alignment = (string) \"tu\", " COMMON_VIDEO_CAPS ";"
"video/x-ffv, ffversion = (int) 1, " COMMON_VIDEO_CAPS)
);