Use r_frame_rate from AVStream if avg_frame_rate is not a number; fixes problems...
authorCarl Hetherington <cth@carlh.net>
Tue, 9 Oct 2012 16:13:09 +0000 (17:13 +0100)
committerCarl Hetherington <cth@carlh.net>
Tue, 9 Oct 2012 16:13:09 +0000 (17:13 +0100)
src/lib/ffmpeg_decoder.cc

index 3991323ce6897fb84b8995cdaf44558345171e7b..767299ea61a3411e795dc99bd7f299c0200a1949 100644 (file)
@@ -225,7 +225,13 @@ FFmpegDecoder::length_in_frames () const
 float
 FFmpegDecoder::frames_per_second () const
 {
-       return av_q2d (_format_context->streams[_video_stream]->avg_frame_rate);
+       AVStream* s = _format_context->streams[_video_stream];
+
+       if (s->avg_frame_rate.num && s->avg_frame_rate.den) {
+               return av_q2d (s->avg_frame_rate);
+       }
+
+       return av_q2d (s->r_frame_rate);
 }
 
 int