diff options
27 files changed, 649 insertions, 252 deletions
diff --git a/.cmake.conf b/.cmake.conf index 930548045..213991f58 100644 --- a/.cmake.conf +++ b/.cmake.conf @@ -1 +1 @@ -set(QT_REPO_MODULE_VERSION "6.0.0") +set(QT_REPO_MODULE_VERSION "6.1.0") diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e6ed4476..2d128888d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,8 +11,8 @@ project(QtMultimedia ) # special case begin -find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core Gui Network) -# find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS SET_ME_TO_SOMETHING_USEFUL) +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) +find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Gui Network Widgets Quick Qml OpenGL OpenGLWidgets QuickTest) # special case end if(NOT TARGET Qt::Gui) diff --git a/cmake/FindAVFoundation.cmake b/cmake/FindAVFoundation.cmake new file mode 100644 index 000000000..feefe3d77 --- /dev/null +++ b/cmake/FindAVFoundation.cmake @@ -0,0 +1,11 @@ +find_library(AVFoundation_LIBRARY NAMES AVFoundation) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(AVFoundation DEFAULT_MSG AVFoundation_LIBRARY) + +if(AVFoundation_FOUND AND NOT TARGET AVFoundation::AVFoundation) + add_library(AVFoundation::AVFoundation INTERFACE IMPORTED) + set_target_properties(AVFoundation::AVFoundation PROPERTIES + INTERFACE_LINK_LIBRARIES "${AVFoundation_LIBRARY}") +endif() + +mark_as_advanced(AVFoundation_LIBRARY) diff --git a/cmake/FindGObject.cmake b/cmake/FindGObject.cmake new file mode 100644 index 000000000..0880665fd --- /dev/null +++ b/cmake/FindGObject.cmake @@ -0,0 +1,54 @@ +# FindGObject +# --------- +# +# Try to locate the gobject-2.0 library. +# If found, this will define the following variables: +# +# ``GObject_FOUND`` +# True if the gobject-2.0 library is available +# +# If ``GObject_FOUND`` is TRUE, it will also define the following +# imported target: +# +# ``GObject::GObject`` +# The gobject-2.0 library + +include(CMakeFindDependencyMacro) +find_dependency(GLIB2) + +if(NOT TARGET GObject::GObject) + find_package(PkgConfig QUIET) + pkg_check_modules(PC_GOBJECT gobject-2.0 IMPORTED_TARGET) + if (TARGET PkgConfig::PC_GOBJECT) + add_library(GObject::GObject INTERFACE IMPORTED) + target_link_libraries(GObject::GObject INTERFACE + PkgConfig::PC_GOBJECT + GLIB2::GLIB2 + ) + else() + find_path(GGObject_INCLUDE_DIR + NAMES gobject.h + PATH_SUFFIXES glib-2.0/gobject/ + ) + find_library(GObject_LIBRARY NAMES gobject-2.0) + if (GObject_LIBRARY AND GObject_INCLUDE_DIR) + add_library(GObject::GObject IMPORTED) + target_include_directories(GObject::GObject INTERFACE + ${GObject_INCLUDE_DIR} + ) + target_link_libraries(GObject::GObject INTERFACE + ${GObject_LIBRARY} + GLIB2::GLIB2 + ) + endif() + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(GObject REQUIRED_VARS + GObject_LIBRARY + GObject_INCLUDE_DIR + ) + endif() +endif() + +if(TARGET GObject::GObject) + set(GObject_FOUND TRUE) +endif() diff --git a/cmake/FindGSTREAMER.cmake b/cmake/FindGSTREAMER.cmake new file mode 100644 index 000000000..ef9edd485 --- /dev/null +++ b/cmake/FindGSTREAMER.cmake @@ -0,0 +1,140 @@ +# FindGStreamer +# --------- +# +# Locate the gstreamer-1.0 library and some of its plugins. +# Defines the following imported target: +# +# ``GStreamer::GStreamer`` +# If the gstreamer-1.0 library is available and target GStreamer::Base, +# GStreamer::Audio, GStreamer::Video, GStreamer::Pbutils and +# GStreamer::Allocators exist +# +# If target GStreamer::GStreamer exists, the following targets may be defined: +# +# ``GStreamer::App`` +# If the gstapp-1.0 library is available and target GStreamer::GStreamer exists +# ``GStreamer::Photography`` +# If the gstphotography-1.0 library is available and target GStreamer::GStreamer exists +# ``GStreamer::Gl`` +# If the gstgl-1.0 library is available and target GStreamer::GStreamer exists +# + +include(CMakeFindDependencyMacro) +find_dependency(GObject) + +find_package(PkgConfig QUIET) +function(find_gstreamer_component component prefix header library) + if(NOT TARGET GStreamer::${component}) + string(TOUPPER ${component} upper) + pkg_check_modules(PC_GSTREAMER_${upper} ${prefix} IMPORTED_TARGET) + if(TARGET PkgConfig::PC_GSTREAMER_${upper}) + add_library(GStreamer::${component} INTERFACE IMPORTED) + target_link_libraries(GStreamer::${component} INTERFACE PkgConfig::PC_GSTREAMER_${upper}) + else() + find_path(GStreamer_${component}_INCLUDE_DIR + NAMES ${header} + PATH_SUFFIXES gstreamer-1.0 + ) + find_library(GStreamer_${component}_LIBRARY + NAMES ${library} + ) + if(${component} STREQUAL "Gl") + # search the gstglconfig.h include dir under the same root where the library is found + get_filename_component(gstglLibDir "${GStreamer_Gl_LIBRARY}" PATH) + find_path(GStreamer_GlConfig_INCLUDE_DIR + NAMES gst/gl/gstglconfig.h + PATH_SUFFIXES gstreamer-1.0/include + HINTS ${PC_GSTREAMER_GL_INCLUDE_DIRS} ${PC_GSTREAMER_GL_INCLUDEDIR} "${gstglLibDir}" + ) + if(GStreamer_GlConfig_INCLUDE_DIR) + list(APPEND GStreamer_Gl_INCLUDE_DIR "${GStreamer_GlConfig_INCLUDE_DIR}") + list(REMOVE_DUPLICATES GStreamer_Gl_INCLUDE_DIR) + endif() + endif() + if(GStreamer_${component}_LIBRARY AND GStreamer_${component}_INCLUDE_DIR) + add_library(GStreamer::${component} INTERFACE IMPORTED) + target_include_directories(GStreamer::${component} INTERFACE GStreamer_${component}_INCLUDE_DIR) + target_link_libraries(GStreamer::${component} INTERFACE GStreamer_${component}_LIBRARY) + endif() + mark_as_advanced(GStreamer_${component}_INCLUDE_DIR GStreamer_${component}_LIBRARY) + endif() + endif() + + if(TARGET GStreamer::${component}) + set(GStreamer_${component}_FOUND TRUE PARENT_SCOPE) + endif() +endfunction() + +# GStreamer required dependencies +find_gstreamer_component(Core gstreamer-1.0 gst/gst.h gstreamer-1.0) +find_gstreamer_component(Base gstreamer-base-1.0 gst/gst.h gstbase-1.0) +find_gstreamer_component(Audio gstreamer-audio-1.0 gst/audio/audio.h gstaudio-1.0) +find_gstreamer_component(Video gstreamer-video-1.0 gst/video/video.h gstvideo-1.0) +find_gstreamer_component(Pbutils gstreamer-pbutils-1.0 gst/pbutils/pbutils.h gstpbutils-1.0) +find_gstreamer_component(Allocators gstreamer-allocators-1.0 gst/allocators/allocators.h gstallocators-1.0) + +if(TARGET GStreamer::Core) + target_link_libraries(GStreamer::Core INTERFACE GObject::GObject) +endif() +if(TARGET GStreamer::Base AND TARGET GStreamer::Core) + target_link_libraries(GStreamer::Base INTERFACE GStreamer::Core) +endif() +if(TARGET GStreamer::Audio AND TARGET GStreamer::Base) + target_link_libraries(GStreamer::Audio INTERFACE GStreamer::Base) +endif() +if(TARGET GStreamer::Video AND TARGET GStreamer::Base) + target_link_libraries(GStreamer::Video INTERFACE GStreamer::Base) +endif() +if(TARGET GStreamer::Pbutils AND TARGET GStreamer::Audio AND TARGET GStreamer::Video) + target_link_libraries(GStreamer::Pbutils INTERFACE GStreamer::Audio GStreamer::Video) +endif() +if(TARGET GStreamer::Allocators AND TARGET GStreamer::Core) + target_link_libraries(GStreamer::Allocators INTERFACE GStreamer::Core) +endif() + +# GStreamer optional components +foreach(component ${GStreamer_FIND_COMPONENTS}) + if (${component} STREQUAL "App") + find_gstreamer_component(App gstreamer-app-1.0 gst/app/gstappsink.h gstapp-1.0) + if(TARGET GStreamer::App AND TARGET GStreamer::Base) + target_link_libraries(GStreamer::App INTERFACE GStreamer::Base) + endif() + elseif (${component} STREQUAL "Photography") + find_gstreamer_component(Photography gstreamer-photography-1.0 gst/interfaces/photography.h gstphotography-1.0) + if(TARGET GStreamer::Photography AND TARGET GStreamer::Core) + target_link_libraries(GStreamer::Photography INTERFACE GStreamer::Core) + endif() + elseif (${component} STREQUAL "Gl") + find_gstreamer_component(Gl gstreamer-gl-1.0 gst/gl/gl.h gstgl-1.0) + if(TARGET GStreamer::Gl AND TARGET GStreamer::Video AND TARGET GStreamer::Allocators) + target_link_libraries(GStreamer::Gl INTERFACE GStreamer::Video GStreamer::Allocators) + endif() + else() + message(WARNING "FindGStreamer.cmake: Invalid Gstreamer component \"${component}\" requested") + endif() +endforeach() + +# Create target GStreamer::GStreamer +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(GStreamer + REQUIRED_VARS + GStreamer_Core_FOUND + GStreamer_Base_FOUND + GStreamer_Audio_FOUND + GStreamer_Video_FOUND + GStreamer_Pbutils_FOUND + GStreamer_Allocators_FOUND + HANDLE_COMPONENTS +) + +if(GStreamer_FOUND AND NOT TARGET GStreamer::GStreamer) + add_library(GStreamer::GStreamer INTERFACE IMPORTED) + target_link_libraries(GStreamer::GStreamer INTERFACE + GStreamer::Core + GStreamer::Base + GStreamer::Audio + GStreamer::Video + GStreamer::Pbutils + GStreamer::Allocators + ) +endif() diff --git a/cmake/FindMMRenderer.cmake b/cmake/FindMMRenderer.cmake new file mode 100644 index 000000000..dcc66c3d6 --- /dev/null +++ b/cmake/FindMMRenderer.cmake @@ -0,0 +1,26 @@ +# FindMMRenderer +# --------- +# +# Try to locate the mm-renderer library. +# If found, this will define the following variables: +# +# ``MMRenderer_FOUND`` +# True if the mm-renderer library is available +# ``MMRenderer_LIBRARY`` +# The mm-renderer library +# +# If ``MMRenderer_FOUND`` is TRUE, it will also define the following +# imported target: +# +# ``MMRenderer::MMRenderer`` +# The mm-renderer library to link to + +find_library(MMRenderer_LIBRARY NAMES mm-renderer) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(MMRenderer DEFAULT_MSG MMRenderer_LIBRARY) +if(MMRenderer_FOUND AND NOT TARGET MMRenderer::MMRenderer) + add_library(MMRenderer::MMRenderer INTERFACE IMPORTED) + target_link_libraries(MMRenderer::MMRenderer + INTERFACE ${MMRenderer_LIBRARY}) +endif() +mark_as_advanced(MMRenderer_LIBRARY) diff --git a/cmake/FindWMF.cmake b/cmake/FindWMF.cmake new file mode 100644 index 000000000..5ace0923f --- /dev/null +++ b/cmake/FindWMF.cmake @@ -0,0 +1,44 @@ +# FindWMF +# --------- +# +# Try to locate the Windows Media Foundation library. +# If found, this will define the following variables: +# +# ``WMF_FOUND`` +# True if Windows Media Foundation is available +# ``WMF_LIBRARIES`` +# The Windows Media Foundation set of libraries +# +# If ``WMF_FOUND`` is TRUE, it will also define the following +# imported target: +# +# ``WMF::WMF`` +# The Windows Media Foundation library to link to + +find_library(WMF_STMIIDS_LIBRARY strmiids) +find_library(WMF_DMOGUIDS_LIBRARY dmoguids) +find_library(WMF_UUID_LIBRARY uuid) +find_library(WMF_MSDMO_LIBRARY msdmo) +find_library(WMF_OLE32_LIBRARY ole32) +find_library(WMF_OLEAUT32_LIBRARY oleaut32) +find_library(WMF_MF_LIBRARY Mf) +find_library(WMF_MFUUID_LIBRARY Mfuuid) +find_library(WMF_MFPLAT_LIBRARY Mfplat) +find_library(WMF_PROPSYS_LIBRARY Propsys) + +set(WMF_LIBRARIES ${WMF_STMIIDS_LIBRARY} ${WMF_DMOGUIDS_LIBRARY} ${WMF_UUID_LIBRARY} ${WMF_MSDMO_LIBRARY} + ${WMF_OLE32_LIBRARY} ${WMF_OLEAUT32_LIBRARY} ${WMF_MF_LIBRARY} + ${WMF_MFUUID_LIBRARY} ${WMF_MFPLAT_LIBRARY} ${WMF_PROPSYS_LIBRARY}) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(WMF REQUIRED_VARS + WMF_STMIIDS_LIBRARY WMF_DMOGUIDS_LIBRARY WMF_UUID_LIBRARY WMF_MSDMO_LIBRARY + WMF_OLE32_LIBRARY WMF_OLEAUT32_LIBRARY WMF_MF_LIBRARY + WMF_MFUUID_LIBRARY WMF_MFPLAT_LIBRARY WMF_PROPSYS_LIBRARY) + +if(WMF_FOUND AND NOT TARGET WMF::WMF) + add_library(WMF::WMF INTERFACE IMPORTED) + set_target_properties(WMF::WMF PROPERTIES + INTERFACE_LINK_LIBRARIES "${WMF_LIBRARIES}") +endif() + +mark_as_advanced(WMF_LIBRARIES) diff --git a/cmake/FindWrapPulseAudio.cmake b/cmake/FindWrapPulseAudio.cmake new file mode 100644 index 000000000..67fb7401d --- /dev/null +++ b/cmake/FindWrapPulseAudio.cmake @@ -0,0 +1,32 @@ +# FindWrapPulseAudio +# --------- +# +# Try to locate the pulseaudio library. +# If found, this will define the following variables: +# +# ``WrapPulseAudio_FOUND`` +# True if the pulseaudio library is available +# +# If ``WrapPulseAduio_FOUND`` is TRUE, it will also define the following +# imported target: +# +# ``WrapPulseAudio::WrapPulseAudio`` +# The pulseaudio library to link to + +if(TARGET WrapPulseAudio::WrapPulseAudio) + set(WrapPulseAudio_FOUND ON) + return() +endif() +find_package(PulseAudio QUIET) +if(PulseAudio_FOUND) + set(WrapPulseAudio_FOUND 1) +endif() +if(WrapPulseAudio_FOUND AND NOT TARGET WrapPulseAudio::WrapPulseAudio) + add_library(WrapPulseAudio::WrapPulseAudio INTERFACE IMPORTED) + target_include_directories(WrapPulseAudio::WrapPulseAudio INTERFACE "${PULSEAUDIO_INCLUDE_DIR}") + target_link_libraries(WrapPulseAudio::WrapPulseAudio + INTERFACE "${PULSEAUDIO_LIBRARY}") +endif() +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(WrapPulseAudio REQUIRED_VARS + PULSEAUDIO_LIBRARY PULSEAUDIO_INCLUDE_DIR WrapPulseAudio_FOUND) diff --git a/examples/multimedia/spectrum/CMakeLists.txt b/examples/multimedia/spectrum/CMakeLists.txt index 868c67f2b..5e0d8c45b 100644 --- a/examples/multimedia/spectrum/CMakeLists.txt +++ b/examples/multimedia/spectrum/CMakeLists.txt @@ -1,6 +1,6 @@ # Generated from spectrum.pro. add_subdirectory(app) -if(NOT DEFINES___contains___DISABLE_FFT) +if(BUILD_SHARED_LIBS) # special case add_subdirectory(3rdparty/fftreal) endif() diff --git a/examples/multimedia/spectrum/app/CMakeLists.txt b/examples/multimedia/spectrum/app/CMakeLists.txt index e55123afb..eda9884e5 100644 --- a/examples/multimedia/spectrum/app/CMakeLists.txt +++ b/examples/multimedia/spectrum/app/CMakeLists.txt @@ -74,7 +74,7 @@ qt6_add_resources(spectrum "spectrum" ${spectrum_resource_files} ) -if(MACOS AND NOT DEFINES___contains___DISABLE_FFT) +if(MACOS AND BUILD_SHARED_LIBS) # special case target_link_libraries(spectrum PUBLIC fftreal # special case # Remove: F @@ -82,7 +82,7 @@ if(MACOS AND NOT DEFINES___contains___DISABLE_FFT) endif() -if(NOT DEFINES___contains___DISABLE_FFT AND NOT MACOS) +if(BUILD_SHARED_LIBS AND NOT MACOS) # special case target_link_libraries(spectrum PUBLIC # Remove: L.. fftreal diff --git a/src/imports/multimedia/.prev_CMakeLists.txt b/src/imports/multimedia/.prev_CMakeLists.txt new file mode 100644 index 000000000..8b4300a46 --- /dev/null +++ b/src/imports/multimedia/.prev_CMakeLists.txt @@ -0,0 +1,55 @@ +# Generated from multimedia.pro. + +##################################################################### +## declarative_multimedia Plugin: +##################################################################### + +qt_internal_add_qml_module(declarative_multimedia + URI "QtMultimedia" + VERSION "5.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QMultimediaDeclarativeModule + SOURCES + multimedia.cpp + qdeclarativeaudio.cpp qdeclarativeaudio_p.h + qdeclarativecamera.cpp qdeclarativecamera_p.h + qdeclarativecameracapture.cpp qdeclarativecameracapture_p.h + qdeclarativecameraexposure.cpp qdeclarativecameraexposure_p.h + qdeclarativecameraflash.cpp qdeclarativecameraflash_p.h + qdeclarativecamerafocus.cpp qdeclarativecamerafocus_p.h + qdeclarativecameraimageprocessing.cpp qdeclarativecameraimageprocessing_p.h + qdeclarativecamerapreviewprovider.cpp qdeclarativecamerapreviewprovider_p.h + qdeclarativecamerarecorder.cpp qdeclarativecamerarecorder_p.h + qdeclarativecameraviewfinder.cpp qdeclarativecameraviewfinder_p.h + qdeclarativemediametadata_p.h + qdeclarativemultimediaglobal.cpp qdeclarativemultimediaglobal_p.h + qdeclarativeplaylist.cpp qdeclarativeplaylist_p.h + qdeclarativetorch.cpp qdeclarativetorch_p.h + DEFINES + QT_DISABLE_DEPRECATED_BEFORE=0 + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::MultimediaPrivate + Qt::MultimediaQuickPrivate + Qt::Network + Qt::Qml + Qt::Quick +) + +#### Keys ignored in scope 1:.:.:multimedia.pro:<TRUE>: +# CXX_MODULE = "multimedia" +# QML_FILES = "Video.qml" +# QML_IMPORT_VERSION = "5.$$QT_MINOR_VERSION" +# TARGETPATH = "QtMultimedia" + +set(qml_files + "Video.qml" +) +set_source_files_properties(Video.qml PROPERTIES + QT_QML_SOURCE_VERSION "5.0" +) + +qt6_target_qml_files(declarative_multimedia + FILES + ${qml_files} +) diff --git a/src/imports/multimedia/CMakeLists.txt b/src/imports/multimedia/CMakeLists.txt index 0c3e381ec..823cd47ef 100644 --- a/src/imports/multimedia/CMakeLists.txt +++ b/src/imports/multimedia/CMakeLists.txt @@ -6,7 +6,7 @@ qt_internal_add_qml_module(declarative_multimedia URI "QtMultimedia" - VERSION "5.15" + VERSION "${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}" # special case CLASSNAME QMultimediaDeclarativeModule SOURCES multimedia.cpp @@ -39,7 +39,7 @@ qt_internal_add_qml_module(declarative_multimedia #### Keys ignored in scope 1:.:.:multimedia.pro:<TRUE>: # CXX_MODULE = "multimedia" # QML_FILES = "Video.qml" -# QML_IMPORT_VERSION = "5.15" +# QML_IMPORT_VERSION = "5.$$QT_MINOR_VERSION" # TARGETPATH = "QtMultimedia" set(qml_files diff --git a/src/imports/multimedia/multimedia.pro b/src/imports/multimedia/multimedia.pro index 126152b3a..4a5f359fe 100644 --- a/src/imports/multimedia/multimedia.pro +++ b/src/imports/multimedia/multimedia.pro @@ -1,7 +1,7 @@ CXX_MODULE = multimedia TARGET = declarative_multimedia TARGETPATH = QtMultimedia -QML_IMPORT_VERSION = 5.15 +QML_IMPORT_VERSION = 5.$$QT_MINOR_VERSION QT += qml quick network multimedia-private qtmultimediaquicktools-private diff --git a/src/multimedia/.prev_CMakeLists.txt b/src/multimedia/.prev_CMakeLists.txt index ea92793f5..5bc6414b6 100644 --- a/src/multimedia/.prev_CMakeLists.txt +++ b/src/multimedia/.prev_CMakeLists.txt @@ -29,8 +29,6 @@ qt_internal_add_module(Multimedia camera/qcameraviewfindersettings.cpp camera/qcameraviewfindersettings.h controls/qaudiodecodercontrol.cpp controls/qaudiodecodercontrol.h controls/qaudioencodersettingscontrol.cpp controls/qaudioencodersettingscontrol.h - controls/qaudioinputselectorcontrol.cpp controls/qaudioinputselectorcontrol.h - controls/qaudiooutputselectorcontrol.cpp controls/qaudiooutputselectorcontrol.h controls/qcameracontrol.cpp controls/qcameracontrol.h controls/qcameraexposurecontrol.cpp controls/qcameraexposurecontrol.h controls/qcamerafocuscontrol.cpp controls/qcamerafocuscontrol.h @@ -144,45 +142,45 @@ endif() qt_internal_extend_target(Multimedia CONDITION WIN32 SOURCES - platform/wasapi/qwindowsaudiodeviceinfo.cpp platform/wasapi/qwindowsaudiodeviceinfo_p.h - platform/wasapi/qwindowsaudioinput.cpp platform/wasapi/qwindowsaudioinput_p.h - platform/wasapi/qwindowsaudiooutput.cpp platform/wasapi/qwindowsaudiooutput_p.h - platform/wasapi/qwindowsaudioutils.cpp platform/wasapi/qwindowsaudioutils_p.h - platform/wmf/decoder/mfaudiodecodercontrol.cpp platform/wmf/decoder/mfaudiodecodercontrol_p.h - platform/wmf/decoder/mfdecodersourcereader.cpp platform/wmf/decoder/mfdecodersourcereader_p.h - platform/wmf/evr/evrcustompresenter.cpp platform/wmf/evr/evrcustompresenter_p.h - platform/wmf/evr/evrd3dpresentengine.cpp platform/wmf/evr/evrd3dpresentengine_p.h - platform/wmf/evr/evrdefs.cpp platform/wmf/evr/evrdefs_p.h - platform/wmf/evr/evrhelpers.cpp platform/wmf/evr/evrhelpers_p.h - platform/wmf/evr/evrvideowindowcontrol.cpp platform/wmf/evr/evrvideowindowcontrol_p.h - platform/wmf/mfstream.cpp platform/wmf/mfstream_p.h - platform/wmf/player/mfactivate.cpp platform/wmf/player/mfactivate_p.h - platform/wmf/player/mfaudioendpointcontrol.cpp platform/wmf/player/mfaudioendpointcontrol_p.h - platform/wmf/player/mfaudioprobecontrol.cpp platform/wmf/player/mfaudioprobecontrol_p.h - platform/wmf/player/mfevrvideowindowcontrol.cpp platform/wmf/player/mfevrvideowindowcontrol_p.h - platform/wmf/player/mfmetadatacontrol.cpp platform/wmf/player/mfmetadatacontrol_p.h - platform/wmf/player/mfplayercontrol.cpp platform/wmf/player/mfplayercontrol_p.h - platform/wmf/player/mfplayerservice.cpp platform/wmf/player/mfplayerservice_p.h - platform/wmf/player/mfplayersession.cpp platform/wmf/player/mfplayersession_p.h - platform/wmf/player/mftvideo.cpp platform/wmf/player/mftvideo_p.h - platform/wmf/player/mfvideoprobecontrol.cpp platform/wmf/player/mfvideoprobecontrol_p.h - platform/wmf/player/mfvideorenderercontrol.cpp platform/wmf/player/mfvideorenderercontrol_p.h - platform/wmf/player/samplegrabber.cpp platform/wmf/player/samplegrabber_p.h - platform/wmf/qwindowsdevicemanager.cpp platform/wmf/qwindowsdevicemanager_p.h - platform/wmf/qwindowsintegration.cpp platform/wmf/qwindowsintegration_p.h - platform/wmf/sourceresolver.cpp platform/wmf/sourceresolver_p.h - platform/wmf/wmfserviceplugin.cpp platform/wmf/wmfserviceplugin_p.h + platform/windows/audio/qwindowsaudiodeviceinfo.cpp platform/windows/audio/qwindowsaudiodeviceinfo_p.h + platform/windows/audio/qwindowsaudioinput.cpp platform/windows/audio/qwindowsaudioinput_p.h + platform/windows/audio/qwindowsaudiooutput.cpp platform/windows/audio/qwindowsaudiooutput_p.h + platform/windows/audio/qwindowsaudioutils.cpp platform/windows/audio/qwindowsaudioutils_p.h + platform/windows/decoder/mfaudiodecodercontrol.cpp platform/windows/decoder/mfaudiodecodercontrol_p.h + platform/windows/decoder/mfdecodersourcereader.cpp platform/windows/decoder/mfdecodersourcereader_p.h + platform/windows/evr/evrcustompresenter.cpp platform/windows/evr/evrcustompresenter_p.h + platform/windows/evr/evrd3dpresentengine.cpp platform/windows/evr/evrd3dpresentengine_p.h + platform/windows/evr/evrdefs.cpp platform/windows/evr/evrdefs_p.h + platform/windows/evr/evrhelpers.cpp platform/windows/evr/evrhelpers_p.h + platform/windows/evr/evrvideowindowcontrol.cpp platform/windows/evr/evrvideowindowcontrol_p.h + platform/windows/mfstream.cpp platform/windows/mfstream_p.h + platform/windows/player/mfactivate.cpp platform/windows/player/mfactivate_p.h + platform/windows/player/mfaudioprobecontrol.cpp platform/windows/player/mfaudioprobecontrol_p.h + platform/windows/player/mfevrvideowindowcontrol.cpp platform/windows/player/mfevrvideowindowcontrol_p.h + platform/windows/player/mfmetadatacontrol.cpp platform/windows/player/mfmetadatacontrol_p.h + platform/windows/player/mfplayercontrol.cpp platform/windows/player/mfplayercontrol_p.h + platform/windows/player/mfplayerservice.cpp platform/windows/player/mfplayerservice_p.h + platform/windows/player/mfplayersession.cpp platform/windows/player/mfplayersession_p.h + platform/windows/player/mftvideo.cpp platform/windows/player/mftvideo_p.h + platform/windows/player/mfvideoprobecontrol.cpp platform/windows/player/mfvideoprobecontrol_p.h + platform/windows/player/mfvideorenderercontrol.cpp platform/windows/player/mfvideorenderercontrol_p.h + platform/windows/player/samplegrabber.cpp platform/windows/player/samplegrabber_p.h + platform/windows/qwindowsdevicemanager.cpp platform/windows/qwindowsdevicemanager_p.h + platform/windows/qwindowsintegration.cpp platform/windows/qwindowsintegration_p.h + platform/windows/sourceresolver.cpp platform/windows/sourceresolver_p.h + platform/windows/wmfserviceplugin.cpp platform/windows/wmfserviceplugin_p.h INCLUDE_DIRECTORIES . - platform/wmf/decoder - platform/wmf/evr - platform/wmf/player + platform/windows/decoder + platform/windows/evr + platform/windows/player LIBRARIES Qt::GuiPrivate uuid PUBLIC_LIBRARIES Qt::Gui Qt::Network + WMF::WMF d3d9 dxva2 evr @@ -197,7 +195,6 @@ qt_internal_extend_target(Multimedia CONDITION WIN32 user32 winmm wmcodecdspuuid - wmf PRIVATE_MODULE_INTERFACE Qt::GuiPrivate ) @@ -211,7 +208,6 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_gstreamer platform/gstreamer/audio/qgstreameraudiodecodercontrol.cpp platform/gstreamer/audio/qgstreameraudiodecodercontrol_p.h platform/gstreamer/common/qgstappsrc.cpp platform/gstreamer/common/qgstappsrc_p.h platform/gstreamer/common/qgstcodecsinfo.cpp platform/gstreamer/common/qgstcodecsinfo_p.h - platform/gstreamer/common/qgstreameraudioinputselector.cpp platform/gstreamer/common/qgstreameraudioinputselector_p.h platform/gstreamer/common/qgstreameraudioprobecontrol.cpp platform/gstreamer/common/qgstreameraudioprobecontrol_p.h platform/gstreamer/common/qgstreamerbufferprobe.cpp platform/gstreamer/common/qgstreamerbufferprobe_p.h platform/gstreamer/common/qgstreamerbushelper.cpp platform/gstreamer/common/qgstreamerbushelper_p.h @@ -232,8 +228,8 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_gstreamer platform/gstreamer/mediaplayer/qgstreamerplayerservice.cpp platform/gstreamer/mediaplayer/qgstreamerplayerservice_p.h platform/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp platform/gstreamer/mediaplayer/qgstreamerplayerserviceplugin_p.h platform/gstreamer/mediaplayer/qgstreamerstreamscontrol.cpp platform/gstreamer/mediaplayer/qgstreamerstreamscontrol_p.h - platform/gstreamer/qgstreamerplatformdevicemanager.cpp platform/gstreamer/qgstreamerplatformdevicemanager_p.h - platform/gstreamer/qgstreamerplatformintegration.cpp platform/gstreamer/qgstreamerplatformintegration_p.h + platform/gstreamer/qgstreamerdevicemanager.cpp platform/gstreamer/qgstreamerdevicemanager_p.h + platform/gstreamer/qgstreamerintegration.cpp platform/gstreamer/qgstreamerintegration_p.h DEFINES GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 INCLUDE_DIRECTORIES @@ -341,7 +337,7 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_pulseaudio platform/pulseaudio/qpulseaudiointegration.cpp platform/pulseaudio/qpulseaudiointegration_p.h platform/pulseaudio/qpulsehelpers.cpp platform/pulseaudio/qpulsehelpers_p.h LIBRARIES - pulseaudio + WrapPulseAudio::WrapPulseAudio ) qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_alsa @@ -352,16 +348,19 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_alsa platform/alsa/qalsadevicemanager.cpp platform/alsa/qalsadevicemanager_p.h platform/alsa/qalsaintegration.cpp platform/alsa/qalsaintegration_p.h LIBRARIES - alsa + ALSA::ALSA ) qt_internal_extend_target(Multimedia CONDITION ANDROID SOURCES + platform/android/audio/qopenslesaudioinput.cpp platform/android/audio/qopenslesaudioinput_p.h + platform/android/audio/qopenslesaudiooutput.cpp platform/android/audio/qopenslesaudiooutput_p.h + platform/android/audio/qopenslesdeviceinfo.cpp platform/android/audio/qopenslesdeviceinfo_p.h + platform/android/audio/qopenslesengine.cpp platform/android/audio/qopenslesengine_p.h platform/android/common/qandroidglobal_p.h platform/android/common/qandroidmultimediautils.cpp platform/android/common/qandroidmultimediautils_p.h platform/android/common/qandroidvideooutput.cpp platform/android/common/qandroidvideooutput_p.h platform/android/mediacapture/qandroidaudioencodersettingscontrol.cpp platform/android/mediacapture/qandroidaudioencodersettingscontrol_p.h - platform/android/mediacapture/qandroidaudioinputselectorcontrol.cpp platform/android/mediacapture/qandroidaudioinputselectorcontrol_p.h platform/android/mediacapture/qandroidcameracontrol.cpp platform/android/mediacapture/qandroidcameracontrol_p.h platform/android/mediacapture/qandroidcameraexposurecontrol.cpp platform/android/mediacapture/qandroidcameraexposurecontrol_p.h platform/android/mediacapture/qandroidcamerafocuscontrol.cpp platform/android/mediacapture/qandroidcamerafocuscontrol_p.h @@ -389,10 +388,6 @@ qt_internal_extend_target(Multimedia CONDITION ANDROID platform/android/wrappers/jni/androidmultimediautils.cpp platform/android/wrappers/jni/androidmultimediautils_p.h platform/android/wrappers/jni/androidsurfacetexture.cpp platform/android/wrappers/jni/androidsurfacetexture_p.h platform/android/wrappers/jni/androidsurfaceview.cpp platform/android/wrappers/jni/androidsurfaceview_p.h - platform/opensles/qopenslesaudioinput.cpp platform/opensles/qopenslesaudioinput_p.h - platform/opensles/qopenslesaudiooutput.cpp platform/opensles/qopenslesaudiooutput_p.h - platform/opensles/qopenslesdeviceinfo.cpp platform/opensles/qopenslesdeviceinfo_p.h - platform/opensles/qopenslesengine.cpp platform/opensles/qopenslesengine_p.h INCLUDE_DIRECTORIES platform/android/common platform/android/mediacapture @@ -422,19 +417,19 @@ qt_internal_extend_target(Multimedia CONDITION TARGET Qt::Widgets AND WIN32 qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT WATCHOS SOURCES - platform/avfoundation/mediaplayer/avfmediaplayercontrol.mm platform/avfoundation/mediaplayer/avfmediaplayercontrol_p.h - platform/avfoundation/mediaplayer/avfmediaplayermetadatacontrol.mm platform/avfoundation/mediaplayer/avfmediaplayermetadatacontrol_p.h - platform/avfoundation/mediaplayer/avfmediaplayerservice.mm platform/avfoundation/mediaplayer/avfmediaplayerservice_p.h - platform/avfoundation/mediaplayer/avfmediaplayerserviceplugin.mm platform/avfoundation/mediaplayer/avfmediaplayerserviceplugin_p.h - platform/avfoundation/mediaplayer/avfmediaplayersession.mm platform/avfoundation/mediaplayer/avfmediaplayersession_p.h - platform/avfoundation/mediaplayer/avfvideooutput.mm platform/avfoundation/mediaplayer/avfvideooutput_p.h - platform/avfoundation/mediaplayer/avfvideowindowcontrol.mm platform/avfoundation/mediaplayer/avfvideowindowcontrol_p.h - platform/avfoundation/qavfplatformdevicemanager.mm platform/avfoundation/qavfplatformdevicemanager_p.h - platform/avfoundation/qavfplatformintegration.cpp platform/avfoundation/qavfplatformintegration_p.h - platform/coreaudio/qcoreaudiodeviceinfo.mm platform/coreaudio/qcoreaudiodeviceinfo_p.h - platform/coreaudio/qcoreaudioinput.mm platform/coreaudio/qcoreaudioinput_p.h - platform/coreaudio/qcoreaudiooutput.mm platform/coreaudio/qcoreaudiooutput_p.h - platform/coreaudio/qcoreaudioutils.mm platform/coreaudio/qcoreaudioutils_p.h + platform/darwin/audio/qcoreaudiodeviceinfo.mm platform/darwin/audio/qcoreaudiodeviceinfo_p.h + platform/darwin/audio/qcoreaudioinput.mm platform/darwin/audio/qcoreaudioinput_p.h + platform/darwin/audio/qcoreaudiooutput.mm platform/darwin/audio/qcoreaudiooutput_p.h + platform/darwin/audio/qcoreaudioutils.mm platform/darwin/audio/qcoreaudioutils_p.h + platform/darwin/mediaplayer/avfmediaplayercontrol.mm platform/darwin/mediaplayer/avfmediaplayercontrol_p.h + platform/darwin/mediaplayer/avfmediaplayermetadatacontrol.mm platform/darwin/mediaplayer/avfmediaplayermetadatacontrol_p.h + platform/darwin/mediaplayer/avfmediaplayerservice.mm platform/darwin/mediaplayer/avfmediaplayerservice_p.h + platform/darwin/mediaplayer/avfmediaplayerserviceplugin.mm platform/darwin/mediaplayer/avfmediaplayerserviceplugin_p.h + platform/darwin/mediaplayer/avfmediaplayersession.mm platform/darwin/mediaplayer/avfmediaplayersession_p.h + platform/darwin/mediaplayer/avfvideooutput.mm platform/darwin/mediaplayer/avfvideooutput_p.h + platform/darwin/mediaplayer/avfvideowindowcontrol.mm platform/darwin/mediaplayer/avfvideowindowcontrol_p.h + platform/darwin/qdarwindevicemanager.mm platform/darwin/qdarwindevicemanager_p.h + platform/darwin/qdarwinintegration.cpp platform/darwin/qdarwinintegration_p.h PUBLIC_LIBRARIES ${FWAudioToolbox} ${FWCoreAudio} @@ -443,25 +438,10 @@ qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT WATCHOS ${FWCoreVideo} ${FWFoundation} ${FWMetal} + ${FWQt::OpenGL} ${FWQuartzCore} + AVFoundation::AVFoundation Qt::Network - Qt::OpenGL - avfoundation -) - -qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT WATCHOS AND (IOS OR TVOS) - SOURCES - platform/coreaudio/qcoreaudiosessionmanager.mm platform/coreaudio/qcoreaudiosessionmanager_p.h - PUBLIC_LIBRARIES - ${FWAVFoundation} - ${FWFoundation} -) - -qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT IOS AND NOT TVOS AND NOT WATCHOS - PUBLIC_LIBRARIES - ${FWAppKit} - ${FWApplicationServices} - ${FWAudioUnit} ) qt_internal_extend_target(Multimedia CONDITION MACOS AND NOT WATCHOS @@ -478,51 +458,65 @@ qt_internal_extend_target(Multimedia CONDITION IOS AND NOT WATCHOS qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT TVOS AND NOT WATCHOS SOURCES - platform/avfoundation/camera/avfaudioencodersettingscontrol.mm platform/avfoundation/camera/avfaudioencodersettingscontrol_p.h - platform/avfoundation/camera/avfaudioinputselectorcontrol.mm platform/avfoundation/camera/avfaudioinputselectorcontrol_p.h - platform/avfoundation/camera/avfcameracontrol.mm platform/avfoundation/camera/avfcameracontrol_p.h - platform/avfoundation/camera/avfcameradebug_p.h - platform/avfoundation/camera/avfcameradevicecontrol.mm platform/avfoundation/camera/avfcameradevicecontrol_p.h - platform/avfoundation/camera/avfcameraexposurecontrol.mm platform/avfoundation/camera/avfcameraexposurecontrol_p.h - platform/avfoundation/camera/avfcamerafocuscontrol.mm platform/avfoundation/camera/avfcamerafocuscontrol_p.h - platform/avfoundation/camera/avfcamerametadatacontrol.mm platform/avfoundation/camera/avfcamerametadatacontrol_p.h - platform/avfoundation/camera/avfcamerarenderercontrol.mm platform/avfoundation/camera/avfcamerarenderercontrol_p.h - platform/avfoundation/camera/avfcameraservice.mm platform/avfoundation/camera/avfcameraservice_p.h - platform/avfoundation/camera/avfcameraserviceplugin.mm platform/avfoundation/camera/avfcameraserviceplugin_p.h - platform/avfoundation/camera/avfcamerasession.mm platform/avfoundation/camera/avfcamerasession_p.h - platform/avfoundation/camera/avfcamerautility.mm platform/avfoundation/camera/avfcamerautility_p.h - platform/avfoundation/camera/avfcamerawindowcontrol.mm platform/avfoundation/camera/avfcamerawindowcontrol_p.h - platform/avfoundation/camera/avfimagecapturecontrol.mm platform/avfoundation/camera/avfimagecapturecontrol_p.h - platform/avfoundation/camera/avfimageencodercontrol.mm platform/avfoundation/camera/avfimageencodercontrol_p.h - platform/avfoundation/camera/avfmediacontainercontrol.mm platform/avfoundation/camera/avfmediacontainercontrol_p.h - platform/avfoundation/camera/avfmediavideoprobecontrol.mm platform/avfoundation/camera/avfmediavideoprobecontrol_p.h - platform/avfoundation/camera/avfstoragelocation.mm platform/avfoundation/camera/avfstoragelocation_p.h - platform/avfoundation/camera/avfvideoencodersettingscontrol.mm platform/avfoundation/camera/avfvideoencodersettingscontrol_p.h + platform/darwin/camera/avfaudioencodersettingscontrol.mm platform/darwin/camera/avfaudioencodersettingscontrol_p.h + platform/darwin/camera/avfcameracontrol.mm platform/darwin/camera/avfcameracontrol_p.h + platform/darwin/camera/avfcameradebug_p.h + platform/darwin/camera/avfcameradevicecontrol.mm platform/darwin/camera/avfcameradevicecontrol_p.h + platform/darwin/camera/avfcameraexposurecontrol.mm platform/darwin/camera/avfcameraexposurecontrol_p.h + platform/darwin/camera/avfcamerafocuscontrol.mm platform/darwin/camera/avfcamerafocuscontrol_p.h + platform/darwin/camera/avfcamerametadatacontrol.mm platform/darwin/camera/avfcamerametadatacontrol_p.h + platform/darwin/camera/avfcamerarenderercontrol.mm platform/darwin/camera/avfcamerarenderercontrol_p.h + platform/darwin/camera/avfcameraservice.mm platform/darwin/camera/avfcameraservice_p.h + platform/darwin/camera/avfcameraserviceplugin.mm platform/darwin/camera/avfcameraserviceplugin_p.h + platform/darwin/camera/avfcamerasession.mm platform/darwin/camera/avfcamerasession_p.h + platform/darwin/camera/avfcamerautility.mm platform/darwin/camera/avfcamerautility_p.h + platform/darwin/camera/avfcamerawindowcontrol.mm platform/darwin/camera/avfcamerawindowcontrol_p.h + platform/darwin/camera/avfimagecapturecontrol.mm platform/darwin/camera/avfimagecapturecontrol_p.h + platform/darwin/camera/avfimageencodercontrol.mm platform/darwin/camera/avfimageencodercontrol_p.h + platform/darwin/camera/avfmediacontainercontrol.mm platform/darwin/camera/avfmediacontainercontrol_p.h + platform/darwin/camera/avfmediavideoprobecontrol.mm platform/darwin/camera/avfmediavideoprobecontrol_p.h + platform/darwin/camera/avfstoragelocation.mm platform/darwin/camera/avfstoragelocation_p.h + platform/darwin/camera/avfvideoencodersettingscontrol.mm platform/darwin/camera/avfvideoencodersettingscontrol_p.h ) qt_internal_extend_target(Multimedia CONDITION MACOS AND NOT TVOS AND NOT WATCHOS SOURCES - platform/avfoundation/camera/avfmediarecordercontrol.mm platform/avfoundation/camera/avfmediarecordercontrol_p.h + platform/darwin/camera/avfmediarecordercontrol.mm platform/darwin/camera/avfmediarecordercontrol_p.h ) qt_internal_extend_target(Multimedia CONDITION IOS AND NOT TVOS AND NOT WATCHOS SOURCES - platform/avfoundation/camera/avfmediaassetwriter.mm platform/avfoundation/camera/avfmediaassetwriter_p.h - platform/avfoundation/camera/avfmediarecordercontrol_ios.mm platform/avfoundation/camera/avfmediarecordercontrol_ios_p.h + platform/darwin/camera/avfmediaassetwriter.mm platform/darwin/camera/avfmediaassetwriter_p.h + platform/darwin/camera/avfmediarecordercontrol_ios.mm platform/darwin/camera/avfmediarecordercontrol_ios_p.h +) + +qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT WATCHOS AND (IOS OR TVOS) + SOURCES + platform/darwin/audio/qcoreaudiosessionmanager.mm platform/darwin/audio/qcoreaudiosessionmanager_p.h + PUBLIC_LIBRARIES + ${FWAVFoundation} + ${FWFoundation} +) + +qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT IOS AND NOT TVOS AND NOT WATCHOS + PUBLIC_LIBRARIES + ${FWAppKit} + ${FWApplicationServices} + ${FWAudioUnit} ) qt_internal_extend_target(Multimedia CONDITION APPLE AND QT_FEATURE_opengl AND NOT WATCHOS AND (IOS OR TVOS) SOURCES - platform/avfoundation/mediaplayer/avfdisplaylink.mm platform/avfoundation/mediaplayer/avfdisplaylink_p.h - platform/avfoundation/mediaplayer/avfvideoframerenderer_ios.mm platform/avfoundation/mediaplayer/avfvideoframerenderer_ios_p.h - platform/avfoundation/mediaplayer/avfvideorenderercontrol.mm platform/avfoundation/mediaplayer/avfvideorenderercontrol_p.h + platform/darwin/mediaplayer/avfdisplaylink.mm platform/darwin/mediaplayer/avfdisplaylink_p.h + platform/darwin/mediaplayer/avfvideoframerenderer_ios.mm platform/darwin/mediaplayer/avfvideoframerenderer_ios_p.h + platform/darwin/mediaplayer/avfvideorenderercontrol.mm platform/darwin/mediaplayer/avfvideorenderercontrol_p.h ) qt_internal_extend_target(Multimedia CONDITION APPLE AND QT_FEATURE_opengl AND NOT IOS AND NOT TVOS AND NOT WATCHOS SOURCES - platform/avfoundation/mediaplayer/avfdisplaylink.mm platform/avfoundation/mediaplayer/avfdisplaylink_p.h - platform/avfoundation/mediaplayer/avfvideoframerenderer.mm platform/avfoundation/mediaplayer/avfvideoframerenderer_p.h - platform/avfoundation/mediaplayer/avfvideorenderercontrol.mm platform/avfoundation/mediaplayer/avfvideorenderercontrol_p.h + platform/darwin/mediaplayer/avfdisplaylink.mm platform/darwin/mediaplayer/avfdisplaylink_p.h + platform/darwin/mediaplayer/avfvideoframerenderer.mm platform/darwin/mediaplayer/avfvideoframerenderer_p.h + platform/darwin/mediaplayer/avfvideorenderercontrol.mm platform/darwin/mediaplayer/avfvideorenderercontrol_p.h ) qt_internal_extend_target(Multimedia CONDITION QNX @@ -563,10 +557,10 @@ qt_internal_extend_target(Multimedia CONDITION QNX platform/qnx/common platform/qnx/mediaplayer PUBLIC_LIBRARIES + MMRenderer::MMRenderer asound audio_manager camapi - mmrenderer ) qt_internal_add_docs(Multimedia doc/qtmultimedia.qdocconf diff --git a/src/multimedia/CMakeLists.txt b/src/multimedia/CMakeLists.txt index f2e453edd..666689f54 100644 --- a/src/multimedia/CMakeLists.txt +++ b/src/multimedia/CMakeLists.txt @@ -4,6 +4,11 @@ ## Multimedia Module: ##################################################################### +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(FWAVFoundation AVFoundation) # special case + qt_internal_add_module(Multimedia PLUGIN_TYPES video/gstvideorenderer video/videonode SOURCES @@ -29,8 +34,6 @@ qt_internal_add_module(Multimedia camera/qcameraviewfindersettings.cpp camera/qcameraviewfindersettings.h controls/qaudiodecodercontrol.cpp controls/qaudiodecodercontrol.h controls/qaudioencodersettingscontrol.cpp controls/qaudioencodersettingscontrol.h - controls/qaudioinputselectorcontrol.cpp controls/qaudioinputselectorcontrol.h - controls/qaudiooutputselectorcontrol.cpp controls/qaudiooutputselectorcontrol.h controls/qcameracontrol.cpp controls/qcameracontrol.h controls/qcameraexposurecontrol.cpp controls/qcameraexposurecontrol.h controls/qcamerafocuscontrol.cpp controls/qcamerafocuscontrol.h @@ -83,7 +86,6 @@ qt_internal_add_module(Multimedia video/qvideosurfaceoutput.cpp video/qvideosurfaceoutput_p.h video/qvideosurfaces.cpp video/qvideosurfaces_p.h INCLUDE_DIRECTORIES - . audio camera controls @@ -144,45 +146,44 @@ endif() qt_internal_extend_target(Multimedia CONDITION WIN32 SOURCES - platform/wasapi/qwindowsaudiodeviceinfo.cpp platform/wasapi/qwindowsaudiodeviceinfo_p.h - platform/wasapi/qwindowsaudioinput.cpp platform/wasapi/qwindowsaudioinput_p.h - platform/wasapi/qwindowsaudiooutput.cpp platform/wasapi/qwindowsaudiooutput_p.h - platform/wasapi/qwindowsaudioutils.cpp platform/wasapi/qwindowsaudioutils_p.h - platform/wmf/decoder/mfaudiodecodercontrol.cpp platform/wmf/decoder/mfaudiodecodercontrol_p.h - platform/wmf/decoder/mfdecodersourcereader.cpp platform/wmf/decoder/mfdecodersourcereader_p.h - platform/wmf/evr/evrcustompresenter.cpp platform/wmf/evr/evrcustompresenter_p.h - platform/wmf/evr/evrd3dpresentengine.cpp platform/wmf/evr/evrd3dpresentengine_p.h - platform/wmf/evr/evrdefs.cpp platform/wmf/evr/evrdefs_p.h - platform/wmf/evr/evrhelpers.cpp platform/wmf/evr/evrhelpers_p.h - platform/wmf/evr/evrvideowindowcontrol.cpp platform/wmf/evr/evrvideowindowcontrol_p.h - platform/wmf/mfstream.cpp platform/wmf/mfstream_p.h - platform/wmf/player/mfactivate.cpp platform/wmf/player/mfactivate_p.h - platform/wmf/player/mfaudioendpointcontrol.cpp platform/wmf/player/mfaudioendpointcontrol_p.h - platform/wmf/player/mfaudioprobecontrol.cpp platform/wmf/player/mfaudioprobecontrol_p.h - platform/wmf/player/mfevrvideowindowcontrol.cpp platform/wmf/player/mfevrvideowindowcontrol_p.h - platform/wmf/player/mfmetadatacontrol.cpp platform/wmf/player/mfmetadatacontrol_p.h - platform/wmf/player/mfplayercontrol.cpp platform/wmf/player/mfplayercontrol_p.h - platform/wmf/player/mfplayerservice.cpp platform/wmf/player/mfplayerservice_p.h - platform/wmf/player/mfplayersession.cpp platform/wmf/player/mfplayersession_p.h - platform/wmf/player/mftvideo.cpp platform/wmf/player/mftvideo_p.h - platform/wmf/player/mfvideoprobecontrol.cpp platform/wmf/player/mfvideoprobecontrol_p.h - platform/wmf/player/mfvideorenderercontrol.cpp platform/wmf/player/mfvideorenderercontrol_p.h - platform/wmf/player/samplegrabber.cpp platform/wmf/player/samplegrabber_p.h - platform/wmf/qwindowsdevicemanager.cpp platform/wmf/qwindowsdevicemanager_p.h - platform/wmf/qwindowsintegration.cpp platform/wmf/qwindowsintegration_p.h - platform/wmf/sourceresolver.cpp platform/wmf/sourceresolver_p.h - platform/wmf/wmfserviceplugin.cpp platform/wmf/wmfserviceplugin_p.h + platform/windows/audio/qwindowsaudiodeviceinfo.cpp platform/windows/audio/qwindowsaudiodeviceinfo_p.h + platform/windows/audio/qwindowsaudioinput.cpp platform/windows/audio/qwindowsaudioinput_p.h + platform/windows/audio/qwindowsaudiooutput.cpp platform/windows/audio/qwindowsaudiooutput_p.h + platform/windows/audio/qwindowsaudioutils.cpp platform/windows/audio/qwindowsaudioutils_p.h + platform/windows/decoder/mfaudiodecodercontrol.cpp platform/windows/decoder/mfaudiodecodercontrol_p.h + platform/windows/decoder/mfdecodersourcereader.cpp platform/windows/decoder/mfdecodersourcereader_p.h + platform/windows/evr/evrcustompresenter.cpp platform/windows/evr/evrcustompresenter_p.h + platform/windows/evr/evrd3dpresentengine.cpp platform/windows/evr/evrd3dpresentengine_p.h + platform/windows/evr/evrdefs.cpp platform/windows/evr/evrdefs_p.h + platform/windows/evr/evrhelpers.cpp platform/windows/evr/evrhelpers_p.h + platform/windows/evr/evrvideowindowcontrol.cpp platform/windows/evr/evrvideowindowcontrol_p.h + platform/windows/mfstream.cpp platform/windows/mfstream_p.h + platform/windows/player/mfactivate.cpp platform/windows/player/mfactivate_p.h + platform/windows/player/mfaudioprobecontrol.cpp platform/windows/player/mfaudioprobecontrol_p.h + platform/windows/player/mfevrvideowindowcontrol.cpp platform/windows/player/mfevrvideowindowcontrol_p.h + platform/windows/player/mfmetadatacontrol.cpp platform/windows/player/mfmetadatacontrol_p.h + platform/windows/player/mfplayercontrol.cpp platform/windows/player/mfplayercontrol_p.h + platform/windows/player/mfplayerservice.cpp platform/windows/player/mfplayerservice_p.h + platform/windows/player/mfplayersession.cpp platform/windows/player/mfplayersession_p.h + platform/windows/player/mftvideo.cpp platform/windows/player/mftvideo_p.h + platform/windows/player/mfvideoprobecontrol.cpp platform/windows/player/mfvideoprobecontrol_p.h + platform/windows/player/mfvideorenderercontrol.cpp platform/windows/player/mfvideorenderercontrol_p.h + platform/windows/player/samplegrabber.cpp platform/windows/player/samplegrabber_p.h + platform/windows/qwindowsdevicemanager.cpp platform/windows/qwindowsdevicemanager_p.h + platform/windows/qwindowsintegration.cpp platform/windows/qwindowsintegration_p.h + platform/windows/sourceresolver.cpp platform/windows/sourceresolver_p.h + platform/windows/wmfserviceplugin.cpp platform/windows/wmfserviceplugin_p.h INCLUDE_DIRECTORIES - . - platform/wmf/decoder - platform/wmf/evr - platform/wmf/player + platform/windows/decoder + platform/windows/evr + platform/windows/player LIBRARIES Qt::GuiPrivate uuid PUBLIC_LIBRARIES Qt::Gui Qt::Network + WMF::WMF d3d9 dxva2 evr @@ -197,7 +198,6 @@ qt_internal_extend_target(Multimedia CONDITION WIN32 user32 winmm wmcodecdspuuid - wmf PRIVATE_MODULE_INTERFACE Qt::GuiPrivate ) @@ -211,7 +211,6 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_gstreamer platform/gstreamer/audio/qgstreameraudiodecodercontrol.cpp platform/gstreamer/audio/qgstreameraudiodecodercontrol_p.h platform/gstreamer/common/qgstappsrc.cpp platform/gstreamer/common/qgstappsrc_p.h platform/gstreamer/common/qgstcodecsinfo.cpp platform/gstreamer/common/qgstcodecsinfo_p.h - platform/gstreamer/common/qgstreameraudioinputselector.cpp platform/gstreamer/common/qgstreameraudioinputselector_p.h platform/gstreamer/common/qgstreameraudioprobecontrol.cpp platform/gstreamer/common/qgstreameraudioprobecontrol_p.h platform/gstreamer/common/qgstreamerbufferprobe.cpp platform/gstreamer/common/qgstreamerbufferprobe_p.h platform/gstreamer/common/qgstreamerbushelper.cpp platform/gstreamer/common/qgstreamerbushelper_p.h @@ -232,15 +231,15 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_gstreamer platform/gstreamer/mediaplayer/qgstreamerplayerservice.cpp platform/gstreamer/mediaplayer/qgstreamerplayerservice_p.h platform/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp platform/gstreamer/mediaplayer/qgstreamerplayerserviceplugin_p.h platform/gstreamer/mediaplayer/qgstreamerstreamscontrol.cpp platform/gstreamer/mediaplayer/qgstreamerstreamscontrol_p.h - platform/gstreamer/qgstreamerplatformdevicemanager.cpp platform/gstreamer/qgstreamerplatformdevicemanager_p.h - platform/gstreamer/qgstreamerplatformintegration.cpp platform/gstreamer/qgstreamerplatformintegration_p.h + platform/gstreamer/qgstreamerdevicemanager.cpp platform/gstreamer/qgstreamerdevicemanager_p.h + platform/gstreamer/qgstreamerintegration.cpp platform/gstreamer/qgstreamerintegration_p.h DEFINES GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 INCLUDE_DIRECTORIES platform/gstreamer/mediaplayer LIBRARIES - gstreamer - gstreamer_app + GStreamer::GStreamer # special case + GStreamer::App # special case ) qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_gstreamer AND use_camerabin @@ -268,12 +267,12 @@ qt_internal_extend_target(Multimedia CONDITION ((QT_FEATURE_gstreamer) AND (use_ DEFINES GST_USE_UNSTABLE_API PUBLIC_LIBRARIES - gstreamer_photography + GStreamer::Photography # special case ) qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_gstreamer AND QT_FEATURE_gstreamer_gl AND use_camerabin PUBLIC_LIBRARIES - gstreamer_gl + GStreamer::Gl # special case ) qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_gstreamer AND QT_FEATURE_linux_v4l AND use_camerabin @@ -307,7 +306,7 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_gstreamer AND QT_FEATU qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_gstreamer AND QT_FEATURE_gstreamer_gl PUBLIC_LIBRARIES - gstreamer_gl + GStreamer::Gl # special case ) qt_internal_extend_target(Multimedia CONDITION ANDROID AND QT_FEATURE_gstreamer @@ -341,7 +340,7 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_pulseaudio platform/pulseaudio/qpulseaudiointegration.cpp platform/pulseaudio/qpulseaudiointegration_p.h platform/pulseaudio/qpulsehelpers.cpp platform/pulseaudio/qpulsehelpers_p.h LIBRARIES - pulseaudio + WrapPulseAudio::WrapPulseAudio ) qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_alsa @@ -352,16 +351,19 @@ qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_alsa platform/alsa/qalsadevicemanager.cpp platform/alsa/qalsadevicemanager_p.h platform/alsa/qalsaintegration.cpp platform/alsa/qalsaintegration_p.h LIBRARIES - alsa + ALSA::ALSA ) qt_internal_extend_target(Multimedia CONDITION ANDROID SOURCES + platform/android/audio/qopenslesaudioinput.cpp platform/android/audio/qopenslesaudioinput_p.h + platform/android/audio/qopenslesaudiooutput.cpp platform/android/audio/qopenslesaudiooutput_p.h + platform/android/audio/qopenslesdeviceinfo.cpp platform/android/audio/qopenslesdeviceinfo_p.h + platform/android/audio/qopenslesengine.cpp platform/android/audio/qopenslesengine_p.h platform/android/common/qandroidglobal_p.h platform/android/common/qandroidmultimediautils.cpp platform/android/common/qandroidmultimediautils_p.h platform/android/common/qandroidvideooutput.cpp platform/android/common/qandroidvideooutput_p.h platform/android/mediacapture/qandroidaudioencodersettingscontrol.cpp platform/android/mediacapture/qandroidaudioencodersettingscontrol_p.h - platform/android/mediacapture/qandroidaudioinputselectorcontrol.cpp platform/android/mediacapture/qandroidaudioinputselectorcontrol_p.h platform/android/mediacapture/qandroidcameracontrol.cpp platform/android/mediacapture/qandroidcameracontrol_p.h platform/android/mediacapture/qandroidcameraexposurecontrol.cpp platform/android/mediacapture/qandroidcameraexposurecontrol_p.h platform/android/mediacapture/qandroidcamerafocuscontrol.cpp platform/android/mediacapture/qandroidcamerafocuscontrol_p.h @@ -389,10 +391,6 @@ qt_internal_extend_target(Multimedia CONDITION ANDROID platform/android/wrappers/jni/androidmultimediautils.cpp platform/android/wrappers/jni/androidmultimediautils_p.h platform/android/wrappers/jni/androidsurfacetexture.cpp platform/android/wrappers/jni/androidsurfacetexture_p.h platform/android/wrappers/jni/androidsurfaceview.cpp platform/android/wrappers/jni/androidsurfaceview_p.h - platform/opensles/qopenslesaudioinput.cpp platform/opensles/qopenslesaudioinput_p.h - platform/opensles/qopenslesaudiooutput.cpp platform/opensles/qopenslesaudiooutput_p.h - platform/opensles/qopenslesdeviceinfo.cpp platform/opensles/qopenslesdeviceinfo_p.h - platform/opensles/qopenslesengine.cpp platform/opensles/qopenslesengine_p.h INCLUDE_DIRECTORIES platform/android/common platform/android/mediacapture @@ -408,7 +406,6 @@ qt_internal_extend_target(Multimedia CONDITION ANDROID PRIVATE_MODULE_INTERFACE Qt::CorePrivate ) -qt_internal_find_apple_system_framework(FWCoreAudio CoreAudio) # special case qt_internal_extend_target(Multimedia CONDITION WIN32 AND NOT TARGET Qt::OpenGL LIBRARIES @@ -423,19 +420,19 @@ qt_internal_extend_target(Multimedia CONDITION TARGET Qt::Widgets AND WIN32 qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT WATCHOS SOURCES - platform/avfoundation/mediaplayer/avfmediaplayercontrol.mm platform/avfoundation/mediaplayer/avfmediaplayercontrol_p.h - platform/avfoundation/mediaplayer/avfmediaplayermetadatacontrol.mm platform/avfoundation/mediaplayer/avfmediaplayermetadatacontrol_p.h - platform/avfoundation/mediaplayer/avfmediaplayerservice.mm platform/avfoundation/mediaplayer/avfmediaplayerservice_p.h - platform/avfoundation/mediaplayer/avfmediaplayerserviceplugin.mm platform/avfoundation/mediaplayer/avfmediaplayerserviceplugin_p.h - platform/avfoundation/mediaplayer/avfmediaplayersession.mm platform/avfoundation/mediaplayer/avfmediaplayersession_p.h - platform/avfoundation/mediaplayer/avfvideooutput.mm platform/avfoundation/mediaplayer/avfvideooutput_p.h - platform/avfoundation/mediaplayer/avfvideowindowcontrol.mm platform/avfoundation/mediaplayer/avfvideowindowcontrol_p.h - platform/avfoundation/qavfplatformdevicemanager.mm platform/avfoundation/qavfplatformdevicemanager_p.h - platform/avfoundation/qavfplatformintegration.cpp platform/avfoundation/qavfplatformintegration_p.h - platform/coreaudio/qcoreaudiodeviceinfo.mm platform/coreaudio/qcoreaudiodeviceinfo_p.h - platform/coreaudio/qcoreaudioinput.mm platform/coreaudio/qcoreaudioinput_p.h - platform/coreaudio/qcoreaudiooutput.mm platform/coreaudio/qcoreaudiooutput_p.h - platform/coreaudio/qcoreaudioutils.mm platform/coreaudio/qcoreaudioutils_p.h + platform/darwin/audio/qcoreaudiodeviceinfo.mm platform/darwin/audio/qcoreaudiodeviceinfo_p.h + platform/darwin/audio/qcoreaudioinput.mm platform/darwin/audio/qcoreaudioinput_p.h + platform/darwin/audio/qcoreaudiooutput.mm platform/darwin/audio/qcoreaudiooutput_p.h + platform/darwin/audio/qcoreaudioutils.mm platform/darwin/audio/qcoreaudioutils_p.h + platform/darwin/mediaplayer/avfmediaplayercontrol.mm platform/darwin/mediaplayer/avfmediaplayercontrol_p.h + platform/darwin/mediaplayer/avfmediaplayermetadatacontrol.mm platform/darwin/mediaplayer/avfmediaplayermetadatacontrol_p.h + platform/darwin/mediaplayer/avfmediaplayerservice.mm platform/darwin/mediaplayer/avfmediaplayerservice_p.h + platform/darwin/mediaplayer/avfmediaplayerserviceplugin.mm platform/darwin/mediaplayer/avfmediaplayerserviceplugin_p.h + platform/darwin/mediaplayer/avfmediaplayersession.mm platform/darwin/mediaplayer/avfmediaplayersession_p.h + platform/darwin/mediaplayer/avfvideooutput.mm platform/darwin/mediaplayer/avfvideooutput_p.h + platform/darwin/mediaplayer/avfvideowindowcontrol.mm platform/darwin/mediaplayer/avfvideowindowcontrol_p.h + platform/darwin/qdarwindevicemanager.mm platform/darwin/qdarwindevicemanager_p.h + platform/darwin/qdarwinintegration.cpp platform/darwin/qdarwinintegration_p.h PUBLIC_LIBRARIES ${FWAudioToolbox} ${FWCoreAudio} @@ -445,24 +442,9 @@ qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT WATCHOS ${FWFoundation} ${FWMetal} ${FWQuartzCore} + AVFoundation::AVFoundation Qt::Network Qt::OpenGL - avfoundation -) - -qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT WATCHOS AND (IOS OR TVOS) - SOURCES - platform/coreaudio/qcoreaudiosessionmanager.mm platform/coreaudio/qcoreaudiosessionmanager_p.h - PUBLIC_LIBRARIES - ${FWAVFoundation} - ${FWFoundation} -) - -qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT IOS AND NOT TVOS AND NOT WATCHOS - PUBLIC_LIBRARIES - ${FWAppKit} - ${FWApplicationServices} - ${FWAudioUnit} ) qt_internal_extend_target(Multimedia CONDITION MACOS AND NOT WATCHOS @@ -479,51 +461,65 @@ qt_internal_extend_target(Multimedia CONDITION IOS AND NOT WATCHOS qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT TVOS AND NOT WATCHOS SOURCES - platform/avfoundation/camera/avfaudioencodersettingscontrol.mm platform/avfoundation/camera/avfaudioencodersettingscontrol_p.h - platform/avfoundation/camera/avfaudioinputselectorcontrol.mm platform/avfoundation/camera/avfaudioinputselectorcontrol_p.h - platform/avfoundation/camera/avfcameracontrol.mm platform/avfoundation/camera/avfcameracontrol_p.h - platform/avfoundation/camera/avfcameradebug_p.h - platform/avfoundation/camera/avfcameradevicecontrol.mm platform/avfoundation/camera/avfcameradevicecontrol_p.h - platform/avfoundation/camera/avfcameraexposurecontrol.mm platform/avfoundation/camera/avfcameraexposurecontrol_p.h - platform/avfoundation/camera/avfcamerafocuscontrol.mm platform/avfoundation/camera/avfcamerafocuscontrol_p.h - platform/avfoundation/camera/avfcamerametadatacontrol.mm platform/avfoundation/camera/avfcamerametadatacontrol_p.h - platform/avfoundation/camera/avfcamerarenderercontrol.mm platform/avfoundation/camera/avfcamerarenderercontrol_p.h - platform/avfoundation/camera/avfcameraservice.mm platform/avfoundation/camera/avfcameraservice_p.h - platform/avfoundation/camera/avfcameraserviceplugin.mm platform/avfoundation/camera/avfcameraserviceplugin_p.h - platform/avfoundation/camera/avfcamerasession.mm platform/avfoundation/camera/avfcamerasession_p.h - platform/avfoundation/camera/avfcamerautility.mm platform/avfoundation/camera/avfcamerautility_p.h - platform/avfoundation/camera/avfcamerawindowcontrol.mm platform/avfoundation/camera/avfcamerawindowcontrol_p.h - platform/avfoundation/camera/avfimagecapturecontrol.mm platform/avfoundation/camera/avfimagecapturecontrol_p.h - platform/avfoundation/camera/avfimageencodercontrol.mm platform/avfoundation/camera/avfimageencodercontrol_p.h - platform/avfoundation/camera/avfmediacontainercontrol.mm platform/avfoundation/camera/avfmediacontainercontrol_p.h - platform/avfoundation/camera/avfmediavideoprobecontrol.mm platform/avfoundation/camera/avfmediavideoprobecontrol_p.h - platform/avfoundation/camera/avfstoragelocation.mm platform/avfoundation/camera/avfstoragelocation_p.h - platform/avfoundation/camera/avfvideoencodersettingscontrol.mm platform/avfoundation/camera/avfvideoencodersettingscontrol_p.h + platform/darwin/camera/avfaudioencodersettingscontrol.mm platform/darwin/camera/avfaudioencodersettingscontrol_p.h + platform/darwin/camera/avfcameracontrol.mm platform/darwin/camera/avfcameracontrol_p.h + platform/darwin/camera/avfcameradebug_p.h + platform/darwin/camera/avfcameradevicecontrol.mm platform/darwin/camera/avfcameradevicecontrol_p.h + platform/darwin/camera/avfcameraexposurecontrol.mm platform/darwin/camera/avfcameraexposurecontrol_p.h + platform/darwin/camera/avfcamerafocuscontrol.mm platform/darwin/camera/avfcamerafocuscontrol_p.h + platform/darwin/camera/avfcamerametadatacontrol.mm platform/darwin/camera/avfcamerametadatacontrol_p.h + platform/darwin/camera/avfcamerarenderercontrol.mm platform/darwin/camera/avfcamerarenderercontrol_p.h + platform/darwin/camera/avfcameraservice.mm platform/darwin/camera/avfcameraservice_p.h + platform/darwin/camera/avfcameraserviceplugin.mm platform/darwin/camera/avfcameraserviceplugin_p.h + platform/darwin/camera/avfcamerasession.mm platform/darwin/camera/avfcamerasession_p.h + platform/darwin/camera/avfcamerautility.mm platform/darwin/camera/avfcamerautility_p.h + platform/darwin/camera/avfcamerawindowcontrol.mm platform/darwin/camera/avfcamerawindowcontrol_p.h + platform/darwin/camera/avfimagecapturecontrol.mm platform/darwin/camera/avfimagecapturecontrol_p.h + platform/darwin/camera/avfimageencodercontrol.mm platform/darwin/camera/avfimageencodercontrol_p.h + platform/darwin/camera/avfmediacontainercontrol.mm platform/darwin/camera/avfmediacontainercontrol_p.h + platform/darwin/camera/avfmediavideoprobecontrol.mm platform/darwin/camera/avfmediavideoprobecontrol_p.h + platform/darwin/camera/avfstoragelocation.mm platform/darwin/camera/avfstoragelocation_p.h + platform/darwin/camera/avfvideoencodersettingscontrol.mm platform/darwin/camera/avfvideoencodersettingscontrol_p.h ) qt_internal_extend_target(Multimedia CONDITION MACOS AND NOT TVOS AND NOT WATCHOS SOURCES - platform/avfoundation/camera/avfmediarecordercontrol.mm platform/avfoundation/camera/avfmediarecordercontrol_p.h + platform/darwin/camera/avfmediarecordercontrol.mm platform/darwin/camera/avfmediarecordercontrol_p.h ) qt_internal_extend_target(Multimedia CONDITION IOS AND NOT TVOS AND NOT WATCHOS SOURCES - platform/avfoundation/camera/avfmediaassetwriter.mm platform/avfoundation/camera/avfmediaassetwriter_p.h - platform/avfoundation/camera/avfmediarecordercontrol_ios.mm platform/avfoundation/camera/avfmediarecordercontrol_ios_p.h + platform/darwin/camera/avfmediaassetwriter.mm platform/darwin/camera/avfmediaassetwriter_p.h + platform/darwin/camera/avfmediarecordercontrol_ios.mm platform/darwin/camera/avfmediarecordercontrol_ios_p.h +) + +qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT WATCHOS AND (IOS OR TVOS) + SOURCES + platform/darwin/audio/qcoreaudiosessionmanager.mm platform/darwin/audio/qcoreaudiosessionmanager_p.h + PUBLIC_LIBRARIES + ${FWAVFoundation} + ${FWFoundation} +) + +qt_internal_extend_target(Multimedia CONDITION APPLE AND NOT IOS AND NOT TVOS AND NOT WATCHOS + PUBLIC_LIBRARIES + ${FWAppKit} + ${FWApplicationServices} + ${FWAudioUnit} ) qt_internal_extend_target(Multimedia CONDITION APPLE AND QT_FEATURE_opengl AND NOT WATCHOS AND (IOS OR TVOS) SOURCES - platform/avfoundation/mediaplayer/avfdisplaylink.mm platform/avfoundation/mediaplayer/avfdisplaylink_p.h - platform/avfoundation/mediaplayer/avfvideoframerenderer_ios.mm platform/avfoundation/mediaplayer/avfvideoframerenderer_ios_p.h - platform/avfoundation/mediaplayer/avfvideorenderercontrol.mm platform/avfoundation/mediaplayer/avfvideorenderercontrol_p.h + platform/darwin/mediaplayer/avfdisplaylink.mm platform/darwin/mediaplayer/avfdisplaylink_p.h + platform/darwin/mediaplayer/avfvideoframerenderer_ios.mm platform/darwin/mediaplayer/avfvideoframerenderer_ios_p.h + platform/darwin/mediaplayer/avfvideorenderercontrol.mm platform/darwin/mediaplayer/avfvideorenderercontrol_p.h ) qt_internal_extend_target(Multimedia CONDITION APPLE AND QT_FEATURE_opengl AND NOT IOS AND NOT TVOS AND NOT WATCHOS SOURCES - platform/avfoundation/mediaplayer/avfdisplaylink.mm platform/avfoundation/mediaplayer/avfdisplaylink_p.h - platform/avfoundation/mediaplayer/avfvideoframerenderer.mm platform/avfoundation/mediaplayer/avfvideoframerenderer_p.h - platform/avfoundation/mediaplayer/avfvideorenderercontrol.mm platform/avfoundation/mediaplayer/avfvideorenderercontrol_p.h + platform/darwin/mediaplayer/avfdisplaylink.mm platform/darwin/mediaplayer/avfdisplaylink_p.h + platform/darwin/mediaplayer/avfvideoframerenderer.mm platform/darwin/mediaplayer/avfvideoframerenderer_p.h + platform/darwin/mediaplayer/avfvideorenderercontrol.mm platform/darwin/mediaplayer/avfvideorenderercontrol_p.h ) qt_internal_extend_target(Multimedia CONDITION QNX @@ -564,10 +560,10 @@ qt_internal_extend_target(Multimedia CONDITION QNX platform/qnx/common platform/qnx/mediaplayer PUBLIC_LIBRARIES + MMRenderer::MMRenderer asound audio_manager camapi - mmrenderer ) qt_internal_add_docs(Multimedia doc/qtmultimedia.qdocconf diff --git a/src/multimedia/configure.cmake b/src/multimedia/configure.cmake index 55563a37c..fdc7854f2 100644 --- a/src/multimedia/configure.cmake +++ b/src/multimedia/configure.cmake @@ -6,6 +6,20 @@ #### Libraries +qt_find_package(ALSA PROVIDED_TARGETS ALSA::ALSA MODULE_NAME multimedia QMAKE_LIB alsa) +qt_find_package(AVFoundation PROVIDED_TARGETS AVFoundation::AVFoundation MODULE_NAME multimedia QMAKE_LIB avfoundation) +qt_find_package(GStreamer PROVIDED_TARGETS GStreamer::GStreamer MODULE_NAME multimedia QMAKE_LIB gstreamer_1_0) +qt_find_package(GStreamer COMPONENTS App PROVIDED_TARGETS GStreamer::App MODULE_NAME multimedia QMAKE_LIB gstreamer_app_1_0) +qt_add_qmake_lib_dependency(gstreamer_app_1_0 gstreamer_1_0) +qt_find_package(GStreamer OPTIONAL_COMPONENTS Photography PROVIDED_TARGETS GStreamer::Photography MODULE_NAME multimedia QMAKE_LIB gstreamer_photography_1_0) # special case +qt_add_qmake_lib_dependency(gstreamer_photography_1_0 gstreamer_1_0) +qt_find_package(GStreamer OPTIONAL_COMPONENTS Gl PROVIDED_TARGETS GStreamer::Gl MODULE_NAME multimedia QMAKE_LIB gstreamer_gl_1_0) # special case +qt_add_qmake_lib_dependency(gstreamer_gl_1_0 gstreamer_1_0) +if((QNX) OR QT_FIND_ALL_PACKAGES_ALWAYS) + qt_find_package(MMRenderer PROVIDED_TARGETS MMRenderer::MMRenderer MODULE_NAME multimedia QMAKE_LIB mmrenderer) +endif() +qt_find_package(WrapPulseAudio PROVIDED_TARGETS WrapPulseAudio::WrapPulseAudio MODULE_NAME multimedia QMAKE_LIB pulseaudio) +qt_find_package(WMF PROVIDED_TARGETS WMF::WMF MODULE_NAME multimedia QMAKE_LIB wmf) #### Tests @@ -41,13 +55,12 @@ qt_config_compile_test("wmsdk" qt_feature("alsa" PUBLIC PRIVATE LABEL "ALSA" - CONDITION UNIX AND NOT QNX AND libs.alsa AND NOT libs.pulseaudio OR FIXME + CONDITION UNIX AND NOT QNX AND ALSA_FOUND AND NOT QT_FEATURE_gstreamer AND NOT QT_FEATURE_pulseaudio ) qt_feature_definition("alsa" "QT_NO_ALSA" NEGATE VALUE "1") qt_feature("avfoundation" PUBLIC PRIVATE LABEL "AVFoundation" - CONDITION libs.avfoundation OR FIXME - EMIT_IF APPLE + CONDITION AVFoundation_FOUND ) qt_feature_definition("avfoundation" "QT_NO_AVFOUNDATION" NEGATE VALUE "1") qt_feature("evr" PUBLIC PRIVATE @@ -57,7 +70,7 @@ qt_feature("evr" PUBLIC PRIVATE qt_feature_definition("evr" "QT_NO_EVR" NEGATE VALUE "1") qt_feature("gstreamer_1_0" PRIVATE LABEL "GStreamer 1.0" - CONDITION libs.gstreamer_1_0 OR FIXME + CONDITION GStreamer_FOUND ENABLE INPUT_gstreamer STREQUAL 'yes' DISABLE INPUT_gstreamer STREQUAL 'no' ) @@ -66,7 +79,7 @@ qt_feature("gstreamer" PRIVATE ) qt_feature("gstreamer_app" PRIVATE LABEL "GStreamer App" - CONDITION ( QT_FEATURE_gstreamer_1_0 AND libs.gstreamer_app_1_0 ) OR FIXME + CONDITION ( QT_FEATURE_gstreamer_1_0 AND GStreamer_App_FOUND ) ) qt_feature("gstreamer_encodingprofiles" PRIVATE LABEL "GStreamer encoding-profile.h" @@ -74,11 +87,11 @@ qt_feature("gstreamer_encodingprofiles" PRIVATE ) qt_feature("gstreamer_photography" PRIVATE LABEL "GStreamer Photography" - CONDITION ( QT_FEATURE_gstreamer_1_0 AND libs.gstreamer_photography_1_0 ) OR FIXME + CONDITION ( QT_FEATURE_gstreamer_1_0 AND GStreamer_Photography_FOUND ) ) qt_feature("gstreamer_gl" PRIVATE LABEL "GStreamer OpenGL" - CONDITION QT_FEATURE_opengl AND QT_FEATURE_gstreamer_1_0 AND libs.gstreamer_gl_1_0 OR FIXME + CONDITION QT_FEATURE_opengl AND QT_FEATURE_gstreamer_1_0 AND GStreamer_Gl_FOUND ) qt_feature("gpu_vivante" PRIVATE LABEL "Vivante GPU" @@ -90,14 +103,14 @@ qt_feature("linux_v4l" PRIVATE ) qt_feature("mmrenderer" PUBLIC PRIVATE LABEL "MMRenderer" - CONDITION libs.mmrenderer OR FIXME + CONDITION MMRenderer_FOUND EMIT_IF QNX ) qt_feature_definition("mmrenderer" "QT_NO_MMRENDERER" NEGATE VALUE "1") qt_feature("pulseaudio" PUBLIC PRIVATE LABEL "PulseAudio" AUTODETECT UNIX - CONDITION libs.pulseaudio AND NOT features.gstreamer + CONDITION WrapPulseAudio_FOUND AND NOT QT_FEATURE_gstreamer ) qt_feature_definition("pulseaudio" "QT_NO_PULSEAUDIO" NEGATE VALUE "1") qt_feature("wmsdk" PRIVATE @@ -106,7 +119,7 @@ qt_feature("wmsdk" PRIVATE ) qt_feature("wmf" PRIVATE LABEL "Windows Media Foundation" - CONDITION WIN32 AND libs.wmf OR FIXME + CONDITION WIN32 AND WMF_FOUND ) qt_configure_add_summary_section(NAME "Qt Multimedia") qt_configure_add_summary_entry(ARGS "alsa") diff --git a/src/multimediawidgets/.prev_CMakeLists.txt b/src/multimediawidgets/.prev_CMakeLists.txt index 6a0c19260..143773f31 100644 --- a/src/multimediawidgets/.prev_CMakeLists.txt +++ b/src/multimediawidgets/.prev_CMakeLists.txt @@ -45,15 +45,15 @@ qt_extend_target(MultimediaWidgets CONDITION QT_FEATURE_gstreamer gstreamer ) -qt_extend_target(MultimediaWidgets CONDITION APPLE AND QT_FEATURE_avfoundation +qt_extend_target(MultimediaWidgets CONDITION APPLE SOURCES - platform/avfoundation/avfvideowidget.mm platform/avfoundation/avfvideowidget_p.h - platform/avfoundation/avfvideowidgetcontrol.mm platform/avfoundation/avfvideowidgetcontrol_p.h + platform/darwin/avfvideowidget.mm platform/darwin/avfvideowidget_p.h + platform/darwin/avfvideowidgetcontrol.mm platform/darwin/avfvideowidgetcontrol_p.h PUBLIC_LIBRARIES ${FWCoreFoundation} ${FWCoreVideo} ${FWFoundation} ${FWMetal} ${FWQuartzCore} - avfoundation + AVFoundation::AVFoundation ) diff --git a/src/multimediawidgets/CMakeLists.txt b/src/multimediawidgets/CMakeLists.txt index 8f28b5cd3..42c8df69c 100644 --- a/src/multimediawidgets/CMakeLists.txt +++ b/src/multimediawidgets/CMakeLists.txt @@ -6,7 +6,6 @@ qt_add_module(MultimediaWidgets SOURCES - qcameraviewfinder.cpp qcameraviewfinder.h qpaintervideosurface.cpp qpaintervideosurface_p.h qtmultimediawidgetdefs.h qvideowidget.cpp qvideowidget.h qvideowidget_p.h @@ -41,18 +40,18 @@ qt_extend_target(MultimediaWidgets CONDITION QT_FEATURE_graphicsview qt_extend_target(MultimediaWidgets CONDITION QT_FEATURE_gstreamer SOURCES - gstreamer/qgstreamervideowidget.cpp gstreamer/qgstreamervideowidget_p.h + platform/gstreamer/qgstreamervideowidget.cpp platform/gstreamer/qgstreamervideowidget_p.h ) -qt_extend_target(MultimediaWidgets CONDITION APPLE AND QT_FEATURE_avfoundation +qt_extend_target(MultimediaWidgets CONDITION APPLE SOURCES - platform/avfoundation/avfvideowidget.mm platform/avfoundation/avfvideowidget_p.h - platform/avfoundation/avfvideowidgetcontrol.mm platform/avfoundation/avfvideowidgetcontrol_p.h + platform/darwin/avfvideowidget.mm platform/darwin/avfvideowidget_p.h + platform/darwin/avfvideowidgetcontrol.mm platform/darwin/avfvideowidgetcontrol_p.h PUBLIC_LIBRARIES ${FWCoreFoundation} ${FWCoreVideo} ${FWFoundation} ${FWMetal} ${FWQuartzCore} - avfoundation + AVFoundation::AVFoundation ) diff --git a/src/plugins/videonode/imx6/.prev_CMakeLists.txt b/src/plugins/videonode/imx6/.prev_CMakeLists.txt new file mode 100644 index 000000000..412795e9c --- /dev/null +++ b/src/plugins/videonode/imx6/.prev_CMakeLists.txt @@ -0,0 +1,39 @@ +# Generated from imx6.pro. + +##################################################################### +## QSGVivanteVideoNodeFactory Plugin: +##################################################################### + +qt_internal_add_plugin(QSGVivanteVideoNodeFactory + OUTPUT_NAME imx6vivantevideonode + TYPE video/videonode + SOURCES + qsgvivantevideomaterial.cpp qsgvivantevideomaterial.h + qsgvivantevideomaterialshader.cpp qsgvivantevideomaterialshader.h + qsgvivantevideonode.cpp qsgvivantevideonode.h + qsgvivantevideonodefactory.cpp qsgvivantevideonodefactory.h + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::MultimediaPrivate + Qt::MultimediaQuickPrivate + gstreamer +) + +# Resources: +set(imx6_resource_files + "shaders/rgba.frag.qsb" + "shaders/rgba.vert.qsb" +) + +qt_internal_add_resource(QSGVivanteVideoNodeFactory "imx6" + PREFIX + "/imx6" + FILES + ${imx6_resource_files} +) + + +#### Keys ignored in scope 1:.:.:imx6.pro:<TRUE>: +# OTHER_FILES = "imx6.json" +# PLUGIN_EXTENDS = "quick" diff --git a/src/plugins/videonode/imx6/CMakeLists.txt b/src/plugins/videonode/imx6/CMakeLists.txt index 412795e9c..f518a78a5 100644 --- a/src/plugins/videonode/imx6/CMakeLists.txt +++ b/src/plugins/videonode/imx6/CMakeLists.txt @@ -17,7 +17,7 @@ qt_internal_add_plugin(QSGVivanteVideoNodeFactory Qt::Gui Qt::MultimediaPrivate Qt::MultimediaQuickPrivate - gstreamer + GStreamer::GStreamer # special case ) # Resources: diff --git a/tests/auto/unit/CMakeLists.txt b/tests/auto/unit/CMakeLists.txt index 372573aa5..7c9118540 100644 --- a/tests/auto/unit/CMakeLists.txt +++ b/tests/auto/unit/CMakeLists.txt @@ -11,7 +11,7 @@ add_subdirectory(qcamerainfo) add_subdirectory(qcameraimagecapture) add_subdirectory(qmediasink) add_subdirectory(qmediacontainercontrol) -add_subdirectory(qmediacontent) +# add_subdirectory(qmediacontent) add_subdirectory(qmediasource) add_subdirectory(qmediaplayer) add_subdirectory(qmediaplaylist) diff --git a/tests/auto/unit/qaudioprobe/CMakeLists.txt b/tests/auto/unit/qaudioprobe/CMakeLists.txt index 79a33eaf4..60aff1ee3 100644 --- a/tests/auto/unit/qaudioprobe/CMakeLists.txt +++ b/tests/auto/unit/qaudioprobe/CMakeLists.txt @@ -7,7 +7,6 @@ qt_add_test(tst_qaudioprobe SOURCES ../qmultimedia_common/mockaudioencodercontrol.h - ../qmultimedia_common/mockaudioinputselector.h ../qmultimedia_common/mockaudioprobecontrol.h ../qmultimedia_common/mockmediacontainercontrol.h ../qmultimedia_common/mockmediarecordercontrol.h diff --git a/tests/auto/unit/qaudiorecorder/CMakeLists.txt b/tests/auto/unit/qaudiorecorder/CMakeLists.txt index d684acc49..17c2dfb3f 100644 --- a/tests/auto/unit/qaudiorecorder/CMakeLists.txt +++ b/tests/auto/unit/qaudiorecorder/CMakeLists.txt @@ -7,7 +7,6 @@ qt_add_test(tst_qaudiorecorder SOURCES ../qmultimedia_common/mockaudioencodercontrol.h - ../qmultimedia_common/mockaudioinputselector.h ../qmultimedia_common/mockaudioprobecontrol.h ../qmultimedia_common/mockmediacontainercontrol.h ../qmultimedia_common/mockmediarecordercontrol.h diff --git a/tests/auto/unit/qmediarecorder/CMakeLists.txt b/tests/auto/unit/qmediarecorder/CMakeLists.txt index 31b7d2930..b91503f55 100644 --- a/tests/auto/unit/qmediarecorder/CMakeLists.txt +++ b/tests/auto/unit/qmediarecorder/CMakeLists.txt @@ -7,7 +7,6 @@ qt_add_test(tst_qmediarecorder SOURCES ../qmultimedia_common/mockaudioencodercontrol.h - ../qmultimedia_common/mockaudioinputselector.h ../qmultimedia_common/mockaudioprobecontrol.h ../qmultimedia_common/mockmediacontainercontrol.h ../qmultimedia_common/mockmediarecordercontrol.h diff --git a/tests/auto/unit/qmediasink/CMakeLists.txt b/tests/auto/unit/qmediasink/CMakeLists.txt index 6b19488bf..982232b04 100644 --- a/tests/auto/unit/qmediasink/CMakeLists.txt +++ b/tests/auto/unit/qmediasink/CMakeLists.txt @@ -7,7 +7,6 @@ qt_add_test(tst_qmediasink SOURCES ../qmultimedia_common/mockaudioencodercontrol.h - ../qmultimedia_common/mockaudioinputselector.h ../qmultimedia_common/mockaudioprobecontrol.h ../qmultimedia_common/mockmediacontainercontrol.h ../qmultimedia_common/mockmediarecordercontrol.h diff --git a/tests/auto/unit/qmediasource/CMakeLists.txt b/tests/auto/unit/qmediasource/CMakeLists.txt index 91bfde84d..49f4ca0f2 100644 --- a/tests/auto/unit/qmediasource/CMakeLists.txt +++ b/tests/auto/unit/qmediasource/CMakeLists.txt @@ -7,7 +7,6 @@ qt_add_test(tst_qmediasource SOURCES ../qmultimedia_common/mockaudioencodercontrol.h - ../qmultimedia_common/mockaudioinputselector.h ../qmultimedia_common/mockaudioprobecontrol.h ../qmultimedia_common/mockmediacontainercontrol.h ../qmultimedia_common/mockmediarecordercontrol.h diff --git a/tests/auto/unit/qvideoprobe/CMakeLists.txt b/tests/auto/unit/qvideoprobe/CMakeLists.txt index 9c8022323..8a823e786 100644 --- a/tests/auto/unit/qvideoprobe/CMakeLists.txt +++ b/tests/auto/unit/qvideoprobe/CMakeLists.txt @@ -7,7 +7,6 @@ qt_add_test(tst_qvideoprobe SOURCES ../qmultimedia_common/mockaudioencodercontrol.h - ../qmultimedia_common/mockaudioinputselector.h ../qmultimedia_common/mockaudioprobecontrol.h ../qmultimedia_common/mockmediacontainercontrol.h ../qmultimedia_common/mockmediaplayercontrol.h |