mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-06 07:28:53 +00:00
[817/906] make the state change test pass
This commit is contained in:
parent
e29d826b0a
commit
225d372847
10 changed files with 48 additions and 15 deletions
|
@ -224,7 +224,10 @@ gst_gl_filter_reset (GstGLFilter * filter)
|
||||||
filter);
|
filter);
|
||||||
}
|
}
|
||||||
//blocking call, delete the FBO
|
//blocking call, delete the FBO
|
||||||
gst_gl_context_del_fbo (filter->context, filter->fbo, filter->depthbuffer);
|
if (filter->fbo != 0) {
|
||||||
|
gst_gl_context_del_fbo (filter->context, filter->fbo,
|
||||||
|
filter->depthbuffer);
|
||||||
|
}
|
||||||
gst_object_unref (filter->context);
|
gst_object_unref (filter->context);
|
||||||
filter->context = NULL;
|
filter->context = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -313,7 +313,9 @@ gst_gl_bumper_reset (GstGLFilter * filter)
|
||||||
GstGLBumper *bumper_filter = GST_GL_BUMPER (filter);
|
GstGLBumper *bumper_filter = GST_GL_BUMPER (filter);
|
||||||
|
|
||||||
//blocking call, wait the opengl thread has destroyed the shader
|
//blocking call, wait the opengl thread has destroyed the shader
|
||||||
gst_gl_context_del_shader (filter->context, bumper_filter->shader);
|
if (bumper_filter->shader)
|
||||||
|
gst_gl_context_del_shader (filter->context, bumper_filter->shader);
|
||||||
|
bumper_filter->shader = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -189,7 +189,9 @@ gst_gl_deinterlace_reset (GstGLFilter * filter)
|
||||||
deinterlace_filter->prev_buffer = NULL;
|
deinterlace_filter->prev_buffer = NULL;
|
||||||
}
|
}
|
||||||
//blocking call, wait the opengl thread has destroyed the shader
|
//blocking call, wait the opengl thread has destroyed the shader
|
||||||
gst_gl_context_del_shader (filter->context, deinterlace_filter->shader);
|
if (deinterlace_filter->shader)
|
||||||
|
gst_gl_context_del_shader (filter->context, deinterlace_filter->shader);
|
||||||
|
deinterlace_filter->shader = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -138,10 +138,14 @@ gst_gl_filter_filterblur_reset (GstGLFilter * filter)
|
||||||
GstGLFilterBlur *filterblur = GST_GL_FILTERBLUR (filter);
|
GstGLFilterBlur *filterblur = GST_GL_FILTERBLUR (filter);
|
||||||
|
|
||||||
//blocking call, wait the opengl thread has destroyed the shader
|
//blocking call, wait the opengl thread has destroyed the shader
|
||||||
gst_gl_context_del_shader (filter->context, filterblur->shader0);
|
if (filterblur->shader0)
|
||||||
|
gst_gl_context_del_shader (filter->context, filterblur->shader0);
|
||||||
|
filterblur->shader0 = NULL;
|
||||||
|
|
||||||
//blocking call, wait the opengl thread has destroyed the shader
|
//blocking call, wait the opengl thread has destroyed the shader
|
||||||
gst_gl_context_del_shader (filter->context, filterblur->shader1);
|
if (filterblur->shader1)
|
||||||
|
gst_gl_context_del_shader (filter->context, filterblur->shader1);
|
||||||
|
filterblur->shader1 = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -288,6 +288,7 @@ gst_gl_filter_cube_reset (GstGLFilter * filter)
|
||||||
/* blocking call, wait the opengl thread has destroyed the shader */
|
/* blocking call, wait the opengl thread has destroyed the shader */
|
||||||
if (cube_filter->shader)
|
if (cube_filter->shader)
|
||||||
gst_gl_context_del_shader (filter->context, cube_filter->shader);
|
gst_gl_context_del_shader (filter->context, cube_filter->shader);
|
||||||
|
cube_filter->shader = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
|
@ -180,8 +180,13 @@ gst_gl_filter_glass_reset (GstGLFilter * filter)
|
||||||
GstGLFilterGlass *glass_filter = GST_GL_FILTER_GLASS (filter);
|
GstGLFilterGlass *glass_filter = GST_GL_FILTER_GLASS (filter);
|
||||||
|
|
||||||
//blocking call, wait the opengl thread has destroyed the shader
|
//blocking call, wait the opengl thread has destroyed the shader
|
||||||
gst_gl_context_del_shader (filter->context, glass_filter->shader);
|
if (glass_filter->shader)
|
||||||
gst_gl_context_del_shader (filter->context, glass_filter->passthrough_shader);
|
gst_gl_context_del_shader (filter->context, glass_filter->shader);
|
||||||
|
glass_filter->shader = NULL;
|
||||||
|
if (glass_filter->passthrough_shader)
|
||||||
|
gst_gl_context_del_shader (filter->context,
|
||||||
|
glass_filter->passthrough_shader);
|
||||||
|
glass_filter->passthrough_shader = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -131,7 +131,9 @@ gst_gl_filter_laplacian_reset (GstGLFilter * filter)
|
||||||
GstGLFilterLaplacian *laplacian_filter = GST_GL_FILTER_LAPLACIAN (filter);
|
GstGLFilterLaplacian *laplacian_filter = GST_GL_FILTER_LAPLACIAN (filter);
|
||||||
|
|
||||||
//blocking call, wait the opengl thread has destroyed the shader
|
//blocking call, wait the opengl thread has destroyed the shader
|
||||||
gst_gl_context_del_shader (filter->context, laplacian_filter->shader);
|
if (laplacian_filter->shader)
|
||||||
|
gst_gl_context_del_shader (filter->context, laplacian_filter->shader);
|
||||||
|
laplacian_filter->shader = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -160,8 +160,9 @@ gst_gl_filter_filtershader_reset (GstGLFilter * filter)
|
||||||
GstGLFilterShader *filtershader = GST_GL_FILTERSHADER (filter);
|
GstGLFilterShader *filtershader = GST_GL_FILTERSHADER (filter);
|
||||||
|
|
||||||
//blocking call, wait the opengl thread has destroyed the shader
|
//blocking call, wait the opengl thread has destroyed the shader
|
||||||
gst_gl_context_del_shader (filter->context, filtershader->shader0);
|
if (filtershader->shader0)
|
||||||
|
gst_gl_context_del_shader (filter->context, filtershader->shader0);
|
||||||
|
filtershader->shader0 = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -155,10 +155,21 @@ gst_gl_filter_filtersobel_reset (GstGLFilter * filter)
|
||||||
GstGLFilterSobel *filtersobel = GST_GL_FILTERSOBEL (filter);
|
GstGLFilterSobel *filtersobel = GST_GL_FILTERSOBEL (filter);
|
||||||
|
|
||||||
//blocking call, wait the opengl thread has destroyed the shader
|
//blocking call, wait the opengl thread has destroyed the shader
|
||||||
gst_gl_context_del_shader (filter->context, filtersobel->desat);
|
if (filtersobel->desat)
|
||||||
gst_gl_context_del_shader (filter->context, filtersobel->hconv);
|
gst_gl_context_del_shader (filter->context, filtersobel->desat);
|
||||||
gst_gl_context_del_shader (filter->context, filtersobel->vconv);
|
filtersobel->desat = NULL;
|
||||||
gst_gl_context_del_shader (filter->context, filtersobel->len);
|
|
||||||
|
if (filtersobel->hconv)
|
||||||
|
gst_gl_context_del_shader (filter->context, filtersobel->hconv);
|
||||||
|
filtersobel->hconv = NULL;
|
||||||
|
|
||||||
|
if (filtersobel->vconv)
|
||||||
|
gst_gl_context_del_shader (filter->context, filtersobel->vconv);
|
||||||
|
filtersobel->vconv = NULL;
|
||||||
|
|
||||||
|
if (filtersobel->len)
|
||||||
|
gst_gl_context_del_shader (filter->context, filtersobel->len);
|
||||||
|
filtersobel->len = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -176,7 +176,9 @@ gst_gl_mosaic_reset (GstGLMixer * mixer)
|
||||||
mosaic->input_frames = NULL;
|
mosaic->input_frames = NULL;
|
||||||
|
|
||||||
//blocking call, wait the opengl thread has destroyed the shader
|
//blocking call, wait the opengl thread has destroyed the shader
|
||||||
gst_gl_context_del_shader (mixer->context, mosaic->shader);
|
if (mosaic->shader)
|
||||||
|
gst_gl_context_del_shader (mixer->context, mosaic->shader);
|
||||||
|
mosaic->shader = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
Loading…
Reference in a new issue