From: Nicolas Dufresne Date: Thu, 27 Mar 2014 17:21:25 +0000 (-0400) Subject: v4l2transform: Add propose_allocation X-Git-Tag: 1.19.3~509^2~4538 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=527df8b8882a0d7c2b48a76fcb6fdecbaeb97210;p=platform%2Fupstream%2Fgstreamer.git v4l2transform: Add propose_allocation This should remove 1 copy between the decoder and the transform. --- diff --git a/sys/v4l2/gstv4l2transform.c b/sys/v4l2/gstv4l2transform.c index 28588f9..375e029 100644 --- a/sys/v4l2/gstv4l2transform.c +++ b/sys/v4l2/gstv4l2transform.c @@ -316,8 +316,6 @@ activate_failed: return GST_FLOW_ERROR; } -/* TODO */ -#if 0 static gboolean gst_v4l2_transform_propose_allocation (GstBaseTransform * trans, GstQuery * decide_query, GstQuery * query) @@ -325,14 +323,17 @@ gst_v4l2_transform_propose_allocation (GstBaseTransform * trans, GstV4l2Transform *self = GST_V4L2_TRANSFORM (trans); gboolean ret = FALSE; - /* FIXME propose alloc this need to be moved from src to v4l2object */ - if (gst_v4l2_object_propose_allocation (self->v4l2output, query)) + if (decide_query == NULL) + ret = TRUE; + else + ret = gst_v4l2_object_propose_allocation (self->v4l2output, query); + + if (ret) ret = GST_BASE_TRANSFORM_CLASS (parent_class)->propose_allocation (trans, - query); + decide_query, query); return ret; } -#endif /* copies the given caps */ static GstCaps * @@ -604,11 +605,8 @@ gst_v4l2_transform_class_init (GstV4l2TransformClass * klass) GST_DEBUG_FUNCPTR (gst_v4l2_transform_sink_event); base_transform_class->decide_allocation = GST_DEBUG_FUNCPTR (gst_v4l2_transform_decide_allocation); - /* TODO */ -#if 0 base_transform_class->propose_allocation = GST_DEBUG_FUNCPTR (gst_v4l2_transform_propose_allocation); -#endif base_transform_class->transform_caps = GST_DEBUG_FUNCPTR (gst_v4l2_transform_transform_caps); base_transform_class->fixate_caps =