From 42f48695938faaa4ba0d360a81252490a1819ada Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Wed, 21 May 2014 19:47:22 +1000 Subject: [PATCH] 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. --- gst-libs/gst/gl/gstglfilter.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c index 50db294292..4007ac214d 100644 --- a/gst-libs/gst/gl/gstglfilter.c +++ b/gst-libs/gst/gl/gstglfilter.c @@ -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");