diff options
author | Matthew Waters <matthew@centricular.com> | 2016-09-19 16:54:43 +1000 |
---|---|---|
committer | Matthew Waters <matthew@centricular.com> | 2016-09-19 16:58:34 +1000 |
commit | 78e91a731fb6801c88ad6465d69b2c24c8df327c (patch) | |
tree | d46b7597a5f2313607f8c8deae00956150547769 /ext/gl | |
parent | ac6e2af62d1eac654c67ebae62d1cfda19c3cc56 (diff) | |
download | gstreamer-plugins-bad-78e91a731fb6801c88ad6465d69b2c24c8df327c.tar.gz |
glcolorbalance: reconfigure on passthrough changes
Fixes an assertion when moving from passthrough to non-passthrough
Without an explicit reconfigure, glfiter won't have created the GL
resources such as the FBO, GL bufferpool, etc and basetransform will
allocate sysmem buffers instead.
Diffstat (limited to 'ext/gl')
-rw-r--r-- | ext/gl/gstglcolorbalance.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/gl/gstglcolorbalance.c b/ext/gl/gstglcolorbalance.c index 92d4447bb..33b5a50a3 100644 --- a/ext/gl/gstglcolorbalance.c +++ b/ext/gl/gstglcolorbalance.c @@ -150,14 +150,17 @@ gst_gl_color_balance_is_passthrough (GstGLColorBalance * glcolorbalance) static void gst_gl_color_balance_update_properties (GstGLColorBalance * glcolorbalance) { - gboolean passthrough; + gboolean current_passthrough, passthrough; GstBaseTransform *base = GST_BASE_TRANSFORM (glcolorbalance); GST_OBJECT_LOCK (glcolorbalance); passthrough = gst_gl_color_balance_is_passthrough (glcolorbalance); GST_OBJECT_UNLOCK (glcolorbalance); + current_passthrough = gst_base_transform_is_passthrough (base); gst_base_transform_set_passthrough (base, passthrough); + if (current_passthrough != passthrough) + gst_base_transform_reconfigure_src (base); } static gboolean |