From 2fcd4cf73e1a06119e5c3284abe05942967ce3ad Mon Sep 17 00:00:00 2001 From: Uoti Urpala Date: Mon, 31 May 2010 21:34:38 +0300 Subject: demux_mkv: fix possible seek crash Commit fc39d48465 ("demux_mkv: store streams sequentially in demuxer->[avs]_streams") had a copy-paste error causing it to look up a video ID where it should have been an audio one. The most likely visible symptom was a segfault when seeking while playing a high-numbered audio track. Looks like I was careless with that original commit, second bug in the same one... --- libmpdemux/demux_mkv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libmpdemux/demux_mkv.c') diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c index 36d198d2bb..f331960b80 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -2413,11 +2413,11 @@ static void demux_mkv_seek(demuxer_t *demuxer, float rel_seek_secs, uint64_t v_tnum = -1; if (demuxer->video->id >= 0) v_tnum = find_track_by_num(mkv_d, demuxer->video->id, - MATROSKA_TRACK_VIDEO)->tnum; + MATROSKA_TRACK_VIDEO)->tnum; uint64_t a_tnum = -1; if (demuxer->audio->id >= 0) a_tnum = find_track_by_num(mkv_d, demuxer->audio->id, - MATROSKA_TRACK_VIDEO)->tnum; + MATROSKA_TRACK_AUDIO)->tnum; if (!(flags & (SEEK_BACKWARD | SEEK_FORWARD))) { if (flags & SEEK_ABSOLUTE || rel_seek_secs < 0) flags |= SEEK_BACKWARD; -- cgit v1.2.3