x264enc: Don't set max latency to the same value as the encoder latency
authorSebastian Dröge <sebastian@centricular.com>
Fri, 6 Feb 2015 18:04:32 +0000 (19:04 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Fri, 6 Feb 2015 18:04:32 +0000 (19:04 +0100)
The meaning of the max latency is *not* the maximum latency this element will
introduce. It is the maximum latency this element can endure without
overflowing any buffers, which is infinite for x264enc.

Fixes latency configuration in zero latency mode, where max latency was
becoming 0... which usually won't work well if something else introduces
latency as then max < min in the end, and latency configuration just fails.

ext/x264/gstx264enc.c

index 0cc0528..0a2280b 100644 (file)
@@ -1741,7 +1741,7 @@ gst_x264_enc_set_latency (GstX264Enc * encoder)
         GST_TIME_ARGS (latency), max_delayed_frames);
 
     gst_video_encoder_set_latency (GST_VIDEO_ENCODER (encoder), latency,
-        latency);
+        GST_CLOCK_TIME_NONE);
   } else {
     /* We can't do live as we don't know our latency */
     gst_video_encoder_set_latency (GST_VIDEO_ENCODER (encoder),