summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Waters <matthew@centricular.com>2016-09-19 16:54:43 +1000
committerMatthew Waters <matthew@centricular.com>2016-09-19 16:58:34 +1000
commit78e91a731fb6801c88ad6465d69b2c24c8df327c (patch)
treed46b7597a5f2313607f8c8deae00956150547769
parentac6e2af62d1eac654c67ebae62d1cfda19c3cc56 (diff)
downloadgstreamer-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.
-rw-r--r--ext/gl/gstglcolorbalance.c5
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