diff options
author | Matthew Waters <ystreet00@gmail.com> | 2014-05-21 19:47:22 +1000 |
---|---|---|
committer | Matthew Waters <ystreet00@gmail.com> | 2014-05-21 20:02:45 +1000 |
commit | 42f48695938faaa4ba0d360a81252490a1819ada (patch) | |
tree | 9c678bef7e879ce45a350053d258dc6e28dd58b7 | |
parent | bf32850f83802b75aaa2bfefe032b81527ce5719 (diff) | |
download | gstreamer-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.c | 3 |
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"); |