Skip to content
Snippets Groups Projects
Commit 3529de17 authored by Vincent Penquerc'h's avatar Vincent Penquerc'h
Browse files

avvidenc: guard against division by zero

and other nonsensical time base values while we're at it.

Coverity 1139699
parent 6d92f18d
No related branches found
No related tags found
No related merge requests found
......@@ -381,6 +381,11 @@ gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder,
/* fetch pix_fmt, fps, par, width, height... */
gst_ffmpeg_videoinfo_to_context (&state->info, ffmpegenc->context);
/* sanitize time base */
if (ffmpegenc->context->time_base.num <= 0
|| ffmpegenc->context->time_base.den <= 0)
goto insane_timebase;
if ((oclass->in_plugin->id == AV_CODEC_ID_MPEG4)
&& (ffmpegenc->context->time_base.den > 65535)) {
/* MPEG4 Standards do not support time_base denominator greater than
......@@ -529,6 +534,13 @@ unsupported_codec:
GST_DEBUG ("Unsupported codec - no caps found");
return FALSE;
}
insane_timebase:
{
GST_ERROR_OBJECT (ffmpegenc, "Rejecting time base %d/%d",
ffmpegenc->context->time_base.den, ffmpegenc->context->time_base.num);
return FALSE;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment