]> git.sesse.net Git - ffmpeg/commitdiff
avformat/matroskaenc: Add check for using explicit TrackNumber
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Fri, 1 Nov 2019 10:49:47 +0000 (11:49 +0100)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Tue, 21 Apr 2020 05:31:10 +0000 (07:31 +0200)
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 <andreas.rheinhardt@gmail.com>
libavformat/matroskaenc.c

index a65221e14376b865b2dd85ed4beb0659703e35a6..2cd5933da8633d3b6c337fcb77ae4524003f9e45 100644 (file)
@@ -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;
 }