#include <gst/tag/tag.h>
#include <gst/video/video.h>
+#include <gst/video/gstvideometa.h>
#define GST_CAT_DEFAULT theoraenc_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
static GstFlowReturn theora_enc_pre_push (GstVideoEncoder * benc,
GstVideoCodecFrame * frame);
static GstFlowReturn theora_enc_finish (GstVideoEncoder * enc);
+static gboolean theora_enc_propose_allocation (GstVideoEncoder * encoder,
+ GstQuery * query);
static GstCaps *theora_enc_getcaps (GstVideoEncoder * encoder,
GstCaps * filter);
gstvideo_encoder_class->pre_push = GST_DEBUG_FUNCPTR (theora_enc_pre_push);
gstvideo_encoder_class->finish = GST_DEBUG_FUNCPTR (theora_enc_finish);
gstvideo_encoder_class->getcaps = GST_DEBUG_FUNCPTR (theora_enc_getcaps);
+ gstvideo_encoder_class->propose_allocation =
+ GST_DEBUG_FUNCPTR (theora_enc_propose_allocation);
/* general encoding stream options */
g_object_class_install_property (gobject_class, PROP_BITRATE,
return TRUE;
}
+static gboolean
+theora_enc_propose_allocation (GstVideoEncoder * encoder, GstQuery * query)
+{
+ gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE);
+
+ return GST_VIDEO_ENCODER_CLASS (parent_class)->propose_allocation (encoder,
+ query);
+}
+
static void
theora_enc_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)