summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sf.net>2011-02-08 12:17:53 +0200
committerStefan Kost <ensonic@users.sf.net>2011-04-08 11:42:33 +0300
commitdd7b219c4223a317516ed8d597c1ad56b52a8b68 (patch)
tree65719c2811d8c2c928b14e9fd3fb77e55510df47 /ext
parent6444bd2557139b80b6b9ca4e0b4856fd996b3ba1 (diff)
ffmpeg: don't divide by 0 when checking the framerates
Check for denom==0 first and set it to on in that case.
Diffstat (limited to 'ext')
-rw-r--r--ext/ffmpeg/gstffmpegcodecmap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/ffmpeg/gstffmpegcodecmap.c b/ext/ffmpeg/gstffmpegcodecmap.c
index de3bd5f..23776e5 100644
--- a/ext/ffmpeg/gstffmpegcodecmap.c
+++ b/ext/ffmpeg/gstffmpegcodecmap.c
@@ -204,6 +204,10 @@ gst_ff_vid_caps_new (AVCodecContext * context, enum CodecID codec_id,
num = context->time_base.den / context->ticks_per_frame;
denom = context->time_base.num;
+ if (!denom) {
+ GST_LOG ("invalid framerate: %d/0, -> %d/1", num, num);
+ denom = 1;
+ }
if (gst_util_fraction_compare (num, denom, 1000, 1) > 0) {
GST_LOG ("excessive framerate: %d/%d, -> 0/1", num, denom);
num = 0;