diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2005-03-16 13:26:52 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2005-03-16 13:26:52 +0000 |
commit | 80e3a08c9762ee4bd16bc3c6ccd859233de03d4d (patch) | |
tree | 8fa51b2f682cce1c6cdd5113d0a6704d4f7bc284 | |
parent | 68c6d60fdfc76976d0ac48b2dbb81a539f219c60 (diff) | |
download | ffmpeg-80e3a08c9762ee4bd16bc3c6ccd859233de03d4d.tar.gz |
reverse zero packet dissapearence "feature"
Originally committed as revision 4046 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/avidec.c | 10 |
1 files 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; |