diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-11-01 15:06:50 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-11-01 17:59:57 +0100 |
commit | 315dff497c78526888121c7f84e0074208261129 (patch) | |
tree | b4895e9835b8fb4be5598621b9fb3e6e01d907a5 /examples | |
parent | 8a9998061dc1121348a6297705937d2839441dde (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.cpp | 18 |
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(); |