Mercurial > libavformat.hg
changeset 4752:e04f51471c2a libavformat
move max analyze duration check before considering new packet
author | bcoudurier |
---|---|
date | Thu, 19 Mar 2009 21:54:34 +0000 |
parents | ffb7e8093289 |
children | 290a386de8d4 |
files | utils.c |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/utils.c Thu Mar 19 21:46:56 2009 +0000 +++ b/utils.c Thu Mar 19 21:54:34 2009 +0000 @@ -2137,8 +2137,11 @@ 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 @@ (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++; }