summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Srebrny <piotr.srebrny@qt.io>2021-12-16 11:11:14 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-12-17 11:17:13 +0000
commit4faf0916249437b425d94cccf698b70dc0dbfd7a (patch)
tree41d21131490c35b524554f23dc4f5e954ceb1d51
parent4631c21f04779c4e0f4b1658a8f0683ac87a0da2 (diff)
Don't leak GL display and context objects
Change-Id: If787feb91e1d736081d5e5d05679f2fea5d514fd Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit c7907a849a5dfc278b82bbd8e5d420f0ae6a503e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp b/src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp
index bc7425fbe..9472bc922 100644
--- a/src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp
+++ b/src/multimedia/platform/gstreamer/common/qgstreamervideosink.cpp
@@ -255,10 +255,12 @@ void QGstreamerVideoSink::updateGstContexts()
m_gstGlDisplayContext = gst_context_new(GST_GL_DISPLAY_CONTEXT_TYPE, false);
gst_context_set_gl_display(m_gstGlDisplayContext, gstGlDisplay);
+ gst_object_unref(gstGlDisplay);
m_gstGlLocalContext = gst_context_new("gst.gl.local_context", false);
GstStructure *structure = gst_context_writable_structure(m_gstGlLocalContext);
gst_structure_set(structure, "context", GST_TYPE_GL_CONTEXT, displayContext, nullptr);
+ gst_object_unref(displayContext);
if (!gstPipeline.isNull())
gst_element_set_context(gstPipeline.element(), m_gstGlLocalContext);