diff options
author | wm4 <wm4@nowhere> | 2015-06-27 22:02:24 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-06-27 22:02:24 +0200 |
commit | 26f52c5730bbe66229e05f11be8a94a539786318 (patch) | |
tree | 0e16575b4310801e1e1a1f6dbc2d75b3abd4e5ee /demux/demux_mkv.c | |
parent | a8711001c5c14ba6b06fddcccb46a78d815d1edf (diff) | |
download | mpv-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.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); |