summaryrefslogtreecommitdiffstats
path: root/demux/demux_mkv.c
diff options
context:
space:
mode:
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r--demux/demux_mkv.c7
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);