Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2893593002/ )

Reason for revert:
Take two of fixing downstream issues?

Original issue's description:
> Revert of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890733003/ )
>
> Reason for revert:
> Still problems with downstream projects
>
> Original issue's description:
> > Reland of Split iOS sdk in to separate targets (patchset #1 id:1 of https://codereview.webrtc.org/2890513002/ )
> >
> > Reason for revert:
> > Fixing downstream breakages
> >
> > Original issue's description:
> > > Revert of Split iOS sdk in to separate targets (patchset #13 id:280001 of https://codereview.webrtc.org/2862543002/ )
> > >
> > > Reason for revert:
> > > Breaking downstream projects.
> > >
> > > Original issue's description:
> > > > Split iOS sdk in to separate targets
> > > >
> > > > This CL splits the iOS sdk into separate static libraries for video,
> > > > audio, ui, common, and peerconnection-related code. This will in the
> > > > future make it easier to compile WebRTC without unneeded components.
> > > >
> > > > BUG=webrtc:4867
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2862543002
> > > > Cr-Commit-Position: refs/heads/master@{#18166}
> > > > Committed: 52c83fe710
> > >
> > > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,kthelgason@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:4867
> > >
> > > Review-Url: https://codereview.webrtc.org/2890513002
> > > Cr-Commit-Position: refs/heads/master@{#18170}
> > > Committed: 9756238084
> >
> > TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:4867
> >
> > Review-Url: https://codereview.webrtc.org/2890733003
> > Cr-Commit-Position: refs/heads/master@{#18174}
> > Committed: d51e042492
>
> TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:4867
>
> Review-Url: https://codereview.webrtc.org/2893593002
> Cr-Commit-Position: refs/heads/master@{#18182}
> Committed: 37144b214e

TBR=magjed@webrtc.org,denicija@webrtc.org,tkchin@webrtc.org,henrika@webrtc.org,charujain@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4867

Review-Url: https://codereview.webrtc.org/2893843003
Cr-Commit-Position: refs/heads/master@{#18303}
This commit is contained in:
kthelgason 2017-05-29 05:46:00 -07:00 committed by Commit Bot
parent 8c5f472d66
commit 580c3522d2
117 changed files with 332 additions and 273 deletions

View File

@ -120,7 +120,7 @@ def BuildWebRTC(output_dir, target_arch, flavor, build_type,
if build_type == 'static_only':
gn_target_name = 'rtc_sdk_objc'
elif build_type == 'framework':
gn_target_name = 'rtc_sdk_framework_objc'
gn_target_name = 'objc_framework'
if not use_bitcode:
gn_args.append('enable_dsyms=true')
gn_args.append('enable_stripping=true')

View File

@ -410,7 +410,7 @@ if (rtc_include_tests) {
}
if (is_ios || is_mac) {
deps += [ "sdk:rtc_sdk_peerconnection_objc_unittests" ]
deps += [ "sdk:objc_sdk_unittests" ]
}
}

View File

@ -163,7 +163,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) {
public_configs = [ ":apprtc_common_config" ]
deps = [
"//webrtc/sdk:rtc_sdk_common_objc",
"//webrtc/sdk:objc_common",
"//webrtc/system_wrappers:field_trial_default",
"//webrtc/system_wrappers:metrics_default",
]
@ -232,7 +232,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) {
":socketrocket",
]
public_deps = [
"//webrtc/sdk:rtc_sdk_peerconnection_objc",
"//webrtc/sdk:objc_peerconnection",
]
libs = [ "QuartzCore.framework" ]
}
@ -290,7 +290,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) {
bundle_data("AppRTCMobile_ios_frameworks") {
public_deps = [
"//webrtc/sdk:rtc_sdk_framework_objc+link",
"//webrtc/sdk:objc_framework+link",
]
sources = [
"$root_out_dir/WebRTC.framework",
@ -338,6 +338,7 @@ if (is_ios || (is_mac && target_cpu != "x86")) {
deps = [
":apprtc_common",
":apprtc_signaling",
"//webrtc/sdk:objc_ui",
]
}

View File

@ -176,7 +176,7 @@ rtc_static_library("audio_device") {
public_deps = [
"../../base:gtest_prod",
"../../base:rtc_base",
"../../sdk:rtc_sdk_common_objc",
"../../sdk:objc_common",
]
sources += [
"ios/audio_device_ios.h",

View File

@ -23,7 +23,7 @@
#include "webrtc/base/thread.h"
#include "webrtc/base/thread_annotations.h"
#include "webrtc/modules/audio_device/fine_audio_buffer.h"
#include "webrtc/sdk/objc/Framework/Classes/helpers.h"
#include "webrtc/sdk/objc/Framework/Classes/Common/helpers.h"
#import "WebRTC/RTCLogging.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession.h"

View File

@ -379,7 +379,7 @@ if (rtc_include_tests) {
if (is_ios || is_mac) {
deps += [
"../../media:rtc_media_base",
"../../sdk:webrtc_h264_video_toolbox",
"../../sdk:objc_videotoolbox",
]
}
}

View File

@ -23,8 +23,8 @@
#include "webrtc/sdk/android/src/jni/androidmediadecoder_jni.h"
#include "webrtc/sdk/android/src/jni/androidmediaencoder_jni.h"
#elif defined(WEBRTC_IOS)
#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.h"
#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.h"
#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h"
#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h"
#endif
#include "webrtc/base/checks.h"

View File

@ -11,44 +11,50 @@ 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 = [
":rtc_sdk_framework_objc",
":objc_framework",
]
}
}
if (is_ios || is_mac) {
config("rtc_sdk_common_objc_config") {
config("objc_common_config") {
include_dirs = [
"objc/Framework/Classes",
"objc/Framework/Classes/Audio",
"objc/Framework/Classes/Common",
"objc/Framework/Classes/Metal",
"objc/Framework/Classes/PeerConnection",
"objc/Framework/Classes/UI",
"objc/Framework/Classes/Video",
"objc/Framework/Classes/VideoToolbox",
"objc/Framework/Headers",
]
}
rtc_static_library("rtc_sdk_common_objc") {
rtc_static_library("objc_common") {
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/RTCUIApplication.h",
"objc/Framework/Classes/Common/RTCUIApplication.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",
"objc/Framework/Headers/WebRTC/RTCMacros.h",
"objc/Framework/Headers/WebRTC/RTCMetrics.h",
"objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h",
"objc/Framework/Headers/WebRTC/RTCSSLAdapter.h",
"objc/Framework/Headers/WebRTC/RTCTracing.h",
]
deps = [
@ -56,132 +62,202 @@ if (is_ios || is_mac) {
]
configs += [ "..:common_objc" ]
public_configs = [ ":rtc_sdk_common_objc_config" ]
public_configs = [ ":objc_common_config" ]
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")) {
if (!build_with_chromium) {
sources += [
"objc/Framework/Classes/Common/RTCFileLogger.mm",
"objc/Framework/Headers/WebRTC/RTCFileLogger.h",
]
}
}
rtc_static_library("objc_video") {
sources = [
"objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.h",
"objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.mm",
"objc/Framework/Classes/Video/RTCI420Shader.mm",
"objc/Framework/Classes/Video/RTCI420TextureCache.h",
"objc/Framework/Classes/Video/RTCI420TextureCache.mm",
"objc/Framework/Classes/Video/RTCOpenGLDefines.h",
"objc/Framework/Classes/Video/RTCShader+Private.h",
"objc/Framework/Classes/Video/RTCShader.h",
"objc/Framework/Classes/Video/RTCShader.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",
]
libs = []
if (is_ios) {
sources += [
"objc/Framework/Classes/Video/RTCNV12TextureCache.h",
"objc/Framework/Classes/Video/RTCNV12TextureCache.m",
"objc/Framework/Classes/Video/RTCNativeNV12Shader.mm",
]
libs += [
"GLKit.framework",
"OpenGLES.framework",
"QuartzCore.framework",
]
} else if (is_mac) {
sources += []
libs += [
"CoreMedia.framework",
"CoreVideo.framework",
"OpenGL.framework",
]
}
deps = [
":objc_common",
":objc_corevideoframebuffer",
":objc_videotoolbox",
"//webrtc/api:libjingle_peerconnection_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("objc_ui") {
if (is_ios) {
sources = [
"objc/Framework/Classes/UI/RTCCameraPreviewView.m",
"objc/Framework/Classes/UI/RTCEAGLVideoView.m",
"objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h",
"objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h",
]
}
if (is_mac) {
sources = [
"objc/Framework/Classes/UI/RTCNSGLVideoView.m",
"objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h",
]
}
configs += [ "..:common_objc" ]
deps = [
":objc_common",
":objc_peerconnection",
]
}
if (rtc_use_metal_rendering) {
rtc_static_library("objc_metal") {
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",
"objc/Framework/Headers/WebRTC/RTCMTLVideoView.h",
]
}
if (is_mac) {
sources += [ "objc/Framework/Classes/Metal/RTCMTLNSVideoView.m" ]
sources += [
"objc/Framework/Classes/Metal/RTCMTLNSVideoView.m",
"objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h",
]
}
}
libs = [ "AVFoundation.framework" ]
if (is_mac || (is_ios && current_cpu == "arm64")) {
libs += [
libs = [
"CoreVideo.framework",
"Metal.framework",
"MetalKit.framework",
]
}
if (!build_with_chromium) {
sources += [
"objc/Framework/Classes/RTCFileLogger.mm",
"objc/Framework/Headers/WebRTC/RTCFileLogger.h",
deps = [
":objc_video",
"//webrtc/api:video_frame_api",
"//webrtc/base:rtc_base_approved",
]
configs += [ "..:common_objc" ]
public_configs = [ ":objc_common_config" ]
}
}
rtc_static_library("rtc_sdk_peerconnection_objc") {
rtc_static_library("objc_peerconnection") {
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/PeerConnection/RTCAVFoundationVideoSource+Private.h",
"objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource.mm",
"objc/Framework/Classes/PeerConnection/RTCAudioSource+Private.h",
"objc/Framework/Classes/PeerConnection/RTCAudioSource.mm",
"objc/Framework/Classes/PeerConnection/RTCAudioTrack+Private.h",
"objc/Framework/Classes/PeerConnection/RTCAudioTrack.mm",
"objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m",
"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/RTCMetrics.mm",
"objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo+Private.h",
"objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo.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/RTCSSLAdapter.mm",
"objc/Framework/Classes/PeerConnection/RTCSessionDescription+Private.h",
"objc/Framework/Classes/PeerConnection/RTCSessionDescription.mm",
"objc/Framework/Classes/PeerConnection/RTCTracing.mm",
"objc/Framework/Classes/PeerConnection/RTCVideoCapturer.m",
"objc/Framework/Classes/PeerConnection/RTCVideoFrame+Private.h",
"objc/Framework/Classes/PeerConnection/RTCVideoFrame.mm",
"objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter+Private.h",
"objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h",
"objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.mm",
"objc/Framework/Classes/PeerConnection/RTCVideoSource+Private.h",
"objc/Framework/Classes/PeerConnection/RTCVideoSource.mm",
"objc/Framework/Classes/PeerConnection/RTCVideoTrack+Private.h",
"objc/Framework/Classes/PeerConnection/RTCVideoTrack.mm",
"objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h",
"objc/Framework/Headers/WebRTC/RTCAudioSource.h",
"objc/Framework/Headers/WebRTC/RTCAudioTrack.h",
@ -196,6 +272,8 @@ if (is_ios || is_mac) {
"objc/Framework/Headers/WebRTC/RTCMediaSource.h",
"objc/Framework/Headers/WebRTC/RTCMediaStream.h",
"objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h",
"objc/Framework/Headers/WebRTC/RTCMetrics.h",
"objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h",
"objc/Framework/Headers/WebRTC/RTCPeerConnection.h",
"objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h",
"objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h",
@ -203,7 +281,9 @@ if (is_ios || is_mac) {
"objc/Framework/Headers/WebRTC/RTCRtpParameters.h",
"objc/Framework/Headers/WebRTC/RTCRtpReceiver.h",
"objc/Framework/Headers/WebRTC/RTCRtpSender.h",
"objc/Framework/Headers/WebRTC/RTCSSLAdapter.h",
"objc/Framework/Headers/WebRTC/RTCSessionDescription.h",
"objc/Framework/Headers/WebRTC/RTCTracing.h",
"objc/Framework/Headers/WebRTC/RTCVideoCapturer.h",
"objc/Framework/Headers/WebRTC/RTCVideoFrame.h",
"objc/Framework/Headers/WebRTC/RTCVideoRenderer.h",
@ -211,65 +291,35 @@ if (is_ios || is_mac) {
"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" ]
public_configs = [ ":rtc_sdk_common_objc_config" ]
public_configs = [ ":objc_common_config" ]
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" ]
}
libs += [ "AVFoundation.framework" ]
deps += [
":rtc_sdk_common_objc",
deps = [
":objc_common",
":objc_corevideoframebuffer",
":objc_video",
"../pc:libjingle_peerconnection",
"//webrtc/api:video_frame_api",
"//webrtc/base:rtc_base",
"//webrtc/media:rtc_media_base",
]
if (rtc_use_metal_rendering) {
deps += [ ":objc_metal" ]
}
if (rtc_build_libyuv) {
deps += [ "$rtc_libyuv_dir" ]
public_deps = [
@ -279,7 +329,7 @@ if (is_ios || is_mac) {
}
if (rtc_include_tests) {
rtc_source_set("rtc_sdk_peerconnection_objc_unittests") {
rtc_source_set("objc_sdk_unittests") {
testonly = true
# Skip restricting visibility on mobile platforms since the tests on those
@ -299,15 +349,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 +357,24 @@ if (is_ios || is_mac) {
defines = [ "GTEST_RELATIVE_PATH" ]
deps = [
":rtc_sdk_peerconnection_objc",
":objc_peerconnection",
"..//system_wrappers:system_wrappers_default",
"../base:rtc_base_tests_utils",
"//third_party/ocmock",
"//webrtc/system_wrappers:system_wrappers_default",
]
# RTCMTLVideoView not supported on 32-bit arm
if (is_ios && current_cpu != "arm") {
sources += [ "objc/Framework/UnitTests/RTCMTLVideoViewTests.mm" ]
if (current_cpu != "arm64") {
# Only include this file on simulator, as it's already
# included in device builds.
sources += [ "objc/Framework/Classes/Metal/RTCMTLVideoView.m" ]
libs = [ "CoreVideo.framework" ]
}
}
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" ]
@ -330,16 +383,12 @@ if (is_ios || is_mac) {
}
if (is_ios) {
ios_framework_bundle("rtc_sdk_framework_objc") {
ios_framework_bundle("objc_framework") {
info_plist = "objc/Framework/Info.plist"
output_name = "WebRTC"
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 +406,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,23 +440,23 @@ if (is_ios || is_mac) {
]
deps = [
":rtc_sdk_peerconnection_objc",
":objc_peerconnection",
":objc_ui",
"../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" ]
public_configs = [ ":rtc_sdk_common_objc_config" ]
public_configs = [ ":objc_common_config" ]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163)
@ -420,16 +468,17 @@ if (is_ios || is_mac) {
rtc_static_library("rtc_sdk_objc") {
complete_static_lib = true
deps = [
":rtc_sdk_peerconnection_objc",
":objc_peerconnection",
":objc_ui",
"//webrtc/system_wrappers:field_trial_default",
"//webrtc/system_wrappers:metrics_default",
]
}
rtc_static_library("rtc_sdk_corevideoframebuffer") {
rtc_static_library("objc_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 = [
@ -437,32 +486,39 @@ if (is_ios || is_mac) {
"../common_video",
]
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" ]
}
libs = [ "CoreVideo.framework" ]
}
rtc_static_library("webrtc_h264_video_toolbox") {
rtc_static_library("objc_videotoolbox") {
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_corevideoframebuffer",
"../api:video_frame_api",
":objc_common",
":objc_corevideoframebuffer",
"../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 = [

View File

@ -1,5 +1,12 @@
include_rules = [
"+WebRTC",
"+Common",
"+Video",
"+Audio",
"+UI",
"+PeerConnection",
"+VideoToolbox",
"+Metal",
"+webrtc/api",
"+webrtc/common_video/h264",
"+webrtc/common_video/include",

View File

@ -8,8 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
#define WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_UI_RTCUIAPPLICATION_H_
#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_UI_RTCUIAPPLICATION_H_
#include "WebRTC/RTCMacros.h"
@ -18,4 +18,4 @@
RTC_EXTERN bool RTCIsUIApplicationActive();
#endif // WEBRTC_IOS
#endif // WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
#endif // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_UI_RTCUIAPPLICATION_H_

View File

@ -8,8 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_HELPERS_H_
#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_HELPERS_H_
#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COMMON_HELPERS_H_
#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COMMON_HELPERS_H_
#if defined(WEBRTC_IOS)
@ -33,8 +33,6 @@ std::string GetThreadInfo();
// Example: <NSThread: 0x170066d80>{number = 1, name = main}
std::string GetCurrentThreadDescription();
std::string GetAudioSessionCategory();
// Returns the current name of the operating system.
std::string GetSystemName();
@ -75,4 +73,4 @@ bool GetLowPowerModeEnabled();
#endif // defined(WEBRTC_IOS)
#endif // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_HELPERS_H_
#endif // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COMMON_HELPERS_H_

View File

@ -9,7 +9,6 @@
*/
#import <AVFoundation/AVFoundation.h>
#import <Foundation/Foundation.h>
#import <sys/sysctl.h>
#if defined(WEBRTC_IOS)
@ -20,7 +19,7 @@
#include "webrtc/base/checks.h"
#include "webrtc/base/logging.h"
#include "webrtc/sdk/objc/Framework/Classes/helpers.h"
#include "webrtc/sdk/objc/Framework/Classes/Common/helpers.h"
namespace webrtc {
namespace ios {
@ -65,11 +64,6 @@ std::string GetCurrentThreadDescription() {
}
#if defined(WEBRTC_IOS)
std::string GetAudioSessionCategory() {
NSString* category = [[AVAudioSession sharedInstance] category];
return StdStringFromNSString(category);
}
std::string GetSystemName() {
NSString* osName = [[UIDevice currentDevice] systemName];
return StdStringFromNSString(osName);

View File

@ -11,7 +11,6 @@
#import "RTCPeerConnectionFactory+Private.h"
#import "NSString+StdString.h"
#import "RTCAVFoundationVideoSource+Private.h"
#import "RTCAudioSource+Private.h"
#import "RTCAudioTrack+Private.h"
#import "RTCMediaConstraints+Private.h"
@ -19,10 +18,11 @@
#import "RTCPeerConnection+Private.h"
#import "RTCVideoSource+Private.h"
#import "RTCVideoTrack+Private.h"
#import "RTCAVFoundationVideoSource+Private.h"
#import "WebRTC/RTCLogging.h"
#include "objcvideotracksource.h"
#include "videotoolboxvideocodecfactory.h"
#include "Video/objcvideotracksource.h"
#include "VideoToolbox/videocodecfactory.h"
@implementation RTCPeerConnectionFactory {
std::unique_ptr<rtc::Thread> _networkThread;

View File

@ -10,7 +10,7 @@
#import "RTCVideoFrame+Private.h"
#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h"
#include "webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
@implementation RTCVideoFrame {
rtc::scoped_refptr<webrtc::VideoFrameBuffer> _videoBuffer;

View File

@ -11,7 +11,7 @@
#import "RTCVideoSource+Private.h"
#include "webrtc/base/checks.h"
#include "webrtc/sdk/objc/Framework/Classes/objcvideotracksource.h"
#include "webrtc/sdk/objc/Framework/Classes/Video/objcvideotracksource.h"
// TODO(magjed): Refactor this class and target ObjcVideoTrackSource only once
// RTCAVFoundationVideoSource is gone. See http://crbug/webrtc/7177 for more

View File

@ -8,8 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef WEBRTC_API_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
#define WEBRTC_API_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_AVFOUNDATIONVIDEOCAPTURER_H_
#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_AVFOUNDATIONVIDEOCAPTURER_H_
#import <AVFoundation/AVFoundation.h>
@ -69,4 +69,4 @@ class AVFoundationVideoCapturer : public cricket::VideoCapturer {
} // namespace webrtc
#endif // WEBRTC_API_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
#endif // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_AVFOUNDATIONVIDEOCAPTURER_H_

View File

@ -23,7 +23,7 @@
#include "webrtc/base/checks.h"
#include "webrtc/base/logging.h"
#include "webrtc/base/thread.h"
#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h"
#include "webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
namespace webrtc {

Some files were not shown because too many files have changed in this diff Show More