Commit 5c89153e authored by Michael Niedermayer's avatar Michael Niedermayer

add movi_list offset into index

Originally committed as revision 5084 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 30a43f2d
...@@ -467,7 +467,7 @@ static int avi_read_packet(AVFormatContext *s, AVPacket *pkt) ...@@ -467,7 +467,7 @@ static int avi_read_packet(AVFormatContext *s, AVPacket *pkt)
// av_log(NULL, AV_LOG_DEBUG, "%d\n", i); // av_log(NULL, AV_LOG_DEBUG, "%d\n", i);
if(i>=0){ if(i>=0){
int64_t pos= best_st->index_entries[i].pos; int64_t pos= best_st->index_entries[i].pos;
pos += avi->movi_list + best_ast->packet_size - best_ast->remaining; pos += best_ast->packet_size - best_ast->remaining;
url_fseek(&s->pb, pos, SEEK_SET); url_fseek(&s->pb, pos, SEEK_SET);
// av_log(NULL, AV_LOG_DEBUG, "pos=%Ld\n", pos); // av_log(NULL, AV_LOG_DEBUG, "pos=%Ld\n", pos);
...@@ -689,6 +689,7 @@ static int avi_read_idx1(AVFormatContext *s, int size) ...@@ -689,6 +689,7 @@ static int avi_read_idx1(AVFormatContext *s, int size)
#endif #endif
if(i==0 && pos > avi->movi_list) if(i==0 && pos > avi->movi_list)
avi->movi_list= 0; //FIXME better check avi->movi_list= 0; //FIXME better check
pos += avi->movi_list;
index = ((tag & 0xff) - '0') * 10; index = ((tag & 0xff) - '0') * 10;
index += ((tag >> 8) & 0xff) - '0'; index += ((tag >> 8) & 0xff) - '0';
...@@ -838,7 +839,6 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp ...@@ -838,7 +839,6 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
if (avi->dv_demux) if (avi->dv_demux)
dv_flush_audio_packets(avi->dv_demux); dv_flush_audio_packets(avi->dv_demux);
/* do the seek */ /* do the seek */
pos += avi->movi_list;
url_fseek(&s->pb, pos, SEEK_SET); url_fseek(&s->pb, pos, SEEK_SET);
avi->stream_index= -1; avi->stream_index= -1;
return 0; return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment