blob: 9185d61ce422550e24ee6e71a1b7d19f99786bf3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
qt_find_package(EGL)
qt_find_package(VAAPI COMPONENTS VA DRM PROVIDED_TARGETS VAAPI::VA VAAPI::DRM MODULE_NAME multimedia QMAKE_LIB vaapi)
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_plugin(QFFmpegMediaPlugin
OUTPUT_NAME ffmegmediaplugin
PLUGIN_TYPE multimedia
SOURCES
qffmpeg_p.h
qffmpegaudiodecoder.cpp qffmpegaudiodecoder_p.h
qffmpegaudioinput.cpp qffmpegaudioinput_p.h
qffmpegclock.cpp qffmpegclock_p.h
qffmpegdecoder.cpp qffmpegdecoder_p.h
qffmpeghwaccel.cpp qffmpeghwaccel_p.h
qffmpegencoderoptions.cpp qffmpegencoderoptions_p.h
qffmpegmediametadata.cpp qffmpegmediametadata_p.h
qffmpegmediaplayer.cpp qffmpegmediaplayer_p.h
qffmpegvideosink.cpp qffmpegvideosink_p.h
qffmpegmediaformatinfo.cpp qffmpegmediaformatinfo_p.h
qffmpegmediaintegration.cpp qffmpegmediaintegration_p.h
qffmpegvideobuffer.cpp qffmpegvideobuffer_p.h
qffmpegimagecapture.cpp qffmpegimagecapture_p.h
qffmpegmediacapturesession.cpp qffmpegmediacapturesession_p.h
qffmpegmediarecorder.cpp qffmpegmediarecorder_p.h
qffmpegencoder.cpp qffmpegencoder_p.h
qffmpegthread.cpp qffmpegthread_p.h
qffmpegresampler.cpp qffmpegresampler_p.h
qffmpegvideoframeencoder.cpp qffmpegvideoframeencoder_p.h
DEFINES
QT_COMPILING_FFMPEG
LIBRARIES
Qt::MultimediaPrivate
Qt::CorePrivate
FFmpeg::avformat FFmpeg::avcodec FFmpeg::swresample FFmpeg::swscale FFmpeg::avutil
)
qt_internal_extend_target(QFFmpegMediaPlugin CONDITION QT_FEATURE_ffmpeg AND QT_FEATURE_vaapi
SOURCES
qffmpeghwaccel_vaapi.cpp qffmpeghwaccel_vaapi_p.h
LIBRARIES
VAAPI::VAAPI
EGL::EGL
)
qt_internal_extend_target(QFFmpegMediaPlugin CONDITION APPLE
SOURCES
../darwin/qavfhelpers.mm ../darwin/qavfhelpers_p.h
../darwin/camera/qavfcamerabase_p.h ../darwin/camera/qavfcamerabase.mm
../darwin/camera/avfcamerautility_p.h ../darwin/camera/avfcamerautility.mm
qffmpeghwaccel_videotoolbox.mm qffmpeghwaccel_videotoolbox_p.h
qavfcamera.mm qavfcamera_p.h
INCLUDE_DIRECTORIES
../darwin
../darwin/camera
LIBRARIES
${FWAudioToolbox}
${FWCoreAudio}
${FWCoreFoundation}
${FWCoreMedia}
${FWCoreVideo}
${FWVideoToolbox}
AVFoundation::AVFoundation
)
qt_internal_extend_target(QFFmpegMediaPlugin CONDITION WIN32
SOURCES
../windows/qwindowsvideodevices.cpp ../windows/qwindowsvideodevices_p.h
qwindowscamera.cpp qwindowscamera_p.h
qffmpeghwaccel_d3d11.cpp qffmpeghwaccel_d3d11_p.h
INCLUDE_DIRECTORIES
../windows
LIBRARIES
WMF::WMF
mfreadwrite
)
qt_internal_extend_target(QFFmpegMediaPlugin CONDITION QT_FEATURE_linux_v4l
SOURCES
qv4l2camera.cpp qv4l2camera_p.h
)
if (ANDROID)
qt_internal_extend_target(QFFmpegMediaPlugin
SOURCES
qffmpeghwaccel_mediacodec.cpp qffmpeghwaccel_mediacodec_p.h
../android/wrappers/jni/androidsurfacetexture_p.h
../android/wrappers/jni/androidsurfacetexture.cpp
INCLUDE_DIRECTORIES
${FFMPEG_DIR}/include
../android/wrappers/jni/
)
set_property(TARGET QFFmpegMediaPlugin APPEND PROPERTY QT_ANDROID_LIB_DEPENDENCIES
plugins/multimedia/libplugins_multimedia_ffmegmediaplugin.so
)
set_property(TARGET QFFmpegMediaPlugin APPEND PROPERTY QT_ANDROID_PERMISSIONS
android.permission.CAMERA android.permission.RECORD_AUDIO
android.permission.BLUETOOTH
android.permission.MODIFY_AUDIO_SETTINGS
)
endif()
|