summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-07-16 14:01:53 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-07-16 14:01:53 +0000
commit434cf0c9eb362a6778d60366759ed3c502f04138 (patch)
tree126a67519318742705bed1cb2aa53bc318ad0b85 /libmpdemux
parent4ab613d1a3ba6cda5c1d127e343f32506f6a9490 (diff)
downloadmpv-434cf0c9eb362a6778d60366759ed3c502f04138.tar.bz2
mpv-434cf0c9eb362a6778d60366759ed3c502f04138.tar.xz
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
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_mkv.c10
1 files 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;