Use av_guess_frame_rate rather than av_stream_get_r_frame_rate;
authorCarl Hetherington <cth@carlh.net>
Sat, 10 Feb 2018 21:39:18 +0000 (21:39 +0000)
committerCarl Hetherington <cth@carlh.net>
Sat, 10 Feb 2018 21:39:18 +0000 (21:39 +0000)
helps with #1030.  I hope this isn't a bad idea; this commit
should be reverted if there any hints of misread video frame rates.

ChangeLog
src/lib/ffmpeg_examiner.cc

index 9cbc2b58d8c1c7036c8a0c30ad726e8435dfd4dc..ee13dcf41ea736f335e06976fcbff88fdc14f99f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2018-02-10  Carl Hetherington  <cth@carlh.net>
 
+       * Use a different way of getting frame rate from video content; may
+       fix #1030.
+
        * Version 2.11.53 released.
 
 2018-02-09  Carl Hetherington  <cth@carlh.net>
index 697bfe3ae1a40b80851cf690f95eed703ca966a3..6c76ba5a433266591673cc34d645256fb6f1ed39 100644 (file)
@@ -193,11 +193,7 @@ optional<double>
 FFmpegExaminer::video_frame_rate () const
 {
        DCPOMATIC_ASSERT (_video_stream);
-       /* This use of r_frame_rate is debateable; there's a few different
-        * frame rates in the format context, but this one seems to be the most
-        * reliable.
-        */
-       return av_q2d (av_stream_get_r_frame_rate (_format_context->streams[_video_stream.get()]));
+       return av_q2d(av_guess_frame_rate(_format_context, _format_context->streams[_video_stream.get()], 0));
 }
 
 dcp::Size