videofilter: improve propose_allocation
authorWim Taymans <wim.taymans@collabora.co.uk>
Wed, 22 Feb 2012 14:27:59 +0000 (15:27 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Wed, 22 Feb 2012 14:27:59 +0000 (15:27 +0100)
When we are in passthrough, call the parent implementation. Otherwise we have to
suggest allocation parameters ourselves.

gst-libs/gst/video/gstvideofilter.c

index 7b5c9d3..1b03c7a 100644 (file)
@@ -53,7 +53,8 @@ G_DEFINE_ABSTRACT_TYPE (GstVideoFilter, gst_video_filter,
 /* Answer the allocation query downstream. This is only called for
  * non-passthrough cases */
 static gboolean
-gst_video_filter_propose_allocation (GstBaseTransform * trans, GstQuery * query)
+gst_video_filter_propose_allocation (GstBaseTransform * trans,
+    gboolean passthrough, GstQuery * query)
 {
   GstVideoFilter *filter = GST_VIDEO_FILTER_CAST (trans);
   GstVideoInfo info;
@@ -62,6 +63,10 @@ gst_video_filter_propose_allocation (GstBaseTransform * trans, GstQuery * query)
   gboolean need_pool;
   guint size;
 
+  if (passthrough)
+    return GST_BASE_TRANSFORM_CLASS (parent_class)->propose_allocation (trans,
+        passthrough, query);
+
   gst_query_parse_allocation (query, &caps, &need_pool);
 
   if (caps == NULL)