diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-10-22 11:35:11 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-11-02 10:21:49 +0000 |
commit | fc25765df381e62b5785fab86d79a64aa6af8ea6 (patch) | |
tree | 503b2cc27c88f0529d484f18dd50a16a2dbaad81 | |
parent | d37cfb7df83add1b1e619e61bd5dfd1ae85eebc0 (diff) | |
download | qtmultimedia-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.mm | 5 |
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(); |