[SCM] libav/experimental: move max analyze duration check before considering new packet

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:41:45 UTC 2013


The following commit has been merged in the experimental branch:
commit 3a5601885b46c2dc97e85afa33075b41236a0170
Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
Date:   Thu Mar 19 21:54:34 2009 +0000

    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 7419cc6..18ca13e 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++;
     }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list