Index: webrtc/sdk/BUILD.gn |
diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn |
index fa44c48fb3ebcc9df38048a1a981cb85a9ca54ea..97307f37c0e511758b3840a53dfb8bf8ddc3e6f1 100644 |
--- a/webrtc/sdk/BUILD.gn |
+++ b/webrtc/sdk/BUILD.gn |
@@ -11,6 +11,11 @@ if (is_ios) { |
import("//build/config/ios/rules.gni") |
} |
+declare_args() { |
+ # Determine whether or not to include metal rendering |
+ rtc_use_metal_rendering = is_mac || (is_ios && current_cpu == "arm64") |
+} |
+ |
group("sdk") { |
if (is_ios) { |
public_deps = [ |
@@ -27,20 +32,21 @@ if (is_ios || is_mac) { |
] |
} |
- rtc_static_library("rtc_sdk_common_objc") { |
+ rtc_static_library("rtc_sdk_common_module") { |
sources = [ |
- "objc/Framework/Classes/NSString+StdString.h", |
- "objc/Framework/Classes/NSString+StdString.mm", |
- "objc/Framework/Classes/RTCDispatcher.m", |
- "objc/Framework/Classes/RTCFieldTrials.mm", |
- "objc/Framework/Classes/RTCLogging.mm", |
- "objc/Framework/Classes/RTCMetrics.mm", |
- "objc/Framework/Classes/RTCMetricsSampleInfo+Private.h", |
- "objc/Framework/Classes/RTCMetricsSampleInfo.mm", |
- "objc/Framework/Classes/RTCSSLAdapter.mm", |
- "objc/Framework/Classes/RTCTracing.mm", |
- "objc/Framework/Classes/helpers.h", |
- "objc/Framework/Classes/helpers.mm", |
+ "objc/Framework/Classes/Common/NSString+StdString.h", |
+ "objc/Framework/Classes/Common/NSString+StdString.mm", |
+ "objc/Framework/Classes/Common/RTCDispatcher+Private.h", |
+ "objc/Framework/Classes/Common/RTCDispatcher.m", |
+ "objc/Framework/Classes/Common/RTCFieldTrials.mm", |
+ "objc/Framework/Classes/Common/RTCLogging.mm", |
+ "objc/Framework/Classes/Common/RTCMetrics.mm", |
+ "objc/Framework/Classes/Common/RTCMetricsSampleInfo+Private.h", |
+ "objc/Framework/Classes/Common/RTCMetricsSampleInfo.mm", |
+ "objc/Framework/Classes/Common/RTCSSLAdapter.mm", |
+ "objc/Framework/Classes/Common/RTCTracing.mm", |
+ "objc/Framework/Classes/Common/helpers.h", |
+ "objc/Framework/Classes/Common/helpers.mm", |
"objc/Framework/Headers/WebRTC/RTCDispatcher.h", |
"objc/Framework/Headers/WebRTC/RTCFieldTrials.h", |
"objc/Framework/Headers/WebRTC/RTCLogging.h", |
@@ -60,132 +66,221 @@ if (is_ios || is_mac) { |
if (is_ios) { |
sources += [ |
- "objc/Framework/Classes/RTCCameraPreviewView.m", |
- "objc/Framework/Classes/RTCUIApplication.h", |
- "objc/Framework/Classes/RTCUIApplication.mm", |
- "objc/Framework/Classes/UIDevice+RTCDevice.mm", |
- "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h", |
+ "objc/Framework/Classes/Common/UIDevice+RTCDevice.mm", |
"objc/Framework/Headers/WebRTC/UIDevice+RTCDevice.h", |
] |
} |
- if (is_mac || (is_ios && current_cpu == "arm64")) { |
- sources += [ |
- "objc/Framework/Classes/Metal/RTCMTLI420Renderer.h", |
- "objc/Framework/Classes/Metal/RTCMTLI420Renderer.mm", |
- "objc/Framework/Classes/Metal/RTCMTLRenderer+Private.h", |
- "objc/Framework/Classes/Metal/RTCMTLRenderer.h", |
- "objc/Framework/Classes/Metal/RTCMTLRenderer.mm", |
- ] |
- deps += [ "../api:video_frame_api" ] |
- |
- if (is_ios) { |
- sources += [ |
- "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h", |
- "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.mm", |
- "objc/Framework/Classes/Metal/RTCMTLVideoView.m", |
- ] |
- } |
- if (is_mac) { |
- sources += [ "objc/Framework/Classes/Metal/RTCMTLNSVideoView.m" ] |
- } |
- } |
- |
libs = [ "AVFoundation.framework" ] |
- if (is_mac || (is_ios && current_cpu == "arm64")) { |
- libs += [ |
- "CoreVideo.framework", |
- "Metal.framework", |
- "MetalKit.framework", |
- ] |
- } |
+ |
if (!build_with_chromium) { |
sources += [ |
- "objc/Framework/Classes/RTCFileLogger.mm", |
+ "objc/Framework/Classes/Common/RTCFileLogger.mm", |
"objc/Framework/Headers/WebRTC/RTCFileLogger.h", |
] |
} |
} |
- rtc_static_library("rtc_sdk_peerconnection_objc") { |
+ rtc_static_library("rtc_sdk_video_module") { |
sources = [ |
- "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h", |
- "objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.h", |
- "objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.mm", |
- "objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h", |
- "objc/Framework/Classes/RTCAVFoundationVideoSource.mm", |
- "objc/Framework/Classes/RTCAudioSource+Private.h", |
- "objc/Framework/Classes/RTCAudioSource.mm", |
- "objc/Framework/Classes/RTCAudioTrack+Private.h", |
- "objc/Framework/Classes/RTCAudioTrack.mm", |
- "objc/Framework/Classes/RTCCameraVideoCapturer.m", |
- "objc/Framework/Classes/RTCConfiguration+Private.h", |
- "objc/Framework/Classes/RTCConfiguration.mm", |
- "objc/Framework/Classes/RTCDataChannel+Private.h", |
- "objc/Framework/Classes/RTCDataChannel.mm", |
- "objc/Framework/Classes/RTCDataChannelConfiguration+Private.h", |
- "objc/Framework/Classes/RTCDataChannelConfiguration.mm", |
- "objc/Framework/Classes/RTCI420Shader.mm", |
- "objc/Framework/Classes/RTCI420TextureCache.h", |
- "objc/Framework/Classes/RTCI420TextureCache.mm", |
- "objc/Framework/Classes/RTCIceCandidate+Private.h", |
- "objc/Framework/Classes/RTCIceCandidate.mm", |
- "objc/Framework/Classes/RTCIceServer+Private.h", |
- "objc/Framework/Classes/RTCIceServer.mm", |
- "objc/Framework/Classes/RTCLegacyStatsReport+Private.h", |
- "objc/Framework/Classes/RTCLegacyStatsReport.mm", |
- "objc/Framework/Classes/RTCMediaConstraints+Private.h", |
- "objc/Framework/Classes/RTCMediaConstraints.mm", |
- "objc/Framework/Classes/RTCMediaSource+Private.h", |
- "objc/Framework/Classes/RTCMediaSource.mm", |
- "objc/Framework/Classes/RTCMediaStream+Private.h", |
- "objc/Framework/Classes/RTCMediaStream.mm", |
- "objc/Framework/Classes/RTCMediaStreamTrack+Private.h", |
- "objc/Framework/Classes/RTCMediaStreamTrack.mm", |
- "objc/Framework/Classes/RTCOpenGLDefines.h", |
- "objc/Framework/Classes/RTCPeerConnection+DataChannel.mm", |
- "objc/Framework/Classes/RTCPeerConnection+Private.h", |
- "objc/Framework/Classes/RTCPeerConnection+Stats.mm", |
- "objc/Framework/Classes/RTCPeerConnection.mm", |
- "objc/Framework/Classes/RTCPeerConnectionFactory+Private.h", |
- "objc/Framework/Classes/RTCPeerConnectionFactory.mm", |
- "objc/Framework/Classes/RTCRtpCodecParameters+Private.h", |
- "objc/Framework/Classes/RTCRtpCodecParameters.mm", |
- "objc/Framework/Classes/RTCRtpEncodingParameters+Private.h", |
- "objc/Framework/Classes/RTCRtpEncodingParameters.mm", |
- "objc/Framework/Classes/RTCRtpParameters+Private.h", |
- "objc/Framework/Classes/RTCRtpParameters.mm", |
- "objc/Framework/Classes/RTCRtpReceiver+Private.h", |
- "objc/Framework/Classes/RTCRtpReceiver.mm", |
- "objc/Framework/Classes/RTCRtpSender+Private.h", |
- "objc/Framework/Classes/RTCRtpSender.mm", |
- "objc/Framework/Classes/RTCSessionDescription+Private.h", |
- "objc/Framework/Classes/RTCSessionDescription.mm", |
- "objc/Framework/Classes/RTCShader+Private.h", |
- "objc/Framework/Classes/RTCShader.h", |
- "objc/Framework/Classes/RTCShader.mm", |
- "objc/Framework/Classes/RTCVideoCapturer.m", |
- "objc/Framework/Classes/RTCVideoFrame+Private.h", |
- "objc/Framework/Classes/RTCVideoFrame.mm", |
- "objc/Framework/Classes/RTCVideoRendererAdapter+Private.h", |
- "objc/Framework/Classes/RTCVideoRendererAdapter.h", |
- "objc/Framework/Classes/RTCVideoRendererAdapter.mm", |
- "objc/Framework/Classes/RTCVideoSource+Private.h", |
- "objc/Framework/Classes/RTCVideoSource.mm", |
- "objc/Framework/Classes/RTCVideoTrack+Private.h", |
- "objc/Framework/Classes/RTCVideoTrack.mm", |
- "objc/Framework/Classes/avfoundationformatmapper.h", |
- "objc/Framework/Classes/avfoundationformatmapper.mm", |
- "objc/Framework/Classes/avfoundationvideocapturer.h", |
- "objc/Framework/Classes/avfoundationvideocapturer.mm", |
- "objc/Framework/Classes/objcvideotracksource.h", |
- "objc/Framework/Classes/objcvideotracksource.mm", |
- "objc/Framework/Classes/videotoolboxvideocodecfactory.cc", |
- "objc/Framework/Classes/videotoolboxvideocodecfactory.h", |
+ "objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.h", |
+ "objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.mm", |
+ "objc/Framework/Classes/Video/RTCAVFoundationVideoSource+Private.h", |
+ "objc/Framework/Classes/Video/RTCAVFoundationVideoSource.mm", |
+ "objc/Framework/Classes/Video/RTCCameraVideoCapturer.m", |
+ "objc/Framework/Classes/Video/RTCI420Shader.mm", |
+ "objc/Framework/Classes/Video/RTCI420TextureCache.h", |
+ "objc/Framework/Classes/Video/RTCI420TextureCache.mm", |
+ "objc/Framework/Classes/Video/RTCShader+Private.h", |
+ "objc/Framework/Classes/Video/RTCShader.h", |
+ "objc/Framework/Classes/Video/RTCShader.mm", |
+ "objc/Framework/Classes/Video/RTCVideoCapturer.m", |
+ "objc/Framework/Classes/Video/RTCVideoFrame+Private.h", |
+ "objc/Framework/Classes/Video/RTCVideoFrame.mm", |
+ "objc/Framework/Classes/Video/RTCVideoRendererAdapter+Private.h", |
+ "objc/Framework/Classes/Video/RTCVideoRendererAdapter.h", |
+ "objc/Framework/Classes/Video/RTCVideoRendererAdapter.mm", |
+ "objc/Framework/Classes/Video/RTCVideoSource+Private.h", |
+ "objc/Framework/Classes/Video/RTCVideoSource.mm", |
+ "objc/Framework/Classes/Video/RTCVideoTrack+Private.h", |
+ "objc/Framework/Classes/Video/RTCVideoTrack.mm", |
+ "objc/Framework/Classes/Video/avfoundationformatmapper.h", |
+ "objc/Framework/Classes/Video/avfoundationformatmapper.mm", |
+ "objc/Framework/Classes/Video/avfoundationvideocapturer.h", |
+ "objc/Framework/Classes/Video/avfoundationvideocapturer.mm", |
+ "objc/Framework/Classes/Video/objcvideotracksource.h", |
+ "objc/Framework/Classes/Video/objcvideotracksource.mm", |
"objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h", |
+ "objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h", |
+ "objc/Framework/Headers/WebRTC/RTCVideoCapturer.h", |
+ "objc/Framework/Headers/WebRTC/RTCVideoFrame.h", |
+ "objc/Framework/Headers/WebRTC/RTCVideoRenderer.h", |
+ "objc/Framework/Headers/WebRTC/RTCVideoSource.h", |
+ "objc/Framework/Headers/WebRTC/RTCVideoTrack.h", |
+ ] |
+ libs = [] |
+ if (is_ios) { |
+ sources += [ |
+ "objc/Framework/Classes/UI/RTCEAGLVideoView.m", |
+ "objc/Framework/Classes/Video/RTCNV12TextureCache.h", |
+ "objc/Framework/Classes/Video/RTCNV12TextureCache.m", |
+ "objc/Framework/Classes/Video/RTCNativeNV12Shader.mm", |
+ "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h", |
+ ] |
+ libs += [ |
+ "GLKit.framework", |
+ "OpenGLES.framework", |
+ "QuartzCore.framework", |
+ ] |
+ } else if (is_mac) { |
+ sources += [ |
+ "objc/Framework/Classes/UI/RTCNSGLVideoView.m", |
+ "objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h", |
+ ] |
+ |
+ libs += [ |
+ "CoreMedia.framework", |
+ "CoreVideo.framework", |
+ "OpenGL.framework", |
+ ] |
+ } |
+ |
+ deps = [ |
+ ":rtc_sdk_common_module", |
+ ":rtc_sdk_corevideoframebuffer", |
+ ":rtc_sdk_videotoolbox_module", |
+ "//webrtc/api:libjingle_peerconnection_api", |
+ "//webrtc/api:video_frame_api", |
+ "//webrtc/base:rtc_base", |
+ "//webrtc/common_video", |
+ "//webrtc/media:rtc_media_base", |
+ ] |
+ |
+ configs += [ "..:common_objc" ] |
+ if (!build_with_chromium && is_clang) { |
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
+ } |
+ } |
+ |
+ rtc_static_library("rtc_sdk_audio_module") { |
+ sources = [ |
+ "objc/Framework/Classes/Audio/RTCAudioSource+Private.h", |
+ "objc/Framework/Classes/Audio/RTCAudioSource.mm", |
+ "objc/Framework/Classes/Audio/RTCAudioTrack+Private.h", |
+ "objc/Framework/Classes/Audio/RTCAudioTrack.mm", |
"objc/Framework/Headers/WebRTC/RTCAudioSource.h", |
"objc/Framework/Headers/WebRTC/RTCAudioTrack.h", |
- "objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h", |
+ ] |
+ |
+ deps = [ |
+ ":rtc_sdk_common_module", |
+ "//webrtc/api:libjingle_peerconnection_api", |
+ "//webrtc/base:rtc_base_approved", |
+ ] |
+ |
+ libs = [ "AudioToolbox.framework" ] |
+ |
+ configs += [ "..:common_objc" ] |
+ if (!build_with_chromium && is_clang) { |
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
+ } |
+ } |
+ |
+ rtc_static_library("rtc_sdk_ui_module") { |
+ sources = [ |
+ "objc/Framework/Classes/UI/RTCUIApplication.h", |
+ "objc/Framework/Classes/UI/RTCUIApplication.mm", |
+ ] |
+ if (is_ios) { |
+ sources += [ |
+ "objc/Framework/Classes/UI/RTCCameraPreviewView.m", |
+ "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h", |
+ ] |
+ } |
+ configs += [ "..:common_objc" ] |
+ deps = [ |
+ ":rtc_sdk_common_module", |
+ ] |
+ } |
+ |
+ rtc_static_library("rtc_sdk_metal_module") { |
+ sources = [ |
+ "objc/Framework/Classes/Metal/RTCMTLRenderer+Private.h", |
+ "objc/Framework/Classes/Metal/RTCMTLRenderer.h", |
+ "objc/Framework/Classes/Metal/RTCMTLRenderer.mm", |
+ ] |
+ if (is_ios) { |
+ sources += [ |
+ "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h", |
+ "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.mm", |
+ "objc/Framework/Classes/Metal/RTCMTLVideoView.m", |
+ "objc/Framework/Headers/WebRTC/RTCMTLVideoView.h", |
+ ] |
+ } |
+ if (is_mac) { |
+ sources += [ |
+ "objc/Framework/Classes/Metal/RTCMTLI420Renderer.h", |
+ "objc/Framework/Classes/Metal/RTCMTLI420Renderer.mm", |
+ "objc/Framework/Classes/Metal/RTCMTLNSVideoView.m", |
+ "objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h", |
+ ] |
+ } |
+ libs = [ |
+ "CoreVideo.framework", |
+ "Metal.framework", |
+ "MetalKit.framework", |
+ ] |
+ deps = [ |
+ ":rtc_sdk_video_module", |
+ "//webrtc/api:video_frame_api", |
+ "//webrtc/base:rtc_base_approved", |
+ ] |
+ configs += [ "..:common_objc" ] |
+ public_configs = [ ":rtc_sdk_common_objc_config" ] |
+ } |
+ |
+ rtc_static_library("rtc_sdk_peerconnection_module") { |
+ sources = [ |
+ "objc/Framework/Classes/PeerConnection/RTCConfiguration+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCConfiguration.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCDataChannel+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCDataChannel.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCIceCandidate+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCIceCandidate.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCIceServer+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCIceServer.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCMediaConstraints+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCMediaConstraints.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCMediaSource+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCMediaSource.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCMediaStream+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCMediaStream.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCPeerConnection+DataChannel.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCPeerConnection+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCPeerConnection+Stats.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpParameters+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpParameters.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpReceiver+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpReceiver.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpSender+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCRtpSender.mm", |
+ "objc/Framework/Classes/PeerConnection/RTCSessionDescription+Private.h", |
+ "objc/Framework/Classes/PeerConnection/RTCSessionDescription.mm", |
"objc/Framework/Headers/WebRTC/RTCConfiguration.h", |
"objc/Framework/Headers/WebRTC/RTCDataChannel.h", |
"objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h", |
@@ -204,54 +299,12 @@ if (is_ios || is_mac) { |
"objc/Framework/Headers/WebRTC/RTCRtpReceiver.h", |
"objc/Framework/Headers/WebRTC/RTCRtpSender.h", |
"objc/Framework/Headers/WebRTC/RTCSessionDescription.h", |
- "objc/Framework/Headers/WebRTC/RTCVideoCapturer.h", |
- "objc/Framework/Headers/WebRTC/RTCVideoFrame.h", |
- "objc/Framework/Headers/WebRTC/RTCVideoRenderer.h", |
- "objc/Framework/Headers/WebRTC/RTCVideoSource.h", |
- "objc/Framework/Headers/WebRTC/RTCVideoTrack.h", |
] |
- deps = [ |
- ":rtc_sdk_corevideoframebuffer", |
- ":webrtc_h264_video_toolbox", |
- "../api:video_frame_api", |
- "../base:rtc_base", |
- "../base:rtc_base_approved", |
- "../common_video", |
- "../media:rtc_media", |
- "../media:rtc_media_base", |
- "../system_wrappers", |
- ] |
+ libs = [ "AVFoundation.framework" ] |
if (is_ios) { |
- sources += [ |
- "objc/Framework/Classes/RTCEAGLVideoView.m", |
- "objc/Framework/Classes/RTCNV12TextureCache.h", |
- "objc/Framework/Classes/RTCNV12TextureCache.m", |
- "objc/Framework/Classes/RTCNativeNV12Shader.mm", |
- "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h", |
- ] |
- libs = [ |
- "CoreGraphics.framework", |
- "GLKit.framework", |
- "OpenGLES.framework", |
- "QuartzCore.framework", |
- ] |
- } |
- |
- if (is_mac) { |
- sources += [ |
- "objc/Framework/Classes/RTCNSGLVideoView.m", |
- "objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h", |
- "objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h", |
- ] |
- libs = [ |
- "CoreVideo.framework", |
- "CoreMedia.framework", |
- "OpenGL.framework", |
- "Metal.framework", |
- "MetalKit.framework", |
- ] |
+ libs += [ "CoreGraphics.framework" ] |
} |
configs += [ "..:common_objc" ] |
@@ -263,13 +316,20 @@ if (is_ios || is_mac) { |
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
} |
- libs += [ "AVFoundation.framework" ] |
- |
- deps += [ |
- ":rtc_sdk_common_objc", |
+ deps = [ |
+ ":rtc_sdk_audio_module", |
+ ":rtc_sdk_common_module", |
+ ":rtc_sdk_ui_module", |
+ ":rtc_sdk_video_module", |
"../pc:libjingle_peerconnection", |
+ "//webrtc/base:rtc_base", |
+ "//webrtc/media:rtc_media_base", |
] |
+ if (rtc_use_metal_rendering) { |
+ deps += [ ":rtc_sdk_metal_module" ] |
+ } |
+ |
if (rtc_build_libyuv) { |
deps += [ "$rtc_libyuv_dir" ] |
public_deps = [ |
@@ -279,7 +339,7 @@ if (is_ios || is_mac) { |
} |
if (rtc_include_tests) { |
- rtc_source_set("rtc_sdk_peerconnection_objc_unittests") { |
+ rtc_source_set("rtc_sdk_peerconnection_module_unittests") { |
testonly = true |
# Skip restricting visibility on mobile platforms since the tests on those |
@@ -299,15 +359,6 @@ if (is_ios || is_mac) { |
"objc/Framework/UnitTests/RTCSessionDescriptionTest.mm", |
"objc/Framework/UnitTests/avformatmappertests.mm", |
] |
- if (is_ios) { |
- sources += [ "objc/Framework/UnitTests/RTCMTLVideoViewTests.mm" ] |
- if (current_cpu != "arm64") { |
- sources += [ "objc/Framework/Classes/Metal/RTCMTLVideoView.m" ] |
- } |
- } |
- |
- # TODO(tkchin): Cleanup this warning. |
- cflags = [ "-Wno-objc-property-no-attribute" ] |
# |-ObjC| flag needed to make sure category method implementations |
# are included: |
@@ -316,12 +367,18 @@ if (is_ios || is_mac) { |
defines = [ "GTEST_RELATIVE_PATH" ] |
deps = [ |
- ":rtc_sdk_peerconnection_objc", |
+ ":rtc_sdk_peerconnection_module", |
+ "..//system_wrappers:system_wrappers_default", |
"../base:rtc_base_tests_utils", |
"//third_party/ocmock", |
"//webrtc/system_wrappers:system_wrappers_default", |
] |
+ if (is_ios && rtc_use_metal_rendering) { |
+ sources += [ "objc/Framework/UnitTests/RTCMTLVideoViewTests.mm" ] |
+ deps += [ ":rtc_sdk_metal_module" ] |
+ } |
+ |
if (!build_with_chromium && is_clang) { |
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). |
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] |
@@ -336,10 +393,6 @@ if (is_ios || is_mac) { |
common_objc_headers = [ |
"objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h", |
- "objc/Framework/Headers/WebRTC/RTCAudioSource.h", |
- "objc/Framework/Headers/WebRTC/RTCAudioTrack.h", |
- "objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h", |
- "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h", |
"objc/Framework/Headers/WebRTC/RTCConfiguration.h", |
"objc/Framework/Headers/WebRTC/RTCDataChannel.h", |
"objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h", |
@@ -357,7 +410,6 @@ if (is_ios || is_mac) { |
"objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h", |
"objc/Framework/Headers/WebRTC/RTCMetrics.h", |
"objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h", |
- "objc/Framework/Headers/WebRTC/RTCMTLVideoView.h", |
"objc/Framework/Headers/WebRTC/RTCPeerConnection.h", |
"objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h", |
"objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h", |
@@ -392,18 +444,17 @@ if (is_ios || is_mac) { |
] |
deps = [ |
- ":rtc_sdk_peerconnection_objc", |
+ ":rtc_sdk_peerconnection_module", |
+ "../base:rtc_base_approved", |
"../system_wrappers:field_trial_default", |
"../system_wrappers:metrics_default", |
] |
libs = [ |
"AVFoundation.framework", |
- "AudioToolbox.framework", |
"CoreGraphics.framework", |
"CoreMedia.framework", |
"GLKit.framework", |
- "VideoToolbox.framework", |
] |
configs += [ "..:common_objc" ] |
@@ -420,7 +471,7 @@ if (is_ios || is_mac) { |
rtc_static_library("rtc_sdk_objc") { |
complete_static_lib = true |
deps = [ |
- ":rtc_sdk_peerconnection_objc", |
+ ":rtc_sdk_peerconnection_module", |
"//webrtc/system_wrappers:field_trial_default", |
"//webrtc/system_wrappers:metrics_default", |
] |
@@ -428,8 +479,8 @@ if (is_ios || is_mac) { |
rtc_static_library("rtc_sdk_corevideoframebuffer") { |
sources = [ |
- "objc/Framework/Classes/corevideo_frame_buffer.cc", |
- "objc/Framework/Classes/corevideo_frame_buffer.h", |
+ "objc/Framework/Classes/Video/corevideo_frame_buffer.cc", |
+ "objc/Framework/Classes/Video/corevideo_frame_buffer.h", |
] |
deps = [ |
@@ -440,29 +491,32 @@ if (is_ios || is_mac) { |
libs = [ "CoreVideo.framework" ] |
} |
- rtc_static_library("webrtc_h264_video_toolbox") { |
+ rtc_static_library("rtc_sdk_videotoolbox_module") { |
sources = [ |
- "objc/Framework/Classes/h264_video_toolbox_decoder.cc", |
- "objc/Framework/Classes/h264_video_toolbox_decoder.h", |
- "objc/Framework/Classes/h264_video_toolbox_encoder.h", |
- "objc/Framework/Classes/h264_video_toolbox_encoder.mm", |
- "objc/Framework/Classes/h264_video_toolbox_nalu.cc", |
- "objc/Framework/Classes/h264_video_toolbox_nalu.h", |
+ "objc/Framework/Classes/Videotoolbox/decoder.cc", |
+ "objc/Framework/Classes/Videotoolbox/decoder.h", |
+ "objc/Framework/Classes/Videotoolbox/encoder.h", |
+ "objc/Framework/Classes/Videotoolbox/encoder.mm", |
+ "objc/Framework/Classes/Videotoolbox/nalu_rewriter.cc", |
+ "objc/Framework/Classes/Videotoolbox/nalu_rewriter.h", |
+ "objc/Framework/Classes/Videotoolbox/videocodecfactory.cc", |
+ "objc/Framework/Classes/Videotoolbox/videocodecfactory.h", |
] |
configs += [ "//webrtc:common_objc" ] |
deps = [ |
- ":rtc_sdk_common_objc", |
+ ":rtc_sdk_common_module", |
":rtc_sdk_corevideoframebuffer", |
- "../api:video_frame_api", |
+ ":rtc_sdk_ui_module", |
"../base:rtc_base_approved", |
- "../common_video", |
- "../media:rtc_media_base", |
- "../modules:module_api", |
- "../modules/video_coding:video_coding_utility", |
- "../modules/video_coding:webrtc_h264", |
- "../system_wrappers", |
+ "//webrtc/common_video", |
+ "//webrtc/media:rtc_media", |
+ "//webrtc/media:rtc_media_base", |
+ "//webrtc/modules:module_api", |
+ "//webrtc/modules/video_coding:video_coding_utility", |
+ "//webrtc/modules/video_coding:webrtc_h264", |
+ "//webrtc/system_wrappers", |
] |
libs = [ |