diff options
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r-- | demux/demux_mkv.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c index cadb1a3a7f..0b2bd719ee 100644 --- a/demux/demux_mkv.c +++ b/demux/demux_mkv.c @@ -114,6 +114,7 @@ typedef struct mkv_track { double codec_delay; int default_track; + int forced_track; unsigned char *private_data; unsigned int private_size; @@ -631,6 +632,11 @@ static void parse_trackentry(struct demuxer *demuxer, track->default_track = 1; } + if (entry->n_flag_forced) { + track->forced_track = entry->flag_forced; + MP_VERBOSE(demuxer, "| + Forced flag: %u\n", track->forced_track); + } + if (entry->n_default_duration) { track->default_duration = entry->default_duration / 1e9; if (entry->default_duration == 0) { @@ -1171,6 +1177,7 @@ static void init_track(demuxer_t *demuxer, mkv_track_t *track, sh->demuxer_id = track->tnum; sh->title = track->name; sh->default_track = track->default_track; + sh->forced_track = track->forced_track; } static int demux_mkv_open_video(demuxer_t *demuxer, mkv_track_t *track); |