summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-25 22:19:11 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-25 22:19:11 +0000
commit2c23e786e5a6ef60803036d79de380cc7dc1f55c (patch)
treef68dc2118ebb40ca78c6939df100ff7dcd50be8e /libmpdemux
parent8adea7878e5ecbf506c0f45c128472b306f2d345 (diff)
downloadmpv-2c23e786e5a6ef60803036d79de380cc7dc1f55c.tar.bz2
mpv-2c23e786e5a6ef60803036d79de380cc7dc1f55c.tar.xz
fixed invalid -aid/-vid segfault
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7502 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_avi.c11
1 files changed, 10 insertions, 1 deletions
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){