summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-10-21 13:19:55 +0200
committerLars Knoll <lars.knoll@qt.io>2021-10-22 11:42:07 +0200
commit00b2946f7b8b4c005a578a460ad7dc4541440366 (patch)
treea7fcd3dd01bb87e833eb54d2fa32647a181b3bb8
parent8a08291a16699cc2534121f76e765d3e88fd910f (diff)
Enable VP9 codec on macOS 11
macOS 11 has builtin support for at least decoding VP9, but it is for some reason not enabled by default. Enable it for Qt Multimedia. Pick-to: 6.2 Change-Id: I0487e6d300f6890b635274ac77923fc623603b9b Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
-rw-r--r--src/multimedia/CMakeLists.txt2
-rw-r--r--src/multimedia/platform/darwin/qdarwinintegration.mm7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/multimedia/CMakeLists.txt b/src/multimedia/CMakeLists.txt
index 283beeab2..f5479be10 100644
--- a/src/multimedia/CMakeLists.txt
+++ b/src/multimedia/CMakeLists.txt
@@ -9,6 +9,7 @@ find_package(Qt6 COMPONENTS ShaderTools)
qt_internal_find_apple_system_framework(FWCoreMedia CoreMedia) # special case
qt_internal_find_apple_system_framework(FWCoreAudio CoreAudio) # special case
qt_internal_find_apple_system_framework(FWAudioUnit AudioUnit) # special case
+qt_internal_find_apple_system_framework(FWVideoToolbox VideoToolbox) # special case
qt_internal_find_apple_system_framework(FWAVFoundation AVFoundation) # special case
qt_internal_add_module(Multimedia
@@ -382,6 +383,7 @@ qt_internal_extend_target(Multimedia CONDITION MACOS AND NOT WATCHOS
PUBLIC_LIBRARIES
${FWAppKit}
${FWAudioUnit}
+ ${FWVideoToolbox}
)
qt_internal_extend_target(Multimedia CONDITION IOS AND NOT WATCHOS
diff --git a/src/multimedia/platform/darwin/qdarwinintegration.mm b/src/multimedia/platform/darwin/qdarwinintegration.mm
index 69810fc43..a1d1cfec1 100644
--- a/src/multimedia/platform/darwin/qdarwinintegration.mm
+++ b/src/multimedia/platform/darwin/qdarwinintegration.mm
@@ -47,12 +47,17 @@
#include <private/qdarwinformatsinfo_p.h>
#include <private/avfvideosink_p.h>
#include <private/avfaudiodecoder_p.h>
+#include <VideoToolbox/VideoToolbox.h>
+#include <qdebug.h>
QT_BEGIN_NAMESPACE
QDarwinIntegration::QDarwinIntegration()
{
-
+#ifdef Q_OS_MACOS
+ if (__builtin_available(macOS 11.0, *))
+ VTRegisterSupplementalVideoDecoderIfAvailable(kCMVideoCodecType_VP9);
+#endif
}
QDarwinIntegration::~QDarwinIntegration()