summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/camerabin/camerabinsession.cpp
diff options
context:
space:
mode:
authorRatchanan Srirattanamet <ratchanan@ubports.com>2020-09-10 00:30:41 +0700
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2020-09-11 14:12:52 +0000
commitb34065e03e467d2c2b7a04e84bbec815f595220c (patch)
tree1e267ab5e042f81334c5d4650182ed73efab1938 /src/plugins/gstreamer/camerabin/camerabinsession.cpp
parentfd2bb11b9c9f4a0cff99ed21d9e5291ff5ec065d (diff)
CameraBin: unset GValues after finish using them
GValue can contain allocated memory. Not unsetting it can cause memory leak. This patch adds g_value_unset() calls to various places that miss ones. Change-Id: I78e0f8f6c558ada0e7828c11094132359c579c2a Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io> (cherry picked from commit 24ac478e50dab189b53c749b34971a807aa6da4d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabinsession.cpp')
-rw-r--r--src/plugins/gstreamer/camerabin/camerabinsession.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp
index 9445bd9d0..22f5fb116 100644
--- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp
+++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp
@@ -1327,6 +1327,7 @@ QList< QPair<int,int> > CameraBinSession::supportedFrameRates(const QSize &frame
g_value_copy(oldRate, &rate);
gst_structure_remove_all_fields(structure);
gst_structure_set_value(structure, "framerate", &rate);
+ g_value_unset(&rate);
}
#if GST_CHECK_VERSION(1,0,0)
caps = gst_caps_simplify(caps);
@@ -1448,6 +1449,8 @@ QList<QSize> CameraBinSession::supportedResolutions(QPair<int,int> rate,
gst_structure_remove_all_fields(structure);
gst_structure_set_value(structure, "width", &w);
gst_structure_set_value(structure, "height", &h);
+ g_value_unset(&w);
+ g_value_unset(&h);
}
#if GST_CHECK_VERSION(1,0,0)