diff options
author | Stefan Kost <ensonic@users.sf.net> | 2011-02-08 12:17:53 +0200 |
---|---|---|
committer | Stefan Kost <ensonic@users.sf.net> | 2011-04-08 11:42:33 +0300 |
commit | dd7b219c4223a317516ed8d597c1ad56b52a8b68 (patch) | |
tree | 65719c2811d8c2c928b14e9fd3fb77e55510df47 /ext | |
parent | 6444bd2557139b80b6b9ca4e0b4856fd996b3ba1 (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.c | 4 |
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; |