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.
This commit is contained in:
parent
ac6e2af62d
commit
78e91a731f
@ -150,14 +150,17 @@ gst_gl_color_balance_is_passthrough (GstGLColorBalance * glcolorbalance)
|
|||||||
static void
|
static void
|
||||||
gst_gl_color_balance_update_properties (GstGLColorBalance * glcolorbalance)
|
gst_gl_color_balance_update_properties (GstGLColorBalance * glcolorbalance)
|
||||||
{
|
{
|
||||||
gboolean passthrough;
|
gboolean current_passthrough, passthrough;
|
||||||
GstBaseTransform *base = GST_BASE_TRANSFORM (glcolorbalance);
|
GstBaseTransform *base = GST_BASE_TRANSFORM (glcolorbalance);
|
||||||
|
|
||||||
GST_OBJECT_LOCK (glcolorbalance);
|
GST_OBJECT_LOCK (glcolorbalance);
|
||||||
passthrough = gst_gl_color_balance_is_passthrough (glcolorbalance);
|
passthrough = gst_gl_color_balance_is_passthrough (glcolorbalance);
|
||||||
GST_OBJECT_UNLOCK (glcolorbalance);
|
GST_OBJECT_UNLOCK (glcolorbalance);
|
||||||
|
current_passthrough = gst_base_transform_is_passthrough (base);
|
||||||
|
|
||||||
gst_base_transform_set_passthrough (base, passthrough);
|
gst_base_transform_set_passthrough (base, passthrough);
|
||||||
|
if (current_passthrough != passthrough)
|
||||||
|
gst_base_transform_reconfigure_src (base);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
Loading…
x
Reference in New Issue
Block a user