[817/906] make the state change test pass

This commit is contained in:
Matthew Waters 2013-09-24 16:37:11 +10:00
parent e29d826b0a
commit 225d372847
10 changed files with 48 additions and 15 deletions

View file

@ -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;
}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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