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 <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2019-11-01 11:49:47 +01:00
parent 945b928730
commit 86de864741
1 changed files with 3 additions and 0 deletions

View 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;
}