From 86de864741fdc046f353a82da526445db44c4287 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Fri, 1 Nov 2019 11:49:47 +0100 Subject: [PATCH] avformat/matroskaenc: Add check for using explicit TrackNumber When creating DASH streams, the TrackNumber is externally prescribed and not derived from the number of streams in the AVFormatContext, so if the number of tracks for a file using an explicit TrackNumber was more than one, the resulting file would be broken (it would be impossible to tell to which track a Block belongs if different tracks share the same TrackNumber). So disallow this. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskaenc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index a65221e143..2cd5933da8 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -2650,6 +2650,9 @@ static int mkv_init(struct AVFormatContext *s) track->track_num_size = ebml_num_size(track->track_num); } + if (mkv->is_dash && nb_tracks != 1) + return AVERROR(EINVAL); + return 0; }