Warning, /graphics/digikam/core/cmake/rules/RulesMediaPlayer.cmake is written in an unsupported language. File is not indexed.
0001 # 0002 # SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier, <caulier dot gilles at gmail dot com> 0003 # 0004 # SPDX-License-Identifier: BSD-3-Clause 0005 # 0006 0007 if(ENABLE_MEDIAPLAYER) 0008 0009 # NOTE: For Qt5, QtMultimedia is used to render video on widget. 0010 # NOTE: For Qt6, QtMultimedia based on FFMpeg is only supported with version > 6.5. 0011 0012 find_package(Qt${QT_VERSION_MAJOR} 0013 OPTIONAL_COMPONENTS 0014 Multimedia 0015 MultimediaWidgets 0016 ) 0017 0018 include_directories($<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Multimedia,INTERFACE_INCLUDE_DIRECTORIES> 0019 $<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::MultimediaWidgets,INTERFACE_INCLUDE_DIRECTORIES>) 0020 0021 if(Qt6_FOUND) 0022 0023 include_directories(${CMAKE_SOURCE_DIR}/core/libs/video/player/qtmm) 0024 0025 0026 set(ENABLE_QTMULTIMEDIA ON) 0027 message(STATUS "MediaPlayer type: Qt6::Multimedia") 0028 0029 else() 0030 0031 set(ENABLE_QTMULTIMEDIA OFF) 0032 0033 if(NOT ${FFMPEG_FOUND}) 0034 0035 set(ENABLE_MEDIAPLAYER OFF) 0036 message(STATUS "MediaPlayer type: None") 0037 0038 else() 0039 0040 message(STATUS "--------------------------------------------------") 0041 message(STATUS "QtAVPlayer dependencies checks:") 0042 message(STATUS "") 0043 0044 find_package(VAAPI QUIET) 0045 find_package(VDPAU QUIET) 0046 0047 MACRO_BOOL_TO_01(VAAPI_FOUND HAVE_LIBVAAPI) 0048 MACRO_BOOL_TO_01(VDPAU_FOUND HAVE_LIBVDPAU) 0049 0050 # --- Reports and Libraries ----------------------------------------------------------- 0051 0052 if(VAAPI_FOUND) 0053 0054 set(MEDIAPLAYER_LIBRARIES ${MEDIAPLAYER_LIBRARIES} ${VAAPI_LIBRARIES}) 0055 0056 if(VAAPI_X11_FOUND AND OpenGL_GLX_FOUND) 0057 0058 set(MEDIAPLAYER_LIBRARIES ${MEDIAPLAYER_LIBRARIES} ${OPENGL_LIBRARIES}) 0059 0060 message(STATUS "MediaPlayer will be compiled with VaAPI X11 support : yes") 0061 0062 else() 0063 0064 set(VAAPI_X11_FOUND FALSE) 0065 message(STATUS "MediaPlayer will be compiled with VaAPI X11 support : no") 0066 0067 endif() 0068 0069 if(VAAPI_DRM_FOUND AND OPENSLES_FOUND) 0070 0071 set(MEDIAPLAYER_LIBRARIES ${MEDIAPLAYER_LIBRARIES} ${OPENSLES_LIBRARIES}) 0072 0073 message(STATUS "MediaPlayer will be compiled with VaAPI DRM support : yes") 0074 0075 else() 0076 0077 set(VAAPI_DRM_FOUND FALSE) 0078 message(STATUS "MediaPlayer will be compiled with VaAPI DRM support : no") 0079 0080 endif() 0081 0082 endif() 0083 0084 if(VDPAU_FOUND AND OpenGL_FOUND) 0085 0086 set(MEDIAPLAYER_LIBRARIES ${MEDIAPLAYER_LIBRARIES} ${VDPAU_LIBRARIES} ${OPENGL_LIBRARIES}) 0087 0088 message(STATUS "MediaPlayer will be compiled with VDPAU support : yes") 0089 0090 else() 0091 0092 message(STATUS "MediaPlayer will be compiled with VDPAU support : no") 0093 0094 endif() 0095 0096 # --- MacOS config --- 0097 0098 if(APPLE) 0099 0100 set(MEDIAPLAYER_LIBRARIES ${MEDIAPLAYER_LIBRARIES} "-framework CoreMedia" 0101 "-framework CoreVideo" 0102 "-framework VideoToolbox" 0103 "-framework AudioToolbox" 0104 "-framework CoreFoundation" 0105 "-framework Metal" 0106 "-framework IOSurface" 0107 "-framework VideoDecodeAcceleration" 0108 ) 0109 0110 if(AVDEVICE_FOUND) 0111 0112 set(MEDIAPLAYER_LIBRARIES ${MEDIAPLAYER_LIBRARIES} "-framework Foundation" 0113 "-framework QuartzCore" 0114 "-framework CoreGraphics" 0115 "-framework AVFoundation" 0116 ) 0117 0118 endif() 0119 0120 if(AVFILTER_FOUND) 0121 0122 set(MEDIAPLAYER_LIBRARIES ${MEDIAPLAYER_LIBRARIES} "-framework AppKit") 0123 0124 endif() 0125 0126 endif() 0127 0128 # --- Resume --------------------------------------------------------------------------------------- 0129 0130 set(MEDIAPLAYER_DEFINITIONS ${MEDIAPLAYER_DEFINITIONS} -DQT_AVPLAYER_MULTIMEDIA) 0131 0132 message(STATUS "MediaPlayer type : QtAVPlayer") 0133 message(STATUS "MediaPlayer libraries : ${MEDIAPLAYER_LIBRARIES}") 0134 message(STATUS "MediaPlayer definitions: ${MEDIAPLAYER_DEFINITIONS}") 0135 message(STATUS "MediaPlayer flags : ${MEDIAPLAYER_FLAGS}") 0136 0137 include_directories(${CMAKE_SOURCE_DIR}/core/libs/video/QtAVPlayer) 0138 include_directories(${CMAKE_SOURCE_DIR}/core/libs/video/player/QtAVPlayer) 0139 0140 endif() 0141 0142 endif() 0143 0144 endif()