summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Waters <ystreet00@gmail.com>2014-05-21 19:47:22 +1000
committerMatthew Waters <ystreet00@gmail.com>2014-05-21 20:02:45 +1000
commit42f48695938faaa4ba0d360a81252490a1819ada (patch)
tree9c678bef7e879ce45a350053d258dc6e28dd58b7
parentbf32850f83802b75aaa2bfefe032b81527ce5719 (diff)
downloadgstreamer-plugins-bad-42f48695938faaa4ba0d360a81252490a1819ada.tar.gz
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.
-rw-r--r--gst-libs/gst/gl/gstglfilter.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c
index 50db29429..4007ac214 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");