From 5dabaaf0939c4ed2e2549318bf5243948a1cd964 Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 14 Apr 2013 06:23:12 +0200 Subject: 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. --- demux/demux_mkv.c | 45 --------------------------------------------- 1 file changed, 45 deletions(-) (limited to 'demux/demux_mkv.c') 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; } -- cgit v1.2.3