summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRatchanan Srirattanamet <ratchanan@ubports.com>2020-09-10 00:30:41 +0700
committerRatchanan Srirattanamet <ratchanan@ubports.com>2020-09-11 19:54:00 +0700
commit24ac478e50dab189b53c749b34971a807aa6da4d (patch)
tree4e0ef93c73376896c389587fcfb782283974e5f9
parentab57d0efd91542aa542e3204bc01f8c894181efa (diff)
downloadqtmultimedia-24ac478e50dab189b53c749b34971a807aa6da4d.tar.gz
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. Pick-to: 5.15 5.12 Change-Id: I78e0f8f6c558ada0e7828c11094132359c579c2a Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io>
-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)