summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_decoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-10-09 17:13:09 +0100
committerCarl Hetherington <cth@carlh.net>2012-10-09 17:13:09 +0100
commitdc1b54d559dac0b722e8854d1f48c77a07507497 (patch)
tree97657b9f9cadea380bfd5a429c35140c94e949d8 /src/lib/ffmpeg_decoder.cc
parentdd63adac7e8cb43c52187cc07f33839af2e44320 (diff)
Use r_frame_rate from AVStream if avg_frame_rate is not a number; fixes problems with some WMV files.
Diffstat (limited to 'src/lib/ffmpeg_decoder.cc')
-rw-r--r--src/lib/ffmpeg_decoder.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc
index 3991323ce..767299ea6 100644
--- a/src/lib/ffmpeg_decoder.cc
+++ b/src/lib/ffmpeg_decoder.cc
@@ -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