From 80e3a08c9762ee4bd16bc3c6ccd859233de03d4d Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 16 Mar 2005 13:26:52 +0000 Subject: [PATCH] reverse zero packet dissapearence "feature" Originally committed as revision 4046 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/avidec.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 8f40f88fae..335a2ab4d3 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -416,8 +416,6 @@ resync: AVIStream *ast= st->priv_data; int size; - assert(ast->remaining); - if(ast->sample_size == 0) size= INT_MAX; else if(ast->sample_size < 32) @@ -528,7 +526,7 @@ resync: } //parse ##dc/##wb - if(n < s->nb_streams && size){ + if(n < s->nb_streams){ AVStream *st; AVIStream *ast; st = s->streams[n]; @@ -632,14 +630,14 @@ static int avi_read_idx1(AVFormatContext *s, int size) #if defined(DEBUG_SEEK) av_log(NULL, AV_LOG_DEBUG, "%d cum_len=%d\n", len, ast->cum_len); #endif - if(len) + if(last_pos == pos) + avi->non_interleaved= 1; + else av_add_index_entry(st, pos, ast->cum_len, 0, (flags&AVIIF_INDEX) ? AVINDEX_KEYFRAME : 0); if(ast->sample_size) ast->cum_len += len / ast->sample_size; else ast->cum_len ++; - if(last_pos == pos) - avi->non_interleaved= 1; last_pos= pos; } return 0;