avidec: Fix infinite loop caused by rounding of timestamps in non interleaved avis.
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 16 Dec 2011 04:13:58 +0000 (05:13 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 16 Dec 2011 04:13:58 +0000 (05:13 +0100)
Fixes Ticket775
Bug found by: Diana Elena Muscalu

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/avidec.c

index c74aa10..05f5d58 100644 (file)
@@ -1050,7 +1050,7 @@ static int avi_read_packet(AVFormatContext *s, AVPacket *pkt)
             return AVERROR_EOF;
 
         best_ast = best_st->priv_data;
-        best_ts = av_rescale_q(best_ts, (AVRational){FFMAX(1, best_ast->sample_size), AV_TIME_BASE}, best_st->time_base);
+        best_ts = best_ast->frame_offset;
         if(best_ast->remaining)
             i= av_index_search_timestamp(best_st, best_ts, AVSEEK_FLAG_ANY | AVSEEK_FLAG_BACKWARD);
         else{