basevideoenc: do not try to calculate latency from an unknown framerate
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Fri, 26 Aug 2011 09:50:38 +0000 (10:50 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 8 Dec 2011 10:55:03 +0000 (11:55 +0100)
It'll divide by zero, and latency is unknown for an unknown framerate.

Fixes an assert in the schroenc test.

https://bugzilla.gnome.org/show_bug.cgi?id=657419

omx/gstbasevideoencoder.c

index b86e08e..b772512 100644 (file)
@@ -1168,6 +1168,10 @@ gst_base_video_encoder_set_latency_fields (GstBaseVideoEncoder *
 {
   gint64 latency;
 
+  /* 0 numerator is used for "don't know" */
+  if (GST_BASE_VIDEO_CODEC (base_video_encoder)->state.fps_n == 0)
+    return;
+
   latency = gst_util_uint64_scale (n_fields,
       GST_BASE_VIDEO_CODEC (base_video_encoder)->state.fps_d * GST_SECOND,
       2 * GST_BASE_VIDEO_CODEC (base_video_encoder)->state.fps_n);