summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-10-22 11:35:11 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-11-02 10:21:49 +0000
commitfc25765df381e62b5785fab86d79a64aa6af8ea6 (patch)
tree503b2cc27c88f0529d484f18dd50a16a2dbaad81
parentd37cfb7df83add1b1e619e61bd5dfd1ae85eebc0 (diff)
downloadqtmultimedia-fc25765df381e62b5785fab86d79a64aa6af8ea6.tar.gz
Skip broken cameras on macOS
We can't handle a camera that doesn't provide us any valid vode formats, so skip those and don't enumerate them. One such example is the Snap Camera, that doesn't provide a valid encoding for the video data they are supposed to deliver (CMVideoFormatDescriptionGetCodecType() returns 0x18 which is not any valid FourCC code). Task-number: QTBUG-95186 Change-Id: I19f8500f3ed48ccb689436af10b59ec12c6d26fa Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 8a7e5ac48156ef2d872f3f27e3cf72379dd7ab0a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/multimedia/platform/darwin/qdarwinmediadevices.mm5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/multimedia/platform/darwin/qdarwinmediadevices.mm b/src/multimedia/platform/darwin/qdarwinmediadevices.mm
index b7bb6e7f9..5ff4b7629 100644
--- a/src/multimedia/platform/darwin/qdarwinmediadevices.mm
+++ b/src/multimedia/platform/darwin/qdarwinmediadevices.mm
@@ -304,6 +304,11 @@ void QDarwinMediaDevices::updateCameraDevices()
};
videoFormats << f->create();
}
+ if (videoFormats.isEmpty()) {
+ // skip broken cameras without valid formats
+ delete info;
+ continue;
+ }
info->videoFormats = videoFormats;
info->photoResolutions = photoResolutions.values();