From 367860560cbf004bde44b3886407b8c21c7cdac0 Mon Sep 17 00:00:00 2001 From: arpi Date: Wed, 16 Oct 2002 21:04:19 +0000 Subject: 10l - do not read INDEX twice!!! list index even if generated by mplayer (verbose>=2) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7763 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/aviheader.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'libmpdemux/aviheader.c') diff --git a/libmpdemux/aviheader.c b/libmpdemux/aviheader.c index d600055266..b88f314d23 100644 --- a/libmpdemux/aviheader.c +++ b/libmpdemux/aviheader.c @@ -65,8 +65,8 @@ while(1){ if(demuxer->stream->end_pos>demuxer->movi_end) demuxer->movi_end=demuxer->stream->end_pos; if(index_mode==-2 || index_mode==2 || index_mode==0) break; // reading from non-seekable source (stdin) or forced index or no index forced - len=(len+1)&(~1); - stream_skip(demuxer->stream,len); + if(list_end>0) stream_seek(demuxer->stream,list_end); // skip movi + list_end=0; } continue; } @@ -248,9 +248,10 @@ while(1){ if(index_mode){ int i; priv->idx_size=size2>>4; - mp_msg(MSGT_HEADER,MSGL_V,"Reading INDEX block, %d chunks for %ld frames\n", - priv->idx_size,avih.dwTotalFrames); + mp_msg(MSGT_HEADER,MSGL_V,"Reading INDEX block, %d chunks for %ld frames (fpos=%p)\n", + priv->idx_size,avih.dwTotalFrames, stream_tell(demuxer->stream)); priv->idx=malloc(priv->idx_size<<4); +// printf("\nindex to %p !!!!! (priv=%p)\n",priv->idx,priv); stream_read(demuxer->stream,(char*)priv->idx,priv->idx_size<<4); for (i = 0; i < priv->idx_size; i++) // swap index to machine endian le2me_AVIINDEXENTRY((AVIINDEXENTRY*)priv->idx + i); @@ -379,6 +380,7 @@ skip_chunk: } priv->idx_size=priv->idx_pos; mp_msg(MSGT_HEADER,MSGL_INFO,"AVI: Generated index table for %d chunks!\n",priv->idx_size); + if(verbose>=2) print_index(priv->idx,priv->idx_size); } } -- cgit v1.2.3