diff options
author | Julien Isorce <j.isorce@samsung.com> | 2015-09-17 14:17:09 +0100 |
---|---|---|
committer | Matthew Waters <matthew@centricular.com> | 2015-09-25 20:41:33 +1000 |
commit | 04856e6c8a0d51a96bebeb7bc77338b8efc4ed10 (patch) | |
tree | 9c81463cf436bcf97e8bb777053005a5cd006b1c /gst-libs/gst/gl/gstglmemory.c | |
parent | bcda593f12a4ccdba14f6c1eb2bdd7cd9877194c (diff) | |
download | gstreamer-plugins-bad-04856e6c8a0d51a96bebeb7bc77338b8efc4ed10.tar.gz |
glmemory: fix texture leak in _gl_mem_copy
https://bugzilla.gnome.org/show_bug.cgi?id=755456
Diffstat (limited to 'gst-libs/gst/gl/gstglmemory.c')
-rw-r--r-- | gst-libs/gst/gl/gstglmemory.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gst-libs/gst/gl/gstglmemory.c b/gst-libs/gst/gl/gstglmemory.c index b1bef1eb0..0a528ec16 100644 --- a/gst-libs/gst/gl/gstglmemory.c +++ b/gst-libs/gst/gl/gstglmemory.c @@ -592,7 +592,7 @@ _gl_mem_create (GstGLMemory * gl_mem, GError ** error) gst_gl_sized_gl_format_from_gl_format_type (context, tex_format, tex_type); - if (!gl_mem->tex_id) { + if (!gl_mem->texture_wrapped) { gl_mem->tex_id = _new_texture (context, gl_mem->tex_target, internal_format, tex_format, tex_type, gl_mem->tex_width, GL_MEM_HEIGHT (gl_mem)); @@ -1287,12 +1287,12 @@ gst_gl_memory_wrapped_texture (GstGLContext * context, mem = g_slice_new0 (GstGLMemory); mem->tex_id = texture_id; + mem->texture_wrapped = TRUE; _gl_mem_init (mem, _gl_allocator, NULL, context, NULL, info, valign, plane, user_data, notify); mem->tex_target = texture_target; - mem->texture_wrapped = TRUE; mem = (GstGLMemory *) gst_gl_base_buffer_alloc_data ((GstGLBaseBuffer *) mem); GST_MINI_OBJECT_FLAG_SET (mem, GST_GL_BASE_BUFFER_FLAG_NEED_DOWNLOAD); |