summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-11-01 15:06:50 +0100
committerLars Knoll <lars.knoll@qt.io>2021-11-01 17:59:57 +0100
commit315dff497c78526888121c7f84e0074208261129 (patch)
treeb4895e9835b8fb4be5598621b9fb3e6e01d907a5 /examples
parent8a9998061dc1121348a6297705937d2839441dde (diff)
Camera example: Don't crash is the system doesn't have a camera
Don't assume the list of camera formats is non empty. Pick-to: 6.2 Change-Id: Id64772b8db165357d350456df9174a6659f7c8d8 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/multimediawidgets/camera/camera.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/examples/multimediawidgets/camera/camera.cpp b/examples/multimediawidgets/camera/camera.cpp
index 3ddb78597..e87ef47f1 100644
--- a/examples/multimediawidgets/camera/camera.cpp
+++ b/examples/multimediawidgets/camera/camera.cpp
@@ -136,18 +136,20 @@ void Camera::setCamera(const QCameraDevice &cameraDevice)
// Setting default settings.
// The biggest resolution and the max framerate
auto formats = cameraDevice.videoFormats();
- auto defaultFormat = formats.first();
+ if (!formats.isEmpty()) {
+ auto defaultFormat = formats.first();
- for (const auto &format : formats) {
+ for (const auto &format : formats) {
- bool isFormatBigger = format.resolution().width() > defaultFormat.resolution().width()
- && format.resolution().height() > defaultFormat.resolution().height();
+ bool isFormatBigger = format.resolution().width() > defaultFormat.resolution().width()
+ && format.resolution().height() > defaultFormat.resolution().height();
- defaultFormat = isFormatBigger ? format : defaultFormat;
- }
+ defaultFormat = isFormatBigger ? format : defaultFormat;
+ }
- m_camera->setCameraFormat(defaultFormat);
- m_mediaRecorder->setVideoFrameRate(defaultFormat.maxFrameRate());
+ m_camera->setCameraFormat(defaultFormat);
+ m_mediaRecorder->setVideoFrameRate(defaultFormat.maxFrameRate());
+ }
}
m_camera->start();