From 715f3bb828a23813457df6dc07e42a0fca27d06b Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Wed, 11 Nov 2015 10:31:07 +1100 Subject: [PATCH] glimagesink: fix a memory leak if the view conversion fails --- ext/gl/gstglimagesink.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c index f2fd3e0168..fa3c894118 100644 --- a/ext/gl/gstglimagesink.c +++ b/ext/gl/gstglimagesink.c @@ -1323,6 +1323,7 @@ prepare_next_buffer (GstGLImageSink * glimage_sink) goto fail; } gst_object_unref (convert_views); + convert_views = NULL; if (next_buffer == NULL) { /* Not ready to paint a buffer yet */ @@ -1385,6 +1386,8 @@ prepare_next_buffer (GstGLImageSink * glimage_sink) return TRUE; fail: + if (convert_views) + gst_object_unref (convert_views); GST_GLIMAGE_SINK_LOCK (glimage_sink); return FALSE; } @@ -1774,7 +1777,8 @@ gst_glimage_sink_cleanup_glthread (GstGLImageSink * gl_sink) 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 */