diff options
author | Ratchanan Srirattanamet <ratchanan@ubports.com> | 2020-09-10 00:30:41 +0700 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-09-11 14:12:52 +0000 |
commit | b34065e03e467d2c2b7a04e84bbec815f595220c (patch) | |
tree | 1e267ab5e042f81334c5d4650182ed73efab1938 /src/plugins/gstreamer/camerabin/camerabinsession.cpp | |
parent | fd2bb11b9c9f4a0cff99ed21d9e5291ff5ec065d (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.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) |