summaryrefslogtreecommitdiffstats
path: root/demux/demux_mkv.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-04-14 06:23:12 +0200
committerwm4 <wm4@nowhere>2013-04-20 23:28:24 +0200
commit5dabaaf0939c4ed2e2549318bf5243948a1cd964 (patch)
treef25ba4289ee2b74a508a996cc173c3349258a2a6 /demux/demux_mkv.c
parent69258b2c7113d380e3baf4717aac71dc71872394 (diff)
downloadmpv-5dabaaf0939c4ed2e2549318bf5243948a1cd964.tar.bz2
mpv-5dabaaf0939c4ed2e2549318bf5243948a1cd964.tar.xz
demux_mkv: use new way of track switching
Since demux_mkv queries the demuxer state when reading packets, track switching is completely passive. Cycling etc. is done by the frontend. As result, all track switching code can be removed.
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r--demux/demux_mkv.c45
1 files changed, 0 insertions, 45 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index e0b5e289e0..42b251ac1a 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -2591,51 +2591,6 @@ static int demux_mkv_control(demuxer_t *demuxer, int cmd, void *arg)
*((double *) arg) = (double) mkv_d->duration;
return DEMUXER_CTRL_OK;
-
- case DEMUXER_CTRL_SWITCH_AUDIO:;
- int new_aid = *(int *) arg;
- int current_aid = demuxer->audio->id;
- if (current_aid < 0)
- current_aid = -1;
- if (new_aid == -1) { // cycle to next
- new_aid = current_aid;
- while (1) {
- new_aid = (new_aid + 2) % (mkv_d->num_audio_tracks + 1) - 1;
- if (new_aid == -1 || demuxer->a_streams[new_aid])
- break;
- }
- }
- if (new_aid < 0 || new_aid >= mkv_d->num_audio_tracks ||
- !demuxer->a_streams[new_aid])
- new_aid = -2;
- *(int *) arg = new_aid;
- if (current_aid != new_aid)
- ds_free_packs(demuxer->audio);
- demuxer->audio->id = new_aid;
- return DEMUXER_CTRL_OK;
-
- case DEMUXER_CTRL_SWITCH_VIDEO:;
- int new_vid = *(int *) arg;
- int current_vid = demuxer->video->id;
- if (current_vid < 0)
- current_vid = -1;
- if (new_vid == -1) { // cycle to next
- new_vid = current_vid;
- while (1) {
- new_vid = (new_vid + 2) % (mkv_d->num_video_tracks + 1) - 1;
- if (new_vid == -1 || demuxer->v_streams[new_vid])
- break;
- }
- }
- if (new_vid < 0 || new_vid >= mkv_d->num_video_tracks ||
- !demuxer->v_streams[new_vid])
- new_vid = -2;
- *(int *) arg = new_vid;
- if (current_vid != new_vid)
- ds_free_packs(demuxer->video);
- demuxer->video->id = new_vid;
- return DEMUXER_CTRL_OK;
-
default:
return DEMUXER_CTRL_NOTIMPL;
}