glimagesink: fix a memory leak if the view conversion fails

This commit is contained in:
Matthew Waters 2015-11-11 10:31:07 +11:00 committed by Tim-Philipp Müller
parent 7c52793e7c
commit bb1ae9042b

View file

@ -1323,6 +1323,7 @@ prepare_next_buffer (GstGLImageSink * glimage_sink)
goto fail; goto fail;
} }
gst_object_unref (convert_views); gst_object_unref (convert_views);
convert_views = NULL;
if (next_buffer == NULL) { if (next_buffer == NULL) {
/* Not ready to paint a buffer yet */ /* Not ready to paint a buffer yet */
@ -1385,6 +1386,8 @@ prepare_next_buffer (GstGLImageSink * glimage_sink)
return TRUE; return TRUE;
fail: fail:
if (convert_views)
gst_object_unref (convert_views);
GST_GLIMAGE_SINK_LOCK (glimage_sink); GST_GLIMAGE_SINK_LOCK (glimage_sink);
return FALSE; return FALSE;
} }
@ -1774,7 +1777,8 @@ gst_glimage_sink_cleanup_glthread (GstGLImageSink * gl_sink)
gl_sink->vbo_indices = 0; gl_sink->vbo_indices = 0;
} }
gst_gl_overlay_compositor_free_overlays (gl_sink->overlay_compositor); if (gl_sink->overlay_compositor)
gst_gl_overlay_compositor_free_overlays (gl_sink->overlay_compositor);
} }
/* Called with object lock held */ /* Called with object lock held */