diff options
author | mosu <mosu@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-02-01 10:58:50 +0000 |
---|---|---|
committer | mosu <mosu@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-02-01 10:58:50 +0000 |
commit | b5b742579514a34ff945dde718624ede7adcd3a1 (patch) | |
tree | f15f6c1b355dfc806d88733d451427adf978923f /libmpdemux/demux_mkv.c | |
parent | fe6034b159fe25e5a882d9b53dcfb2d1fa65eed2 (diff) | |
download | mpv-b5b742579514a34ff945dde718624ede7adcd3a1.tar.bz2 mpv-b5b742579514a34ff945dde718624ede7adcd3a1.tar.xz |
Do not open more than one audio/video/subtitle stream at the same time.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11902 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_mkv.c')
-rw-r--r-- | libmpdemux/demux_mkv.c | 35 |
1 files changed, 5 insertions, 30 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c index da7071880a..91e14d6b36 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -1944,23 +1944,13 @@ demux_mkv_open (demuxer_t *demuxer) track = demux_mkv_find_track_by_num (mkv_d, demuxer->video->id, MATROSKA_TRACK_VIDEO); - if (track) - { - for (i=0; i < mkv_d->num_tracks; i++) - if (mkv_d->tracks[i]->type == MATROSKA_TRACK_VIDEO) - { - int def = (mkv_d->tracks[i] == track); - if (demux_mkv_open_video (demuxer, mkv_d->tracks[i]) && def) - demuxer->video->id = -2; - else if (def) + if (track && !demux_mkv_open_video (demuxer, track)) { mp_msg (MSGT_DEMUX, MSGL_INFO, "[mkv] Will play video track %u\n", track->tnum); demuxer->video->id = track->tnum; demuxer->video->sh = demuxer->v_streams[track->tnum]; } - } - } else { mp_msg (MSGT_DEMUX, MSGL_INFO, "[mkv] No video track found/wanted.\n"); @@ -2000,23 +1990,13 @@ demux_mkv_open (demuxer_t *demuxer) track = demux_mkv_find_track_by_num (mkv_d, demuxer->audio->id, MATROSKA_TRACK_AUDIO); - if (track) - { - for (i=0; i < mkv_d->num_tracks; i++) - if (mkv_d->tracks[i]->type == MATROSKA_TRACK_AUDIO) - { - int def = (mkv_d->tracks[i] == track); - if (demux_mkv_open_audio (demuxer, mkv_d->tracks[i]) && def) - demuxer->audio->id = -2; - else if (def) + if (track && !demux_mkv_open_audio (demuxer, track)) { mp_msg (MSGT_DEMUX, MSGL_INFO, "[mkv] Will play audio track %u\n", track->tnum); demuxer->audio->id = track->tnum; demuxer->audio->sh = demuxer->a_streams[track->tnum]; } - } - } else { mp_msg (MSGT_DEMUX, MSGL_INFO, "[mkv] No audio track found/wanted.\n"); @@ -2033,19 +2013,14 @@ demux_mkv_open (demuxer_t *demuxer) track = demux_mkv_find_track_by_language (mkv_d, dvdsub_lang, MATROSKA_TRACK_SUBTITLE); - for (i=0; i < mkv_d->num_tracks; i++) - if (mkv_d->tracks[i]->type == MATROSKA_TRACK_SUBTITLE) - { - int def = (mkv_d->tracks[i] == track); - if (demux_mkv_open_sub (demuxer, mkv_d->tracks[i]) && def) - demuxer->sub->id = -2; - else if (def) + if (track && !demux_mkv_open_sub (demuxer, track)) { mp_msg (MSGT_DEMUX, MSGL_INFO, "[mkv] Will display subtitle track %u\n", track->tnum); demuxer->sub->id = track->tnum; } - } + else + demuxer->sub->id = -2; if (mkv_d->chapters) { |