diff options
author | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-10-12 17:03:46 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-10-19 09:06:21 +0000 |
commit | 5a29980de139e3a0cf9878f3e6c586acdd508f66 (patch) | |
tree | 0278dac5bef6fe2c82adf43e8162062118501fc9 | |
parent | 148d7efb9f6590d7c93d36b788bb63ec0a6e53b9 (diff) |
Fix memleak
Change-Id: Id974afa69e4423163c5c96ba812aa7ca017474fc
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
(cherry picked from commit 8d0e5dfe93536a682849cb49fa2276ceba58ca60)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp b/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp index bfb3bdf8d..60fddab55 100644 --- a/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp +++ b/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp @@ -71,9 +71,11 @@ void QGstreamerCamera::setCamera(const QCameraDevice &camera) auto *integration = static_cast<QGstreamerIntegration *>(QGstreamerIntegration::instance()); auto *device = integration->videoDevice(camera.id()); gstNewCamera = gst_device_create_element(device, "camerasrc"); - QGstStructure properties = gst_device_get_properties(device); - if (properties.name() == "v4l2deviceprovider") - m_v4l2Device = QString::fromUtf8(properties["device.path"].toString()); + if (QGstStructure properties = gst_device_get_properties(device); !properties.isNull()) { + if (properties.name() == "v4l2deviceprovider") + m_v4l2Device = QString::fromUtf8(properties["device.path"].toString()); + properties.free(); + } } QCameraFormat f = findBestCameraFormat(camera); |