From fe283a9aeb62ad0a0f56c02772339153c1df96af Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Fri, 26 Jun 2015 15:34:35 -0400 Subject: [PATCH] gl: Don't leak pool if set_config failed --- ext/gl/gstglmixer.c | 11 ++++++----- gst-libs/gst/gl/gstglupload.c | 4 +++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ext/gl/gstglmixer.c b/ext/gl/gstglmixer.c index 119ab5a359..401e4ed6c9 100644 --- a/ext/gl/gstglmixer.c +++ b/ext/gl/gstglmixer.c @@ -165,13 +165,14 @@ gst_gl_mixer_propose_allocation (GstGLBaseMixer * base_mix, config = gst_buffer_pool_get_config (pool); gst_buffer_pool_config_set_params (config, caps, size, 0, 0); - if (!gst_buffer_pool_set_config (pool, config)) - goto config_failed; - } - if (pool) { + if (!gst_buffer_pool_set_config (pool, config)) { + g_object_unref (pool); + goto config_failed; + } + gst_query_add_allocation_pool (query, pool, size, 1, 0); - gst_object_unref (pool); + g_object_unref (pool); } /* we also support various metadata */ diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c index c37eed347a..0ccf328ee1 100644 --- a/gst-libs/gst/gl/gstglupload.c +++ b/gst-libs/gst/gl/gstglupload.c @@ -230,8 +230,10 @@ _gl_memory_upload_propose_allocation (gpointer impl, GstQuery * decide_query, size = info.size; gst_buffer_pool_config_set_params (config, caps, size, 0, 0); - if (!gst_buffer_pool_set_config (pool, config)) + if (!gst_buffer_pool_set_config (pool, config)) { + gst_object_unref (pool); goto config_failed; + } gst_query_add_allocation_pool (query, pool, size, 1, 0); }