summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-11-07 12:58:05 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-11-09 16:14:20 +0000
commita490a4fcd9e03027ab769bbcf1e3b3f90931872c (patch)
tree7923a9009738d7aa9d09bd6898befad13a7106f3
parent98308b18bb19b45c5b0d6ffa17e3bc5078501596 (diff)
downloadqtmultimedia-a490a4fcd9e03027ab769bbcf1e3b3f90931872c.tar.gz
Fix potential crashes if we do not find any audio/video devices
Don't derefence elements in an empty array. Change-Id: I30d99a95ce9570dc73bf585b1010b8df833f4692 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 6e754229f49e3368394eb545f48ed107d8eaf932) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/multimedia/qmediadevices.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/multimedia/qmediadevices.cpp b/src/multimedia/qmediadevices.cpp
index 2d406e1f1..2eb3aa73d 100644
--- a/src/multimedia/qmediadevices.cpp
+++ b/src/multimedia/qmediadevices.cpp
@@ -199,6 +199,8 @@ QList<QCameraDevice> QMediaDevices::videoInputs()
QAudioDevice QMediaDevices::defaultAudioInput()
{
const auto inputs = audioInputs();
+ if (inputs.isEmpty())
+ return {};
for (const auto &info : inputs)
if (info.isDefault())
return info;
@@ -222,6 +224,8 @@ QAudioDevice QMediaDevices::defaultAudioInput()
QAudioDevice QMediaDevices::defaultAudioOutput()
{
const auto outputs = audioOutputs();
+ if (outputs.isEmpty())
+ return {};
for (const auto &info : outputs)
if (info.isDefault())
return info;
@@ -253,6 +257,8 @@ QAudioDevice QMediaDevices::defaultAudioOutput()
QCameraDevice QMediaDevices::defaultVideoInput()
{
const auto inputs = videoInputs();
+ if (inputs.isEmpty())
+ return {};
for (const auto &info : inputs)
if (info.isDefault())
return info;