From 8aea88d2616c3be8dd30a883534031d832872c9c Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Tue, 8 Jul 2014 16:45:45 -0400 Subject: [PATCH] x264enc: Request buffers in allocation query https://bugzilla.gnome.org/show_bug.cgi?id=732288 --- ext/x264/gstx264enc.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c index aa1e481e15..3b67cdabaf 100644 --- a/ext/x264/gstx264enc.c +++ b/ext/x264/gstx264enc.c @@ -1920,8 +1920,21 @@ gst_x264_enc_finish (GstVideoEncoder * encoder) static gboolean gst_x264_enc_propose_allocation (GstVideoEncoder * encoder, GstQuery * query) { + GstX264Enc *self = GST_X264_ENC (encoder); + GstVideoInfo *info; + guint num_buffers; + gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL); + if (!self->input_state) + return FALSE; + + info = &self->input_state->info; + num_buffers = x264_encoder_maximum_delayed_frames (self->x264enc) + 1; + + gst_query_add_allocation_pool (query, NULL, info->size, num_buffers, + num_buffers); + return GST_VIDEO_ENCODER_CLASS (parent_class)->propose_allocation (encoder, query); }