From 434cf0c9eb362a6778d60366759ed3c502f04138 Mon Sep 17 00:00:00 2001 From: reimar Date: Mon, 16 Jul 2007 14:01:53 +0000 Subject: Avoid crash if a non-existent audio track is selected with -aid git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23790 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_mkv.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c index a18018a1a4..4eaa1891c7 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -2520,6 +2520,11 @@ demux_mkv_open (demuxer_t *demuxer) else if (demuxer->audio->id != -2) /* -2 = no audio at all */ track = demux_mkv_find_track_by_num (mkv_d, demuxer->audio->id, MATROSKA_TRACK_AUDIO); + if (track && demuxer->a_streams[track->tnum]) + { + demuxer->audio->id = track->tnum; + demuxer->audio->sh = demuxer->a_streams[track->tnum]; + } else { mp_msg (MSGT_DEMUX, MSGL_INFO, MSGTR_MPDEMUX_MKV_NoAudioTrackFound); @@ -2534,11 +2539,6 @@ demux_mkv_open (demuxer_t *demuxer) continue; if(demuxer->a_streams[track->tnum]) { - if(track && mkv_d->tracks[i] == track) - { - demuxer->audio->id = track->tnum; - demuxer->audio->sh = demuxer->a_streams[track->tnum]; - } mkv_d->last_aid++; if(mkv_d->last_aid == MAX_A_STREAMS) break; -- cgit v1.2.3