return NULL;
}
- if (!_read_pixels_to_pbo (gl_mem))
+ if (!_read_pixels_to_pbo (gl_mem)) {
+ gst_memory_unmap (GST_MEMORY_CAST (gl_mem->pbo), &info);
return NULL;
+ }
gst_memory_unmap (GST_MEMORY_CAST (gl_mem->pbo), &info);
}
GstGLBaseMemory *mem = (GstGLBaseMemory *) gl_mem;
g_mutex_lock (&mem->lock);
- if (_read_pixels_to_pbo (gl_mem))
+ if (_read_pixels_to_pbo (gl_mem)) {
GST_CAT_TRACE (GST_CAT_GL_MEMORY, "optimistic download of texture %u "
"using pbo %u", gl_mem->mem.tex_id, gl_mem->pbo->id);
- GST_MEMORY_FLAG_UNSET (gl_mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD);
+ GST_MEMORY_FLAG_UNSET (gl_mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD);
+ }
g_mutex_unlock (&mem->lock);
}