mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-12 10:25:33 +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);
|
||||
}
|
||||
//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);
|
||||
filter->context = NULL;
|
||||
}
|
||||
|
|
|
@ -313,7 +313,9 @@ gst_gl_bumper_reset (GstGLFilter * filter)
|
|||
GstGLBumper *bumper_filter = GST_GL_BUMPER (filter);
|
||||
|
||||
//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
|
||||
|
|
|
@ -189,7 +189,9 @@ gst_gl_deinterlace_reset (GstGLFilter * filter)
|
|||
deinterlace_filter->prev_buffer = NULL;
|
||||
}
|
||||
//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
|
||||
|
|
|
@ -138,10 +138,14 @@ gst_gl_filter_filterblur_reset (GstGLFilter * filter)
|
|||
GstGLFilterBlur *filterblur = GST_GL_FILTERBLUR (filter);
|
||||
|
||||
//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
|
||||
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
|
||||
|
|
|
@ -288,6 +288,7 @@ gst_gl_filter_cube_reset (GstGLFilter * filter)
|
|||
/* blocking call, wait the opengl thread has destroyed the shader */
|
||||
if (cube_filter->shader)
|
||||
gst_gl_context_del_shader (filter->context, cube_filter->shader);
|
||||
cube_filter->shader = NULL;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
|
@ -180,8 +180,13 @@ gst_gl_filter_glass_reset (GstGLFilter * filter)
|
|||
GstGLFilterGlass *glass_filter = GST_GL_FILTER_GLASS (filter);
|
||||
|
||||
//blocking call, wait the opengl thread has destroyed the shader
|
||||
gst_gl_context_del_shader (filter->context, glass_filter->shader);
|
||||
gst_gl_context_del_shader (filter->context, glass_filter->passthrough_shader);
|
||||
if (glass_filter->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
|
||||
|
|
|
@ -131,7 +131,9 @@ gst_gl_filter_laplacian_reset (GstGLFilter * filter)
|
|||
GstGLFilterLaplacian *laplacian_filter = GST_GL_FILTER_LAPLACIAN (filter);
|
||||
|
||||
//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
|
||||
|
|
|
@ -160,8 +160,9 @@ gst_gl_filter_filtershader_reset (GstGLFilter * filter)
|
|||
GstGLFilterShader *filtershader = GST_GL_FILTERSHADER (filter);
|
||||
|
||||
//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
|
||||
|
|
|
@ -155,10 +155,21 @@ gst_gl_filter_filtersobel_reset (GstGLFilter * filter)
|
|||
GstGLFilterSobel *filtersobel = GST_GL_FILTERSOBEL (filter);
|
||||
|
||||
//blocking call, wait the opengl thread has destroyed the shader
|
||||
gst_gl_context_del_shader (filter->context, filtersobel->desat);
|
||||
gst_gl_context_del_shader (filter->context, filtersobel->hconv);
|
||||
gst_gl_context_del_shader (filter->context, filtersobel->vconv);
|
||||
gst_gl_context_del_shader (filter->context, filtersobel->len);
|
||||
if (filtersobel->desat)
|
||||
gst_gl_context_del_shader (filter->context, filtersobel->desat);
|
||||
filtersobel->desat = NULL;
|
||||
|
||||
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
|
||||
|
|
|
@ -176,7 +176,9 @@ gst_gl_mosaic_reset (GstGLMixer * mixer)
|
|||
mosaic->input_frames = NULL;
|
||||
|
||||
//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
|
||||
|
|
Loading…
Reference in a new issue