diff options
author | Ratchanan Srirattanamet <ratchanan@ubports.com> | 2020-09-10 00:30:41 +0700 |
---|---|---|
committer | Ratchanan Srirattanamet <ratchanan@ubports.com> | 2020-09-11 19:54:00 +0700 |
commit | 24ac478e50dab189b53c749b34971a807aa6da4d (patch) | |
tree | 4e0ef93c73376896c389587fcfb782283974e5f9 /src/plugins | |
parent | ab57d0efd91542aa542e3204bc01f8c894181efa (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.
Pick-to: 5.15 5.12
Change-Id: I78e0f8f6c558ada0e7828c11094132359c579c2a
Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinsession.cpp | 3 |
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) |