summaryrefslogtreecommitdiffstats
path: root/demux/demux_mkv.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-06-27 22:02:24 +0200
committerwm4 <wm4@nowhere>2015-06-27 22:02:24 +0200
commit26f52c5730bbe66229e05f11be8a94a539786318 (patch)
tree0e16575b4310801e1e1a1f6dbc2d75b3abd4e5ee /demux/demux_mkv.c
parenta8711001c5c14ba6b06fddcccb46a78d815d1edf (diff)
downloadmpv-26f52c5730bbe66229e05f11be8a94a539786318.tar.bz2
mpv-26f52c5730bbe66229e05f11be8a94a539786318.tar.xz
demux: export forced flag
At least Matroska files have a "forced" flag (in addition to the "default" flag). Export this flag. Treat it almost like the default flag, but with slightly higher priority.
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);