gl/filter: fixup passthrough bufferpool

In a pipeline like so:
  videotestsrc ! gleffects ! videoconvert ! sink
gleffects was simply passing the videoconvert bufferpool to videotestsrc
and not creating a glbufferpool. videobufferpool would then fail
to allocate from the glallocator.
This commit is contained in:
Matthew Waters 2014-05-21 19:47:22 +10:00
parent bf32850f83
commit 42f4869593

View file

@ -840,7 +840,8 @@ gst_gl_filter_propose_allocation (GstBaseTransform * trans,
gst_query_parse_allocation (decide_query, &decide_caps, NULL);
decide_pool = gst_base_transform_get_buffer_pool (trans);
if (gst_caps_is_equal_fixed (decide_caps, caps)) {
if (GST_IS_GL_BUFFER_POOL (decide_pool)
&& gst_caps_is_equal_fixed (decide_caps, caps)) {
pool = decide_pool;
} else {
GST_DEBUG_OBJECT (filter, "create new pool");