From: Baptiste Coudurier Date: Thu, 19 Mar 2009 21:54:34 +0000 (+0000) Subject: move max analyze duration check before considering new packet X-Git-Tag: v0.6~5246 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3a5601885b46c2dc97e85afa33075b41236a0170;p=platform%2Fupstream%2Flibav.git move max analyze duration check before considering new packet Originally committed as revision 18051 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavformat/utils.c b/libavformat/utils.c index 7419cc662..18ca13e5e 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2137,8 +2137,11 @@ int av_find_stream_info(AVFormatContext *ic) read_size += pkt->size; st = ic->streams[pkt->stream_index]; - if(codec_info_nb_frames[st->index]>1) + if(codec_info_nb_frames[st->index]>1) { + if (st->time_base.den > 0 && av_rescale_q(codec_info_duration[st->index], st->time_base, AV_TIME_BASE_Q) >= ic->max_analyze_duration) + break; codec_info_duration[st->index] += pkt->duration; + } if (pkt->duration != 0) codec_info_nb_frames[st->index]++; @@ -2199,9 +2202,6 @@ int av_find_stream_info(AVFormatContext *ic) (st->codec->codec_id == CODEC_ID_MPEG4 && !st->need_parsing))*/) try_decode_frame(st, pkt->data, pkt->size); - if (st->time_base.den > 0 && av_rescale_q(codec_info_duration[st->index], st->time_base, AV_TIME_BASE_Q) >= ic->max_analyze_duration) { - break; - } count++; }