OSDN Git Service

Count all frames with codec_info_nb_frames not just ones with non zero
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 23 Feb 2010 16:29:57 +0000 (16:29 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 23 Feb 2010 16:29:57 +0000 (16:29 +0000)
duration. I hope this breaks nothing. Its needed for my fix of issue1156

Originally committed as revision 22001 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/utils.c

index aee7b98..1fbceea 100644 (file)
@@ -2184,7 +2184,6 @@ int av_find_stream_info(AVFormatContext *ic)
             }
             codec_info_duration[st->index] += pkt->duration;
         }
-        if (pkt->duration != 0)
             st->codec_info_nb_frames++;
 
         {
@@ -2241,7 +2240,7 @@ int av_find_stream_info(AVFormatContext *ic)
     }
     for(i=0;i<ic->nb_streams;i++) {
         st = ic->streams[i];
-        if(st->codec_info_nb_frames>2 && !st->avg_frame_rate.num)
+        if(st->codec_info_nb_frames>2 && !st->avg_frame_rate.num && codec_info_duration[i])
             av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den,
                      (st->codec_info_nb_frames-2)*(int64_t)st->time_base.den,
                       codec_info_duration[i]    *(int64_t)st->time_base.num, 60000);