summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_examiner.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-04-02 17:04:47 +0100
committerCarl Hetherington <cth@carlh.net>2014-04-02 17:04:47 +0100
commitc86ed0c80b762d31eb68386662a7c37ae4e21b6b (patch)
tree0b7e2bd5b5f5606b71c5ba39af35aa21bcbad5db /src/lib/ffmpeg_examiner.cc
parent89b2ca022fd8020a713d3a66c0bee93b2b95aac1 (diff)
Various fixes to FFmpeg decoder, including a couple of tests.
Diffstat (limited to 'src/lib/ffmpeg_examiner.cc')
-rw-r--r--src/lib/ffmpeg_examiner.cc14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/lib/ffmpeg_examiner.cc b/src/lib/ffmpeg_examiner.cc
index 6daba4b40..72db9bce1 100644
--- a/src/lib/ffmpeg_examiner.cc
+++ b/src/lib/ffmpeg_examiner.cc
@@ -109,7 +109,7 @@ FFmpegExaminer::frame_time (AVStream* s) const
int64_t const bet = av_frame_get_best_effort_timestamp (_frame);
if (bet != AV_NOPTS_VALUE) {
- t = ContentTime (bet * av_q2d (s->time_base));
+ t = ContentTime::from_seconds (bet * av_q2d (s->time_base));
}
return t;
@@ -118,13 +118,11 @@ FFmpegExaminer::frame_time (AVStream* s) const
float
FFmpegExaminer::video_frame_rate () const
{
- 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);
+ /* 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]));
}
dcp::Size