summaryrefslogtreecommitdiffstats
path: root/libmpdemux/aviheader.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-16 21:04:19 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-16 21:04:19 +0000
commit367860560cbf004bde44b3886407b8c21c7cdac0 (patch)
tree620de2f3ce793911d6459931f7ddf3514e99319e /libmpdemux/aviheader.c
parentef0fc1c09fd0966c849b43b829b7b6efc134b6d3 (diff)
downloadmpv-367860560cbf004bde44b3886407b8c21c7cdac0.tar.bz2
mpv-367860560cbf004bde44b3886407b8c21c7cdac0.tar.xz
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
Diffstat (limited to 'libmpdemux/aviheader.c')
-rw-r--r--libmpdemux/aviheader.c10
1 files changed, 6 insertions, 4 deletions
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);
}
}