From 2c23e786e5a6ef60803036d79de380cc7dc1f55c Mon Sep 17 00:00:00 2001 From: arpi Date: Wed, 25 Sep 2002 22:19:11 +0000 Subject: [PATCH] fixed invalid -aid/-vid segfault git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7502 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_avi.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libmpdemux/demux_avi.c b/libmpdemux/demux_avi.c index b034988191..af2b8fb33b 100644 --- a/libmpdemux/demux_avi.c +++ b/libmpdemux/demux_avi.c @@ -445,6 +445,16 @@ demuxer_t* demux_open_avi(demuxer_t* demuxer){ //---- AVI header: read_avi_header(demuxer,(demuxer->stream->type!=STREAMTYPE_STREAM)?index_mode:-2); + + if(demuxer->audio->id>=0 && !demuxer->a_streams[demuxer->audio->id]){ + mp_msg(MSGT_DEMUX,MSGL_WARN,"AVI: invalid audio stream ID: %d - ignoring (nosound)\n",demuxer->audio->id); + demuxer->audio->id=-2; // disabled + } + if(demuxer->video->id>=0 && !demuxer->v_streams[demuxer->video->id]){ + mp_msg(MSGT_DEMUX,MSGL_WARN,"AVI: invalid video stream ID: %d - ignoring (using default)\n",demuxer->video->id); + demuxer->video->id=-1; // autodetect + } + stream_reset(demuxer->stream); stream_seek(demuxer->stream,demuxer->movi_start); priv->idx_pos=0; @@ -518,7 +528,6 @@ demuxer_t* demux_open_avi(demuxer_t* demuxer){ if(!ds_fill_buffer(d_video)){ mp_msg(MSGT_DEMUX,MSGL_ERR,"AVI: " MSGTR_MissingVideoStreamBug); return NULL; -// GUI_MSG( mplAVIErrorMissingVideoStream ) } sh_video=d_video->sh;sh_video->ds=d_video; if(d_audio->id!=-2){