Build dynamic iOS SDK.

- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.

BUG=

Review URL: https://codereview.webrtc.org/1903663002

Cr-Commit-Position: refs/heads/master@{#12524}
This commit is contained in:
tkchin
2016-04-27 01:54:20 -07:00
committed by Commit bot
parent 06f7e49438
commit 9eeb6240c9
174 changed files with 1000 additions and 2122 deletions

View File

@ -229,6 +229,7 @@ def _CheckNoRtcBaseDeps(input_api, gyp_files, output_api):
'base_tests.gyp',
'desktop_capture.gypi',
'p2p.gyp',
'sdk.gyp',
'webrtc_test_common.gyp',
'webrtc_tests.gypi',
)

View File

@ -150,7 +150,7 @@
'objc/public/RTCAVFoundationVideoSource.h',
],
'dependencies': [
'<(webrtc_root)/base/base.gyp:rtc_base_objc',
'<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_common_objc',
],
'link_settings': {
'xcode_settings': {

View File

@ -35,8 +35,8 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "webrtc/base/objc/RTCDispatcher+Private.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "RTCDispatcher+Private.h"
#import "RTCLogging.h"
// TODO(tkchin): support other formats.
static NSString *const kDefaultPreset = AVCaptureSessionPreset640x480;

View File

@ -29,6 +29,7 @@ include_rules = [
"+webrtc/video_renderer.h",
"+webrtc/video_send_stream.h",
"+WebRTC",
"+webrtc/base",
"+webrtc/modules/include",
"+webrtc/test",

View File

@ -7,116 +7,3 @@
# be found in the AUTHORS file in the root of the source tree.
import("../build/webrtc.gni")
config("ios_config") {
libs = [
"CoreGraphics.framework",
"GLKit.framework",
"OpenGLES.framework",
"QuartzCore.framework",
]
}
if (is_ios) {
source_set("rtc_api_objc") {
deps = [
"../base:rtc_base_objc",
#"../../talk/libjingle:libjingle_peerconnection",
]
cflags = [
"-fobjc-arc",
"-Wobjc-missing-property-synthesis",
]
sources = [
# Add these when there's a BUILD.gn for peer connection APIs
#"objc/RTCAVFoundationVideoSource+Private.h",
#"objc/RTCAVFoundationVideoSource.h",
#"objc/RTCAVFoundationVideoSource.mm",
#"objc/RTCAudioTrack+Private.h",
#"objc/RTCAudioTrack.h",
#"objc/RTCAudioTrack.mm",
#"objc/RTCConfiguration+Private.h",
#"objc/RTCConfiguration.h",
#"objc/RTCConfiguration.mm",
#"objc/RTCDataChannel+Private.h",
#"objc/RTCDataChannel.h",
#"objc/RTCDataChannel.mm",
#"objc/RTCDataChannelConfiguration+Private.h",
#"objc/RTCDataChannelConfiguration.h",
#"objc/RTCDataChannelConfiguration.mm",
#"objc/RTCIceCandidate+Private.h",
#"objc/RTCIceCandidate.h",
#"objc/RTCIceCandidate.mm",
#"objc/RTCMediaStream+Private.h",
#"objc/RTCMediaStream.h",
#"objc/RTCMediaStream.mm",
#"objc/RTCMediaStreamTrack+Private.h",
#"objc/RTCMediaStreamTrack.h",
#"objc/RTCMediaStreamTrack.mm",
#"objc/RTCPeerConnection+DataChannel.h",
#"objc/RTCPeerConnection+Private.h",
#"objc/RTCPeerConnection+Stats.h",
#"objc/RTCPeerConnection.h",
#"objc/RTCPeerConnection.mm",
#"objc/RTCPeerConnectionFactory+Private.h",
#"objc/RTCPeerConnectionFactory.h",
#"objc/RTCPeerConnectionFactory.mm",
#"objc/RTCRtpCodecParameters+Private.h",
#"objc/RTCRtpCodecParameters.h",
#"objc/RTCRtpCodecParameters.mm",
#"objc/RTCRtpEncodingParameters+Private.h",
#"objc/RTCRtpEncodingParameters.h",
#"objc/RTCRtpEncodingParameters.mm",
#"objc/RTCRtpParameters+Private.h",
#"objc/RTCRtpParameters.h",
#"objc/RTCRtpParameters.mm",
#"objc/RTCRtpSender+Private.h",
#"objc/RTCRtpSender.h",
#"objc/RTCRtpSender.mm",
#"objc/RTCVideoSource+Private.h",
#"objc/RTCVideoSource.h",
#"objc/RTCVideoSource.mm",
#"objc/RTCVideoTrack+Private.h",
#"objc/RTCVideoTrack.h",
#"objc/RTCVideoTrack.mm",
"objc/RTCIceServer+Private.h",
"objc/RTCIceServer.h",
"objc/RTCIceServer.mm",
"objc/RTCMediaConstraints+Private.h",
"objc/RTCMediaConstraints.h",
"objc/RTCMediaConstraints.mm",
"objc/RTCOpenGLVideoRenderer.h",
"objc/RTCOpenGLVideoRenderer.mm",
"objc/RTCSessionDescription+Private.h",
"objc/RTCSessionDescription.h",
"objc/RTCSessionDescription.mm",
"objc/RTCStatsReport+Private.h",
"objc/RTCStatsReport.h",
"objc/RTCStatsReport.mm",
"objc/RTCVideoFrame+Private.h",
"objc/RTCVideoFrame.h",
"objc/RTCVideoFrame.mm",
"objc/RTCVideoRenderer.h",
"objc/RTCVideoRendererAdapter+Private.h",
"objc/RTCVideoRendererAdapter.h",
"objc/RTCVideoRendererAdapter.mm",
"objc/WebRTC-Prefix.pch",
"objc/avfoundationvideocapturer.h",
"objc/avfoundationvideocapturer.mm",
]
if (is_ios) {
sources += [
"objc/RTCEAGLVideoView.h",
"objc/RTCEAGLVideoView.m",
]
}
if (is_mac) {
sources += [
"objc/RTCNSGLVideoView.h",
"objc/RTCNSGLVideoView.m",
]
}
}
}

View File

@ -122,144 +122,6 @@
}, # libjingle_peerconnection_java
]
}],
['OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7")', {
'targets': [
{
'target_name': 'rtc_api_objc',
'type': 'static_library',
'includes': [
'../build/objc_common.gypi',
],
'dependencies': [
'<(webrtc_root)/base/base.gyp:rtc_base_objc',
'libjingle_peerconnection',
],
'sources': [
'objc/RTCAudioTrack+Private.h',
'objc/RTCAudioTrack.h',
'objc/RTCAudioTrack.mm',
'objc/RTCConfiguration+Private.h',
'objc/RTCConfiguration.h',
'objc/RTCConfiguration.mm',
'objc/RTCDataChannel+Private.h',
'objc/RTCDataChannel.h',
'objc/RTCDataChannel.mm',
'objc/RTCDataChannelConfiguration+Private.h',
'objc/RTCDataChannelConfiguration.h',
'objc/RTCDataChannelConfiguration.mm',
'objc/RTCIceCandidate+Private.h',
'objc/RTCIceCandidate.h',
'objc/RTCIceCandidate.mm',
'objc/RTCIceServer+Private.h',
'objc/RTCIceServer.h',
'objc/RTCIceServer.mm',
'objc/RTCMediaConstraints+Private.h',
'objc/RTCMediaConstraints.h',
'objc/RTCMediaConstraints.mm',
'objc/RTCMediaStream+Private.h',
'objc/RTCMediaStream.h',
'objc/RTCMediaStream.mm',
'objc/RTCMediaStreamTrack+Private.h',
'objc/RTCMediaStreamTrack.h',
'objc/RTCMediaStreamTrack.mm',
'objc/RTCOpenGLVideoRenderer.h',
'objc/RTCOpenGLVideoRenderer.mm',
'objc/RTCPeerConnection+DataChannel.mm',
'objc/RTCPeerConnection+Private.h',
'objc/RTCPeerConnection+Stats.mm',
'objc/RTCPeerConnection.h',
'objc/RTCPeerConnection.mm',
'objc/RTCPeerConnectionFactory+Private.h',
'objc/RTCPeerConnectionFactory.h',
'objc/RTCPeerConnectionFactory.mm',
'objc/RTCRtpCodecParameters+Private.h',
'objc/RTCRtpCodecParameters.h',
'objc/RTCRtpCodecParameters.mm',
'objc/RTCRtpEncodingParameters+Private.h',
'objc/RTCRtpEncodingParameters.h',
'objc/RTCRtpEncodingParameters.mm',
'objc/RTCRtpParameters+Private.h',
'objc/RTCRtpParameters.h',
'objc/RTCRtpParameters.mm',
'objc/RTCRtpSender+Private.h',
'objc/RTCRtpSender.h',
'objc/RTCRtpSender.mm',
'objc/RTCSessionDescription+Private.h',
'objc/RTCSessionDescription.h',
'objc/RTCSessionDescription.mm',
'objc/RTCStatsReport+Private.h',
'objc/RTCStatsReport.h',
'objc/RTCStatsReport.mm',
'objc/RTCVideoFrame+Private.h',
'objc/RTCVideoFrame.h',
'objc/RTCVideoFrame.mm',
'objc/RTCVideoRenderer.h',
'objc/RTCVideoRendererAdapter+Private.h',
'objc/RTCVideoRendererAdapter.h',
'objc/RTCVideoRendererAdapter.mm',
'objc/RTCVideoSource+Private.h',
'objc/RTCVideoSource.h',
'objc/RTCVideoSource.mm',
'objc/RTCVideoTrack+Private.h',
'objc/RTCVideoTrack.h',
'objc/RTCVideoTrack.mm',
],
# TODO(hjon): Make this compile without linking to libstdc++
# See https://bugs.chromium.org/p/webrtc/issues/detail?id=5593
'link_settings': {
'libraries': [
'-lstdc++',
],
},
'conditions': [
['OS=="ios"', {
'sources': [
'objc/RTCAVFoundationVideoSource+Private.h',
'objc/RTCAVFoundationVideoSource.h',
'objc/RTCAVFoundationVideoSource.mm',
'objc/RTCEAGLVideoView.h',
'objc/RTCEAGLVideoView.m',
'objc/avfoundationvideocapturer.h',
'objc/avfoundationvideocapturer.mm',
],
'all_dependent_settings': {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-framework CoreGraphics',
'-framework GLKit',
'-framework OpenGLES',
'-framework QuartzCore',
]
}
},
# TODO(kjellander): Make the code compile without disabling these.
# See https://bugs.chromium.org/p/webrtc/issues/detail?id=3307
'cflags': [
'-Wno-return-type',
],
'xcode_settings': {
'WARNING_CFLAGS': [
'-Wno-return-type',
],
},
}],
['OS=="mac"', {
'sources': [
'objc/RTCNSGLVideoView.h',
'objc/RTCNSGLVideoView.m',
],
'link_settings': {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-framework OpenGL',
],
},
},
}],
],
}
],
}], # OS=="ios"
], # conditions
'targets': [
{

View File

@ -142,35 +142,6 @@
},
], # targets
}], # OS=="android"
['OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7")', {
'targets': [
{
'target_name': 'rtc_api_objc_tests',
'type': 'executable',
'includes': [
'../build/objc_common.gypi',
],
'dependencies': [
'<(webrtc_root)/api/api.gyp:rtc_api_objc',
'<(webrtc_root)/base/base_tests.gyp:rtc_base_tests_utils',
],
'sources': [
'objctests/RTCConfigurationTest.mm',
'objctests/RTCDataChannelConfigurationTest.mm',
'objctests/RTCIceCandidateTest.mm',
'objctests/RTCIceServerTest.mm',
'objctests/RTCMediaConstraintsTest.mm',
'objctests/RTCSessionDescriptionTest.mm',
],
'xcode_settings': {
# |-ObjC| flag needed to make sure category method implementations
# are included:
# https://developer.apple.com/library/mac/qa/qa1490/_index.html
'OTHER_LDFLAGS': ['-ObjC'],
},
},
],
}], # OS=="ios"
['OS=="android"', {
'targets': [
{

View File

@ -1 +0,0 @@
tkchin@webrtc.org

View File

@ -1,3 +0,0 @@
This is a work-in-progress to update the Objective-C API according to the W3C
specification. The Objective-C API located at talk/app/webrtc/objc is
deprecated, but will remain for the time being.

View File

@ -597,44 +597,6 @@ static_library("rtc_base") {
}
}
if (is_ios) {
source_set("rtc_base_objc") {
deps = [
":rtc_base",
]
cflags = [ "-fobjc-arc" ]
configs += [ "..:common_config" ]
public_configs = [ "..:common_inherited_config" ]
sources = [
"objc/NSString+StdString.h",
"objc/NSString+StdString.mm",
"objc/RTCCameraPreviewView.h",
"objc/RTCCameraPreviewView.m",
"objc/RTCDispatcher.h",
"objc/RTCDispatcher.m",
"objc/RTCFieldTrials.h",
"objc/RTCFieldTrials.mm",
"objc/RTCLogging.h",
"objc/RTCLogging.mm",
"objc/RTCMacros.h",
"objc/RTCSSLAdapter.h",
"objc/RTCSSLAdapter.mm",
"objc/RTCTracing.h",
"objc/RTCTracing.mm",
"objc/RTCUIApplication.h",
"objc/RTCUIApplication.mm",
]
if (!build_with_chromium) {
sources += [
"objc/RTCFileLogger.h",
"objc/RTCFileLogger.mm",
]
}
}
}
source_set("gtest_prod") {
sources = [
"gtest_prod_util.h",

View File

@ -22,56 +22,6 @@
}],
],
}],
['OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7")', {
'targets': [
{
'target_name': 'rtc_base_objc',
'type': 'static_library',
'includes': [ '../build/objc_common.gypi' ],
'dependencies': [
'rtc_base',
],
'sources': [
'objc/NSString+StdString.h',
'objc/NSString+StdString.mm',
'objc/RTCDispatcher.h',
'objc/RTCDispatcher.m',
'objc/RTCFieldTrials.h',
'objc/RTCFieldTrials.mm',
'objc/RTCLogging.h',
'objc/RTCLogging.mm',
'objc/RTCMacros.h',
'objc/RTCSSLAdapter.h',
'objc/RTCSSLAdapter.mm',
'objc/RTCTracing.h',
'objc/RTCTracing.mm',
],
'conditions': [
['OS=="ios"', {
'sources': [
'objc/RTCCameraPreviewView.h',
'objc/RTCCameraPreviewView.m',
'objc/RTCUIApplication.h',
'objc/RTCUIApplication.mm',
],
'all_dependent_settings': {
'xcode_settings': {
'OTHER_LDFLAGS': [
'-framework AVFoundation',
],
},
},
}],
['build_with_chromium==0', {
'sources': [
'objc/RTCFileLogger.h',
'objc/RTCFileLogger.mm',
],
}],
],
}
],
}], # OS=="ios"
],
'targets': [
{

View File

@ -1 +0,0 @@
tkchin@webrtc.org

View File

@ -1,930 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
43C39B691CBC2C3E0017E317 /* RTCRtpEncodingParameters.mm in Sources */ = {isa = PBXBuildFile; fileRef = 43C39B661CBC2C3E0017E317 /* RTCRtpEncodingParameters.mm */; };
43C39B6A1CBC2C3F0017E317 /* RTCRtpParameters.mm in Sources */ = {isa = PBXBuildFile; fileRef = 43C39B671CBC2C3E0017E317 /* RTCRtpParameters.mm */; };
43C39B6B1CBC2C3F0017E317 /* RTCRtpSender.mm in Sources */ = {isa = PBXBuildFile; fileRef = 43C39B681CBC2C3E0017E317 /* RTCRtpSender.mm */; };
43C39E781CC060400017E317 /* libaudio_coding_module.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E361CC060400017E317 /* libaudio_coding_module.a */; };
43C39E791CC060400017E317 /* libaudio_conference_mixer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E371CC060400017E317 /* libaudio_conference_mixer.a */; };
43C39E7A1CC060400017E317 /* libaudio_decoder_interface.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E381CC060400017E317 /* libaudio_decoder_interface.a */; };
43C39E7B1CC060400017E317 /* libaudio_device.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E391CC060400017E317 /* libaudio_device.a */; };
43C39E7C1CC060400017E317 /* libaudio_encoder_interface.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E3A1CC060400017E317 /* libaudio_encoder_interface.a */; };
43C39E7D1CC060400017E317 /* libaudio_processing.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E3B1CC060400017E317 /* libaudio_processing.a */; };
43C39E7E1CC060400017E317 /* libaudioproc_debug_proto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E3C1CC060400017E317 /* libaudioproc_debug_proto.a */; };
43C39E7F1CC060400017E317 /* libbitrate_controller.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E3D1CC060400017E317 /* libbitrate_controller.a */; };
43C39E801CC060400017E317 /* libboringssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E3E1CC060400017E317 /* libboringssl.a */; };
43C39E811CC060400017E317 /* libcng.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E3F1CC060400017E317 /* libcng.a */; };
43C39E821CC060400017E317 /* libcommon_audio.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E401CC060400017E317 /* libcommon_audio.a */; };
43C39E831CC060400017E317 /* libcommon_video.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E411CC060400017E317 /* libcommon_video.a */; };
43C39E841CC060400017E317 /* libcongestion_controller.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E421CC060400017E317 /* libcongestion_controller.a */; };
43C39E851CC060400017E317 /* libexpat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E431CC060400017E317 /* libexpat.a */; };
43C39E861CC060400017E317 /* libfield_trial_default.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E441CC060400017E317 /* libfield_trial_default.a */; };
43C39E871CC060400017E317 /* libg711.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E451CC060400017E317 /* libg711.a */; };
43C39E881CC060400017E317 /* libg722.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E461CC060400017E317 /* libg722.a */; };
43C39E891CC060400017E317 /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E471CC060400017E317 /* libilbc.a */; };
43C39E8A1CC060400017E317 /* libisac_common.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E481CC060400017E317 /* libisac_common.a */; };
43C39E8B1CC060400017E317 /* libisac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E491CC060400017E317 /* libisac.a */; };
43C39E8C1CC060400017E317 /* libjingle_peerconnection.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E4A1CC060400017E317 /* libjingle_peerconnection.a */; };
43C39E8D1CC060400017E317 /* libjsoncpp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E4B1CC060400017E317 /* libjsoncpp.a */; };
43C39E8E1CC060400017E317 /* libmedia_file.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E4C1CC060400017E317 /* libmedia_file.a */; };
43C39E8F1CC060400017E317 /* libmetrics_default.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E4D1CC060400017E317 /* libmetrics_default.a */; };
43C39E901CC060400017E317 /* libneteq.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E4E1CC060400017E317 /* libneteq.a */; };
43C39E911CC060400017E317 /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E4F1CC060400017E317 /* libopus.a */; };
43C39E921CC060400017E317 /* libpaced_sender.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E501CC060400017E317 /* libpaced_sender.a */; };
43C39E931CC060400017E317 /* libpcm16b.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E511CC060400017E317 /* libpcm16b.a */; };
43C39E941CC060400017E317 /* libprotobuf_lite.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E521CC060400017E317 /* libprotobuf_lite.a */; };
43C39E951CC060400017E317 /* libred.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E531CC060400017E317 /* libred.a */; };
43C39E961CC060400017E317 /* libremote_bitrate_estimator.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E541CC060400017E317 /* libremote_bitrate_estimator.a */; };
43C39E971CC060400017E317 /* librent_a_codec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E551CC060400017E317 /* librent_a_codec.a */; };
43C39E991CC060400017E317 /* librtc_base_approved.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E571CC060400017E317 /* librtc_base_approved.a */; };
43C39E9B1CC060400017E317 /* librtc_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E591CC060400017E317 /* librtc_base.a */; };
43C39E9C1CC060400017E317 /* librtc_event_log_proto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E5A1CC060400017E317 /* librtc_event_log_proto.a */; };
43C39E9D1CC060400017E317 /* librtc_event_log.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E5B1CC060400017E317 /* librtc_event_log.a */; };
43C39E9E1CC060400017E317 /* librtc_media.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E5C1CC060400017E317 /* librtc_media.a */; };
43C39E9F1CC060400017E317 /* librtc_p2p.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E5D1CC060400017E317 /* librtc_p2p.a */; };
43C39EA01CC060400017E317 /* librtc_pc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E5E1CC060400017E317 /* librtc_pc.a */; };
43C39EA11CC060400017E317 /* librtc_xmllite.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E5F1CC060400017E317 /* librtc_xmllite.a */; };
43C39EA21CC060400017E317 /* librtc_xmpp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E601CC060400017E317 /* librtc_xmpp.a */; };
43C39EA31CC060400017E317 /* librtp_rtcp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E611CC060400017E317 /* librtp_rtcp.a */; };
43C39EA41CC060400017E317 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E621CC060400017E317 /* libsrtp.a */; };
43C39EA51CC060400017E317 /* libsystem_wrappers.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E631CC060400017E317 /* libsystem_wrappers.a */; };
43C39EA61CC060400017E317 /* libusrsctplib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E641CC060400017E317 /* libusrsctplib.a */; };
43C39EA71CC060400017E317 /* libvideo_capture_module_internal_impl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E651CC060400017E317 /* libvideo_capture_module_internal_impl.a */; };
43C39EA81CC060400017E317 /* libvideo_capture_module.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E661CC060400017E317 /* libvideo_capture_module.a */; };
43C39EA91CC060400017E317 /* libvideo_coding_utility.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E671CC060400017E317 /* libvideo_coding_utility.a */; };
43C39EAA1CC060400017E317 /* libvideo_processing.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E681CC060400017E317 /* libvideo_processing.a */; };
43C39EAB1CC060400017E317 /* libvideo_render_module_internal_impl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E691CC060400017E317 /* libvideo_render_module_internal_impl.a */; };
43C39EAC1CC060400017E317 /* libvideo_render_module.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E6A1CC060400017E317 /* libvideo_render_module.a */; };
43C39EAD1CC060400017E317 /* libvoice_engine.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E6B1CC060400017E317 /* libvoice_engine.a */; };
43C39EAE1CC060400017E317 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E6C1CC060400017E317 /* libvpx.a */; };
43C39EAF1CC060400017E317 /* libwebrtc_common.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E6D1CC060400017E317 /* libwebrtc_common.a */; };
43C39EB01CC060400017E317 /* libwebrtc_h264_video_toolbox.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E6E1CC060400017E317 /* libwebrtc_h264_video_toolbox.a */; };
43C39EB11CC060400017E317 /* libwebrtc_h264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E6F1CC060400017E317 /* libwebrtc_h264.a */; };
43C39EB21CC060400017E317 /* libwebrtc_i420.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E701CC060400017E317 /* libwebrtc_i420.a */; };
43C39EB31CC060400017E317 /* libwebrtc_opus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E711CC060400017E317 /* libwebrtc_opus.a */; };
43C39EB41CC060400017E317 /* libwebrtc_utility.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E721CC060400017E317 /* libwebrtc_utility.a */; };
43C39EB51CC060400017E317 /* libwebrtc_video_coding.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E731CC060400017E317 /* libwebrtc_video_coding.a */; };
43C39EB61CC060400017E317 /* libwebrtc_vp8.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E741CC060400017E317 /* libwebrtc_vp8.a */; };
43C39EB71CC060400017E317 /* libwebrtc_vp9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E751CC060400017E317 /* libwebrtc_vp9.a */; };
43C39EB81CC060400017E317 /* libwebrtc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E761CC060400017E317 /* libwebrtc.a */; };
43C39EB91CC060400017E317 /* libyuv.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 43C39E771CC060400017E317 /* libyuv.a */; };
43C39F031CC061020017E317 /* RTCAudioTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EE21CC061010017E317 /* RTCAudioTrack.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F041CC061020017E317 /* RTCAVFoundationVideoSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EE31CC061010017E317 /* RTCAVFoundationVideoSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F051CC061020017E317 /* RTCCameraPreviewView.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EE41CC061010017E317 /* RTCCameraPreviewView.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F061CC061020017E317 /* RTCConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EE51CC061010017E317 /* RTCConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F071CC061020017E317 /* RTCDataChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EE61CC061010017E317 /* RTCDataChannel.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F081CC061020017E317 /* RTCDataChannelConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EE71CC061010017E317 /* RTCDataChannelConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F091CC061020017E317 /* RTCDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EE81CC061010017E317 /* RTCDispatcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F0A1CC061020017E317 /* RTCEAGLVideoView.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EE91CC061010017E317 /* RTCEAGLVideoView.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F0B1CC061020017E317 /* RTCFieldTrials.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EEA1CC061010017E317 /* RTCFieldTrials.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F0C1CC061020017E317 /* RTCFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EEB1CC061010017E317 /* RTCFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F0D1CC061020017E317 /* RTCIceCandidate.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EEC1CC061010017E317 /* RTCIceCandidate.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F0E1CC061020017E317 /* RTCIceServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EED1CC061010017E317 /* RTCIceServer.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F0F1CC061020017E317 /* RTCLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EEE1CC061010017E317 /* RTCLogging.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F101CC061020017E317 /* RTCMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EEF1CC061010017E317 /* RTCMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F111CC061020017E317 /* RTCMediaConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF01CC061010017E317 /* RTCMediaConstraints.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F121CC061020017E317 /* RTCMediaStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF11CC061010017E317 /* RTCMediaStream.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F131CC061020017E317 /* RTCMediaStreamTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF21CC061010017E317 /* RTCMediaStreamTrack.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F141CC061020017E317 /* RTCOpenGLVideoRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF31CC061010017E317 /* RTCOpenGLVideoRenderer.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F151CC061020017E317 /* RTCPeerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF41CC061010017E317 /* RTCPeerConnection.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F161CC061020017E317 /* RTCPeerConnectionFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF51CC061010017E317 /* RTCPeerConnectionFactory.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F171CC061020017E317 /* RTCRtpEncodingParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF61CC061020017E317 /* RTCRtpEncodingParameters.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F181CC061020017E317 /* RTCRtpParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF71CC061020017E317 /* RTCRtpParameters.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F191CC061020017E317 /* RTCRtpSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF81CC061020017E317 /* RTCRtpSender.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F1A1CC061020017E317 /* RTCSessionDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EF91CC061020017E317 /* RTCSessionDescription.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F1B1CC061020017E317 /* RTCSSLAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EFA1CC061020017E317 /* RTCSSLAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F1C1CC061020017E317 /* RTCStatsReport.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EFB1CC061020017E317 /* RTCStatsReport.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F1D1CC061020017E317 /* RTCTracing.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EFC1CC061020017E317 /* RTCTracing.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F1E1CC061020017E317 /* RTCVideoFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EFD1CC061020017E317 /* RTCVideoFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F1F1CC061020017E317 /* RTCVideoRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EFE1CC061020017E317 /* RTCVideoRenderer.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F201CC061020017E317 /* RTCVideoSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39EFF1CC061020017E317 /* RTCVideoSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
43C39F211CC061020017E317 /* RTCVideoTrack.h in Headers */ = {isa = PBXBuildFile; fileRef = 43C39F001CC061020017E317 /* RTCVideoTrack.h */; settings = {ATTRIBUTES = (Public, ); }; };
9820AAC71C977D11001E5793 /* WebRTC.h in Headers */ = {isa = PBXBuildFile; fileRef = 9820AAC61C977D11001E5793 /* WebRTC.h */; settings = {ATTRIBUTES = (Public, ); }; };
982C13291C98B78000895DC2 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 982C13281C98B78000895DC2 /* AVFoundation.framework */; };
982C132B1C98B79700895DC2 /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 982C132A1C98B79700895DC2 /* VideoToolbox.framework */; };
982C132D1C98B7B400895DC2 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 982C132C1C98B7B400895DC2 /* CoreMedia.framework */; };
982C132F1C98B7C100895DC2 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 982C132E1C98B7C100895DC2 /* AudioToolbox.framework */; };
982C15181C99083B00895DC2 /* NSString+StdString.mm in Sources */ = {isa = PBXBuildFile; fileRef = 982C150F1C99083B00895DC2 /* NSString+StdString.mm */; };
982C15191C99083B00895DC2 /* RTCCameraPreviewView.m in Sources */ = {isa = PBXBuildFile; fileRef = 982C15101C99083B00895DC2 /* RTCCameraPreviewView.m */; };
982C151A1C99083B00895DC2 /* RTCDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 982C15111C99083B00895DC2 /* RTCDispatcher.m */; };
982C151B1C99083B00895DC2 /* RTCFieldTrials.mm in Sources */ = {isa = PBXBuildFile; fileRef = 982C15121C99083B00895DC2 /* RTCFieldTrials.mm */; };
982C151C1C99083B00895DC2 /* RTCFileLogger.mm in Sources */ = {isa = PBXBuildFile; fileRef = 982C15131C99083B00895DC2 /* RTCFileLogger.mm */; };
982C151D1C99083B00895DC2 /* RTCLogging.mm in Sources */ = {isa = PBXBuildFile; fileRef = 982C15141C99083B00895DC2 /* RTCLogging.mm */; };
982C151E1C99083B00895DC2 /* RTCSSLAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 982C15151C99083B00895DC2 /* RTCSSLAdapter.mm */; };
982C151F1C99083B00895DC2 /* RTCTracing.mm in Sources */ = {isa = PBXBuildFile; fileRef = 982C15161C99083B00895DC2 /* RTCTracing.mm */; };
982C15201C99083B00895DC2 /* RTCUIApplication.mm in Sources */ = {isa = PBXBuildFile; fileRef = 982C15171C99083B00895DC2 /* RTCUIApplication.mm */; };
986649D21C986B7D008EC831 /* avfoundationvideocapturer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649BA1C986B7D008EC831 /* avfoundationvideocapturer.mm */; };
986649D31C986B7D008EC831 /* RTCAudioTrack.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649BB1C986B7D008EC831 /* RTCAudioTrack.mm */; };
986649D41C986B7D008EC831 /* RTCAVFoundationVideoSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649BC1C986B7D008EC831 /* RTCAVFoundationVideoSource.mm */; };
986649D51C986B7D008EC831 /* RTCConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649BD1C986B7D008EC831 /* RTCConfiguration.mm */; };
986649D61C986B7D008EC831 /* RTCDataChannel.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649BE1C986B7D008EC831 /* RTCDataChannel.mm */; };
986649D71C986B7D008EC831 /* RTCDataChannelConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649BF1C986B7D008EC831 /* RTCDataChannelConfiguration.mm */; };
986649D81C986B7D008EC831 /* RTCEAGLVideoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 986649C01C986B7D008EC831 /* RTCEAGLVideoView.m */; };
986649D91C986B7D008EC831 /* RTCIceCandidate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649C11C986B7D008EC831 /* RTCIceCandidate.mm */; };
986649DA1C986B7D008EC831 /* RTCIceServer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649C21C986B7D008EC831 /* RTCIceServer.mm */; };
986649DB1C986B7D008EC831 /* RTCMediaConstraints.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649C31C986B7D008EC831 /* RTCMediaConstraints.mm */; };
986649DC1C986B7D008EC831 /* RTCMediaStream.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649C41C986B7D008EC831 /* RTCMediaStream.mm */; };
986649DD1C986B7D008EC831 /* RTCMediaStreamTrack.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649C51C986B7D008EC831 /* RTCMediaStreamTrack.mm */; };
986649DF1C986B7D008EC831 /* RTCOpenGLVideoRenderer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649C71C986B7D008EC831 /* RTCOpenGLVideoRenderer.mm */; };
986649E01C986B7D008EC831 /* RTCPeerConnection.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649C81C986B7D008EC831 /* RTCPeerConnection.mm */; };
986649E11C986B7D008EC831 /* RTCPeerConnection+DataChannel.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649C91C986B7D008EC831 /* RTCPeerConnection+DataChannel.mm */; };
986649E21C986B7D008EC831 /* RTCPeerConnection+Stats.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649CA1C986B7D008EC831 /* RTCPeerConnection+Stats.mm */; };
986649E31C986B7D008EC831 /* RTCPeerConnectionFactory.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649CB1C986B7D008EC831 /* RTCPeerConnectionFactory.mm */; };
986649E41C986B7D008EC831 /* RTCSessionDescription.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649CC1C986B7D008EC831 /* RTCSessionDescription.mm */; };
986649E51C986B7D008EC831 /* RTCStatsReport.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649CD1C986B7D008EC831 /* RTCStatsReport.mm */; };
986649E61C986B7D008EC831 /* RTCVideoFrame.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649CE1C986B7D008EC831 /* RTCVideoFrame.mm */; };
986649E71C986B7D008EC831 /* RTCVideoRendererAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649CF1C986B7D008EC831 /* RTCVideoRendererAdapter.mm */; };
986649E81C986B7D008EC831 /* RTCVideoSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649D01C986B7D008EC831 /* RTCVideoSource.mm */; };
986649E91C986B7D008EC831 /* RTCVideoTrack.mm in Sources */ = {isa = PBXBuildFile; fileRef = 986649D11C986B7D008EC831 /* RTCVideoTrack.mm */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
43C39B661CBC2C3E0017E317 /* RTCRtpEncodingParameters.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCRtpEncodingParameters.mm; path = ../../../../api/objc/RTCRtpEncodingParameters.mm; sourceTree = "<group>"; };
43C39B671CBC2C3E0017E317 /* RTCRtpParameters.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCRtpParameters.mm; path = ../../../../api/objc/RTCRtpParameters.mm; sourceTree = "<group>"; };
43C39B681CBC2C3E0017E317 /* RTCRtpSender.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCRtpSender.mm; path = ../../../../api/objc/RTCRtpSender.mm; sourceTree = "<group>"; };
43C39E361CC060400017E317 /* libaudio_coding_module.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libaudio_coding_module.a; path = ../../../../../out_ios_libs/fat_libs/libaudio_coding_module.a; sourceTree = "<group>"; };
43C39E371CC060400017E317 /* libaudio_conference_mixer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libaudio_conference_mixer.a; path = ../../../../../out_ios_libs/fat_libs/libaudio_conference_mixer.a; sourceTree = "<group>"; };
43C39E381CC060400017E317 /* libaudio_decoder_interface.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libaudio_decoder_interface.a; path = ../../../../../out_ios_libs/fat_libs/libaudio_decoder_interface.a; sourceTree = "<group>"; };
43C39E391CC060400017E317 /* libaudio_device.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libaudio_device.a; path = ../../../../../out_ios_libs/fat_libs/libaudio_device.a; sourceTree = "<group>"; };
43C39E3A1CC060400017E317 /* libaudio_encoder_interface.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libaudio_encoder_interface.a; path = ../../../../../out_ios_libs/fat_libs/libaudio_encoder_interface.a; sourceTree = "<group>"; };
43C39E3B1CC060400017E317 /* libaudio_processing.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libaudio_processing.a; path = ../../../../../out_ios_libs/fat_libs/libaudio_processing.a; sourceTree = "<group>"; };
43C39E3C1CC060400017E317 /* libaudioproc_debug_proto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libaudioproc_debug_proto.a; path = ../../../../../out_ios_libs/fat_libs/libaudioproc_debug_proto.a; sourceTree = "<group>"; };
43C39E3D1CC060400017E317 /* libbitrate_controller.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbitrate_controller.a; path = ../../../../../out_ios_libs/fat_libs/libbitrate_controller.a; sourceTree = "<group>"; };
43C39E3E1CC060400017E317 /* libboringssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libboringssl.a; path = ../../../../../out_ios_libs/fat_libs/libboringssl.a; sourceTree = "<group>"; };
43C39E3F1CC060400017E317 /* libcng.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcng.a; path = ../../../../../out_ios_libs/fat_libs/libcng.a; sourceTree = "<group>"; };
43C39E401CC060400017E317 /* libcommon_audio.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcommon_audio.a; path = ../../../../../out_ios_libs/fat_libs/libcommon_audio.a; sourceTree = "<group>"; };
43C39E411CC060400017E317 /* libcommon_video.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcommon_video.a; path = ../../../../../out_ios_libs/fat_libs/libcommon_video.a; sourceTree = "<group>"; };
43C39E421CC060400017E317 /* libcongestion_controller.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcongestion_controller.a; path = ../../../../../out_ios_libs/fat_libs/libcongestion_controller.a; sourceTree = "<group>"; };
43C39E431CC060400017E317 /* libexpat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libexpat.a; path = ../../../../../out_ios_libs/fat_libs/libexpat.a; sourceTree = "<group>"; };
43C39E441CC060400017E317 /* libfield_trial_default.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfield_trial_default.a; path = ../../../../../out_ios_libs/fat_libs/libfield_trial_default.a; sourceTree = "<group>"; };
43C39E451CC060400017E317 /* libg711.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libg711.a; path = ../../../../../out_ios_libs/fat_libs/libg711.a; sourceTree = "<group>"; };
43C39E461CC060400017E317 /* libg722.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libg722.a; path = ../../../../../out_ios_libs/fat_libs/libg722.a; sourceTree = "<group>"; };
43C39E471CC060400017E317 /* libilbc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libilbc.a; path = ../../../../../out_ios_libs/fat_libs/libilbc.a; sourceTree = "<group>"; };
43C39E481CC060400017E317 /* libisac_common.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libisac_common.a; path = ../../../../../out_ios_libs/fat_libs/libisac_common.a; sourceTree = "<group>"; };
43C39E491CC060400017E317 /* libisac.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libisac.a; path = ../../../../../out_ios_libs/fat_libs/libisac.a; sourceTree = "<group>"; };
43C39E4A1CC060400017E317 /* libjingle_peerconnection.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libjingle_peerconnection.a; path = ../../../../../out_ios_libs/fat_libs/libjingle_peerconnection.a; sourceTree = "<group>"; };
43C39E4B1CC060400017E317 /* libjsoncpp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libjsoncpp.a; path = ../../../../../out_ios_libs/fat_libs/libjsoncpp.a; sourceTree = "<group>"; };
43C39E4C1CC060400017E317 /* libmedia_file.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmedia_file.a; path = ../../../../../out_ios_libs/fat_libs/libmedia_file.a; sourceTree = "<group>"; };
43C39E4D1CC060400017E317 /* libmetrics_default.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmetrics_default.a; path = ../../../../../out_ios_libs/fat_libs/libmetrics_default.a; sourceTree = "<group>"; };
43C39E4E1CC060400017E317 /* libneteq.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libneteq.a; path = ../../../../../out_ios_libs/fat_libs/libneteq.a; sourceTree = "<group>"; };
43C39E4F1CC060400017E317 /* libopus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopus.a; path = ../../../../../out_ios_libs/fat_libs/libopus.a; sourceTree = "<group>"; };
43C39E501CC060400017E317 /* libpaced_sender.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpaced_sender.a; path = ../../../../../out_ios_libs/fat_libs/libpaced_sender.a; sourceTree = "<group>"; };
43C39E511CC060400017E317 /* libpcm16b.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libpcm16b.a; path = ../../../../../out_ios_libs/fat_libs/libpcm16b.a; sourceTree = "<group>"; };
43C39E521CC060400017E317 /* libprotobuf_lite.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libprotobuf_lite.a; path = ../../../../../out_ios_libs/fat_libs/libprotobuf_lite.a; sourceTree = "<group>"; };
43C39E531CC060400017E317 /* libred.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libred.a; path = ../../../../../out_ios_libs/fat_libs/libred.a; sourceTree = "<group>"; };
43C39E541CC060400017E317 /* libremote_bitrate_estimator.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libremote_bitrate_estimator.a; path = ../../../../../out_ios_libs/fat_libs/libremote_bitrate_estimator.a; sourceTree = "<group>"; };
43C39E551CC060400017E317 /* librent_a_codec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librent_a_codec.a; path = ../../../../../out_ios_libs/fat_libs/librent_a_codec.a; sourceTree = "<group>"; };
43C39E571CC060400017E317 /* librtc_base_approved.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtc_base_approved.a; path = ../../../../../out_ios_libs/fat_libs/librtc_base_approved.a; sourceTree = "<group>"; };
43C39E591CC060400017E317 /* librtc_base.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtc_base.a; path = ../../../../../out_ios_libs/fat_libs/librtc_base.a; sourceTree = "<group>"; };
43C39E5A1CC060400017E317 /* librtc_event_log_proto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtc_event_log_proto.a; path = ../../../../../out_ios_libs/fat_libs/librtc_event_log_proto.a; sourceTree = "<group>"; };
43C39E5B1CC060400017E317 /* librtc_event_log.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtc_event_log.a; path = ../../../../../out_ios_libs/fat_libs/librtc_event_log.a; sourceTree = "<group>"; };
43C39E5C1CC060400017E317 /* librtc_media.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtc_media.a; path = ../../../../../out_ios_libs/fat_libs/librtc_media.a; sourceTree = "<group>"; };
43C39E5D1CC060400017E317 /* librtc_p2p.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtc_p2p.a; path = ../../../../../out_ios_libs/fat_libs/librtc_p2p.a; sourceTree = "<group>"; };
43C39E5E1CC060400017E317 /* librtc_pc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtc_pc.a; path = ../../../../../out_ios_libs/fat_libs/librtc_pc.a; sourceTree = "<group>"; };
43C39E5F1CC060400017E317 /* librtc_xmllite.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtc_xmllite.a; path = ../../../../../out_ios_libs/fat_libs/librtc_xmllite.a; sourceTree = "<group>"; };
43C39E601CC060400017E317 /* librtc_xmpp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtc_xmpp.a; path = ../../../../../out_ios_libs/fat_libs/librtc_xmpp.a; sourceTree = "<group>"; };
43C39E611CC060400017E317 /* librtp_rtcp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librtp_rtcp.a; path = ../../../../../out_ios_libs/fat_libs/librtp_rtcp.a; sourceTree = "<group>"; };
43C39E621CC060400017E317 /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = ../../../../../out_ios_libs/fat_libs/libsrtp.a; sourceTree = "<group>"; };
43C39E631CC060400017E317 /* libsystem_wrappers.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsystem_wrappers.a; path = ../../../../../out_ios_libs/fat_libs/libsystem_wrappers.a; sourceTree = "<group>"; };
43C39E641CC060400017E317 /* libusrsctplib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libusrsctplib.a; path = ../../../../../out_ios_libs/fat_libs/libusrsctplib.a; sourceTree = "<group>"; };
43C39E651CC060400017E317 /* libvideo_capture_module_internal_impl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvideo_capture_module_internal_impl.a; path = ../../../../../out_ios_libs/fat_libs/libvideo_capture_module_internal_impl.a; sourceTree = "<group>"; };
43C39E661CC060400017E317 /* libvideo_capture_module.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvideo_capture_module.a; path = ../../../../../out_ios_libs/fat_libs/libvideo_capture_module.a; sourceTree = "<group>"; };
43C39E671CC060400017E317 /* libvideo_coding_utility.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvideo_coding_utility.a; path = ../../../../../out_ios_libs/fat_libs/libvideo_coding_utility.a; sourceTree = "<group>"; };
43C39E681CC060400017E317 /* libvideo_processing.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvideo_processing.a; path = ../../../../../out_ios_libs/fat_libs/libvideo_processing.a; sourceTree = "<group>"; };
43C39E691CC060400017E317 /* libvideo_render_module_internal_impl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvideo_render_module_internal_impl.a; path = ../../../../../out_ios_libs/fat_libs/libvideo_render_module_internal_impl.a; sourceTree = "<group>"; };
43C39E6A1CC060400017E317 /* libvideo_render_module.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvideo_render_module.a; path = ../../../../../out_ios_libs/fat_libs/libvideo_render_module.a; sourceTree = "<group>"; };
43C39E6B1CC060400017E317 /* libvoice_engine.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvoice_engine.a; path = ../../../../../out_ios_libs/fat_libs/libvoice_engine.a; sourceTree = "<group>"; };
43C39E6C1CC060400017E317 /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = ../../../../../out_ios_libs/fat_libs/libvpx.a; sourceTree = "<group>"; };
43C39E6D1CC060400017E317 /* libwebrtc_common.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc_common.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc_common.a; sourceTree = "<group>"; };
43C39E6E1CC060400017E317 /* libwebrtc_h264_video_toolbox.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc_h264_video_toolbox.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc_h264_video_toolbox.a; sourceTree = "<group>"; };
43C39E6F1CC060400017E317 /* libwebrtc_h264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc_h264.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc_h264.a; sourceTree = "<group>"; };
43C39E701CC060400017E317 /* libwebrtc_i420.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc_i420.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc_i420.a; sourceTree = "<group>"; };
43C39E711CC060400017E317 /* libwebrtc_opus.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc_opus.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc_opus.a; sourceTree = "<group>"; };
43C39E721CC060400017E317 /* libwebrtc_utility.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc_utility.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc_utility.a; sourceTree = "<group>"; };
43C39E731CC060400017E317 /* libwebrtc_video_coding.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc_video_coding.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc_video_coding.a; sourceTree = "<group>"; };
43C39E741CC060400017E317 /* libwebrtc_vp8.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc_vp8.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc_vp8.a; sourceTree = "<group>"; };
43C39E751CC060400017E317 /* libwebrtc_vp9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc_vp9.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc_vp9.a; sourceTree = "<group>"; };
43C39E761CC060400017E317 /* libwebrtc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwebrtc.a; path = ../../../../../out_ios_libs/fat_libs/libwebrtc.a; sourceTree = "<group>"; };
43C39E771CC060400017E317 /* libyuv.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libyuv.a; path = ../../../../../out_ios_libs/fat_libs/libyuv.a; sourceTree = "<group>"; };
43C39EE21CC061010017E317 /* RTCAudioTrack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCAudioTrack.h; sourceTree = "<group>"; };
43C39EE31CC061010017E317 /* RTCAVFoundationVideoSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCAVFoundationVideoSource.h; sourceTree = "<group>"; };
43C39EE41CC061010017E317 /* RTCCameraPreviewView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCCameraPreviewView.h; sourceTree = "<group>"; };
43C39EE51CC061010017E317 /* RTCConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCConfiguration.h; sourceTree = "<group>"; };
43C39EE61CC061010017E317 /* RTCDataChannel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCDataChannel.h; sourceTree = "<group>"; };
43C39EE71CC061010017E317 /* RTCDataChannelConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCDataChannelConfiguration.h; sourceTree = "<group>"; };
43C39EE81CC061010017E317 /* RTCDispatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCDispatcher.h; sourceTree = "<group>"; };
43C39EE91CC061010017E317 /* RTCEAGLVideoView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCEAGLVideoView.h; sourceTree = "<group>"; };
43C39EEA1CC061010017E317 /* RTCFieldTrials.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCFieldTrials.h; sourceTree = "<group>"; };
43C39EEB1CC061010017E317 /* RTCFileLogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCFileLogger.h; sourceTree = "<group>"; };
43C39EEC1CC061010017E317 /* RTCIceCandidate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCIceCandidate.h; sourceTree = "<group>"; };
43C39EED1CC061010017E317 /* RTCIceServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCIceServer.h; sourceTree = "<group>"; };
43C39EEE1CC061010017E317 /* RTCLogging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCLogging.h; sourceTree = "<group>"; };
43C39EEF1CC061010017E317 /* RTCMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCMacros.h; sourceTree = "<group>"; };
43C39EF01CC061010017E317 /* RTCMediaConstraints.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCMediaConstraints.h; sourceTree = "<group>"; };
43C39EF11CC061010017E317 /* RTCMediaStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCMediaStream.h; sourceTree = "<group>"; };
43C39EF21CC061010017E317 /* RTCMediaStreamTrack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCMediaStreamTrack.h; sourceTree = "<group>"; };
43C39EF31CC061010017E317 /* RTCOpenGLVideoRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCOpenGLVideoRenderer.h; sourceTree = "<group>"; };
43C39EF41CC061010017E317 /* RTCPeerConnection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCPeerConnection.h; sourceTree = "<group>"; };
43C39EF51CC061010017E317 /* RTCPeerConnectionFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCPeerConnectionFactory.h; sourceTree = "<group>"; };
43C39EF61CC061020017E317 /* RTCRtpEncodingParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCRtpEncodingParameters.h; sourceTree = "<group>"; };
43C39EF71CC061020017E317 /* RTCRtpParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCRtpParameters.h; sourceTree = "<group>"; };
43C39EF81CC061020017E317 /* RTCRtpSender.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCRtpSender.h; sourceTree = "<group>"; };
43C39EF91CC061020017E317 /* RTCSessionDescription.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCSessionDescription.h; sourceTree = "<group>"; };
43C39EFA1CC061020017E317 /* RTCSSLAdapter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCSSLAdapter.h; sourceTree = "<group>"; };
43C39EFB1CC061020017E317 /* RTCStatsReport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCStatsReport.h; sourceTree = "<group>"; };
43C39EFC1CC061020017E317 /* RTCTracing.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCTracing.h; sourceTree = "<group>"; };
43C39EFD1CC061020017E317 /* RTCVideoFrame.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCVideoFrame.h; sourceTree = "<group>"; };
43C39EFE1CC061020017E317 /* RTCVideoRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCVideoRenderer.h; sourceTree = "<group>"; };
43C39EFF1CC061020017E317 /* RTCVideoSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCVideoSource.h; sourceTree = "<group>"; };
43C39F001CC061020017E317 /* RTCVideoTrack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RTCVideoTrack.h; sourceTree = "<group>"; };
9820AAC31C977D11001E5793 /* WebRTC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WebRTC.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9820AAC61C977D11001E5793 /* WebRTC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebRTC.h; sourceTree = "<group>"; };
9820AAC81C977D11001E5793 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
982C13281C98B78000895DC2 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
982C132A1C98B79700895DC2 /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = System/Library/Frameworks/VideoToolbox.framework; sourceTree = SDKROOT; };
982C132C1C98B7B400895DC2 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
982C132E1C98B7C100895DC2 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
982C150F1C99083B00895DC2 /* NSString+StdString.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "NSString+StdString.mm"; path = "../../../../base/objc/NSString+StdString.mm"; sourceTree = "<group>"; };
982C15101C99083B00895DC2 /* RTCCameraPreviewView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RTCCameraPreviewView.m; path = ../../../../base/objc/RTCCameraPreviewView.m; sourceTree = "<group>"; };
982C15111C99083B00895DC2 /* RTCDispatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RTCDispatcher.m; path = ../../../../base/objc/RTCDispatcher.m; sourceTree = "<group>"; };
982C15121C99083B00895DC2 /* RTCFieldTrials.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCFieldTrials.mm; path = ../../../../base/objc/RTCFieldTrials.mm; sourceTree = "<group>"; };
982C15131C99083B00895DC2 /* RTCFileLogger.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCFileLogger.mm; path = ../../../../base/objc/RTCFileLogger.mm; sourceTree = "<group>"; };
982C15141C99083B00895DC2 /* RTCLogging.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCLogging.mm; path = ../../../../base/objc/RTCLogging.mm; sourceTree = "<group>"; };
982C15151C99083B00895DC2 /* RTCSSLAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCSSLAdapter.mm; path = ../../../../base/objc/RTCSSLAdapter.mm; sourceTree = "<group>"; };
982C15161C99083B00895DC2 /* RTCTracing.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCTracing.mm; path = ../../../../base/objc/RTCTracing.mm; sourceTree = "<group>"; };
982C15171C99083B00895DC2 /* RTCUIApplication.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCUIApplication.mm; path = ../../../../base/objc/RTCUIApplication.mm; sourceTree = "<group>"; };
986649BA1C986B7D008EC831 /* avfoundationvideocapturer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = avfoundationvideocapturer.mm; path = ../../../../api/objc/avfoundationvideocapturer.mm; sourceTree = "<group>"; };
986649BB1C986B7D008EC831 /* RTCAudioTrack.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCAudioTrack.mm; path = ../../../../api/objc/RTCAudioTrack.mm; sourceTree = "<group>"; };
986649BC1C986B7D008EC831 /* RTCAVFoundationVideoSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCAVFoundationVideoSource.mm; path = ../../../../api/objc/RTCAVFoundationVideoSource.mm; sourceTree = "<group>"; };
986649BD1C986B7D008EC831 /* RTCConfiguration.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCConfiguration.mm; path = ../../../../api/objc/RTCConfiguration.mm; sourceTree = "<group>"; };
986649BE1C986B7D008EC831 /* RTCDataChannel.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCDataChannel.mm; path = ../../../../api/objc/RTCDataChannel.mm; sourceTree = "<group>"; };
986649BF1C986B7D008EC831 /* RTCDataChannelConfiguration.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCDataChannelConfiguration.mm; path = ../../../../api/objc/RTCDataChannelConfiguration.mm; sourceTree = "<group>"; };
986649C01C986B7D008EC831 /* RTCEAGLVideoView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RTCEAGLVideoView.m; path = ../../../../api/objc/RTCEAGLVideoView.m; sourceTree = "<group>"; };
986649C11C986B7D008EC831 /* RTCIceCandidate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCIceCandidate.mm; path = ../../../../api/objc/RTCIceCandidate.mm; sourceTree = "<group>"; };
986649C21C986B7D008EC831 /* RTCIceServer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCIceServer.mm; path = ../../../../api/objc/RTCIceServer.mm; sourceTree = "<group>"; };
986649C31C986B7D008EC831 /* RTCMediaConstraints.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCMediaConstraints.mm; path = ../../../../api/objc/RTCMediaConstraints.mm; sourceTree = "<group>"; };
986649C41C986B7D008EC831 /* RTCMediaStream.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCMediaStream.mm; path = ../../../../api/objc/RTCMediaStream.mm; sourceTree = "<group>"; };
986649C51C986B7D008EC831 /* RTCMediaStreamTrack.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCMediaStreamTrack.mm; path = ../../../../api/objc/RTCMediaStreamTrack.mm; sourceTree = "<group>"; };
986649C71C986B7D008EC831 /* RTCOpenGLVideoRenderer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCOpenGLVideoRenderer.mm; path = ../../../../api/objc/RTCOpenGLVideoRenderer.mm; sourceTree = "<group>"; };
986649C81C986B7D008EC831 /* RTCPeerConnection.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCPeerConnection.mm; path = ../../../../api/objc/RTCPeerConnection.mm; sourceTree = "<group>"; };
986649C91C986B7D008EC831 /* RTCPeerConnection+DataChannel.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "RTCPeerConnection+DataChannel.mm"; path = "../../../../api/objc/RTCPeerConnection+DataChannel.mm"; sourceTree = "<group>"; };
986649CA1C986B7D008EC831 /* RTCPeerConnection+Stats.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "RTCPeerConnection+Stats.mm"; path = "../../../../api/objc/RTCPeerConnection+Stats.mm"; sourceTree = "<group>"; };
986649CB1C986B7D008EC831 /* RTCPeerConnectionFactory.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCPeerConnectionFactory.mm; path = ../../../../api/objc/RTCPeerConnectionFactory.mm; sourceTree = "<group>"; };
986649CC1C986B7D008EC831 /* RTCSessionDescription.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCSessionDescription.mm; path = ../../../../api/objc/RTCSessionDescription.mm; sourceTree = "<group>"; };
986649CD1C986B7D008EC831 /* RTCStatsReport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCStatsReport.mm; path = ../../../../api/objc/RTCStatsReport.mm; sourceTree = "<group>"; };
986649CE1C986B7D008EC831 /* RTCVideoFrame.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCVideoFrame.mm; path = ../../../../api/objc/RTCVideoFrame.mm; sourceTree = "<group>"; };
986649CF1C986B7D008EC831 /* RTCVideoRendererAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCVideoRendererAdapter.mm; path = ../../../../api/objc/RTCVideoRendererAdapter.mm; sourceTree = "<group>"; };
986649D01C986B7D008EC831 /* RTCVideoSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCVideoSource.mm; path = ../../../../api/objc/RTCVideoSource.mm; sourceTree = "<group>"; };
986649D11C986B7D008EC831 /* RTCVideoTrack.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RTCVideoTrack.mm; path = ../../../../api/objc/RTCVideoTrack.mm; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
9820AABF1C977D11001E5793 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
43C39E781CC060400017E317 /* libaudio_coding_module.a in Frameworks */,
43C39E791CC060400017E317 /* libaudio_conference_mixer.a in Frameworks */,
43C39E7A1CC060400017E317 /* libaudio_decoder_interface.a in Frameworks */,
43C39E7B1CC060400017E317 /* libaudio_device.a in Frameworks */,
43C39E7C1CC060400017E317 /* libaudio_encoder_interface.a in Frameworks */,
43C39E7D1CC060400017E317 /* libaudio_processing.a in Frameworks */,
43C39E7E1CC060400017E317 /* libaudioproc_debug_proto.a in Frameworks */,
43C39E7F1CC060400017E317 /* libbitrate_controller.a in Frameworks */,
43C39E801CC060400017E317 /* libboringssl.a in Frameworks */,
43C39E811CC060400017E317 /* libcng.a in Frameworks */,
43C39E821CC060400017E317 /* libcommon_audio.a in Frameworks */,
43C39E831CC060400017E317 /* libcommon_video.a in Frameworks */,
43C39E841CC060400017E317 /* libcongestion_controller.a in Frameworks */,
43C39E851CC060400017E317 /* libexpat.a in Frameworks */,
43C39E861CC060400017E317 /* libfield_trial_default.a in Frameworks */,
43C39E871CC060400017E317 /* libg711.a in Frameworks */,
43C39E881CC060400017E317 /* libg722.a in Frameworks */,
43C39E891CC060400017E317 /* libilbc.a in Frameworks */,
43C39E8A1CC060400017E317 /* libisac_common.a in Frameworks */,
43C39E8B1CC060400017E317 /* libisac.a in Frameworks */,
43C39E8C1CC060400017E317 /* libjingle_peerconnection.a in Frameworks */,
43C39E8D1CC060400017E317 /* libjsoncpp.a in Frameworks */,
43C39E8E1CC060400017E317 /* libmedia_file.a in Frameworks */,
43C39E8F1CC060400017E317 /* libmetrics_default.a in Frameworks */,
43C39E901CC060400017E317 /* libneteq.a in Frameworks */,
43C39E911CC060400017E317 /* libopus.a in Frameworks */,
43C39E921CC060400017E317 /* libpaced_sender.a in Frameworks */,
43C39E931CC060400017E317 /* libpcm16b.a in Frameworks */,
43C39E941CC060400017E317 /* libprotobuf_lite.a in Frameworks */,
43C39E951CC060400017E317 /* libred.a in Frameworks */,
43C39E961CC060400017E317 /* libremote_bitrate_estimator.a in Frameworks */,
43C39E971CC060400017E317 /* librent_a_codec.a in Frameworks */,
43C39E991CC060400017E317 /* librtc_base_approved.a in Frameworks */,
43C39E9B1CC060400017E317 /* librtc_base.a in Frameworks */,
43C39E9C1CC060400017E317 /* librtc_event_log_proto.a in Frameworks */,
43C39E9D1CC060400017E317 /* librtc_event_log.a in Frameworks */,
43C39E9E1CC060400017E317 /* librtc_media.a in Frameworks */,
43C39E9F1CC060400017E317 /* librtc_p2p.a in Frameworks */,
43C39EA01CC060400017E317 /* librtc_pc.a in Frameworks */,
43C39EA11CC060400017E317 /* librtc_xmllite.a in Frameworks */,
43C39EA21CC060400017E317 /* librtc_xmpp.a in Frameworks */,
43C39EA31CC060400017E317 /* librtp_rtcp.a in Frameworks */,
43C39EA41CC060400017E317 /* libsrtp.a in Frameworks */,
43C39EA51CC060400017E317 /* libsystem_wrappers.a in Frameworks */,
43C39EA61CC060400017E317 /* libusrsctplib.a in Frameworks */,
43C39EA71CC060400017E317 /* libvideo_capture_module_internal_impl.a in Frameworks */,
43C39EA81CC060400017E317 /* libvideo_capture_module.a in Frameworks */,
43C39EA91CC060400017E317 /* libvideo_coding_utility.a in Frameworks */,
43C39EAA1CC060400017E317 /* libvideo_processing.a in Frameworks */,
43C39EAB1CC060400017E317 /* libvideo_render_module_internal_impl.a in Frameworks */,
43C39EAC1CC060400017E317 /* libvideo_render_module.a in Frameworks */,
43C39EAD1CC060400017E317 /* libvoice_engine.a in Frameworks */,
43C39EAE1CC060400017E317 /* libvpx.a in Frameworks */,
43C39EAF1CC060400017E317 /* libwebrtc_common.a in Frameworks */,
43C39EB01CC060400017E317 /* libwebrtc_h264_video_toolbox.a in Frameworks */,
43C39EB11CC060400017E317 /* libwebrtc_h264.a in Frameworks */,
43C39EB21CC060400017E317 /* libwebrtc_i420.a in Frameworks */,
43C39EB31CC060400017E317 /* libwebrtc_opus.a in Frameworks */,
43C39EB41CC060400017E317 /* libwebrtc_utility.a in Frameworks */,
43C39EB51CC060400017E317 /* libwebrtc_video_coding.a in Frameworks */,
43C39EB61CC060400017E317 /* libwebrtc_vp8.a in Frameworks */,
43C39EB71CC060400017E317 /* libwebrtc_vp9.a in Frameworks */,
43C39EB81CC060400017E317 /* libwebrtc.a in Frameworks */,
43C39EB91CC060400017E317 /* libyuv.a in Frameworks */,
982C132F1C98B7C100895DC2 /* AudioToolbox.framework in Frameworks */,
982C132D1C98B7B400895DC2 /* CoreMedia.framework in Frameworks */,
982C132B1C98B79700895DC2 /* VideoToolbox.framework in Frameworks */,
982C13291C98B78000895DC2 /* AVFoundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
9820AAB91C977D11001E5793 = {
isa = PBXGroup;
children = (
9845CE7D1CA1AE1D00BFE57C /* include */,
986649A51C986B19008EC831 /* API */,
982C150E1C99080E00895DC2 /* Base */,
982C13301C98BAAE00895DC2 /* Frameworks */,
9866491E1C985706008EC831 /* Static Libraries */,
9820AAC51C977D11001E5793 /* WebRTC */,
9820AAC41C977D11001E5793 /* Products */,
);
sourceTree = "<group>";
};
9820AAC41C977D11001E5793 /* Products */ = {
isa = PBXGroup;
children = (
9820AAC31C977D11001E5793 /* WebRTC.framework */,
);
name = Products;
sourceTree = "<group>";
};
9820AAC51C977D11001E5793 /* WebRTC */ = {
isa = PBXGroup;
children = (
9820AAC61C977D11001E5793 /* WebRTC.h */,
9820AAC81C977D11001E5793 /* Info.plist */,
);
path = WebRTC;
sourceTree = "<group>";
};
982C13301C98BAAE00895DC2 /* Frameworks */ = {
isa = PBXGroup;
children = (
982C132E1C98B7C100895DC2 /* AudioToolbox.framework */,
982C132C1C98B7B400895DC2 /* CoreMedia.framework */,
982C132A1C98B79700895DC2 /* VideoToolbox.framework */,
982C13281C98B78000895DC2 /* AVFoundation.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
982C150E1C99080E00895DC2 /* Base */ = {
isa = PBXGroup;
children = (
982C150F1C99083B00895DC2 /* NSString+StdString.mm */,
982C15101C99083B00895DC2 /* RTCCameraPreviewView.m */,
982C15111C99083B00895DC2 /* RTCDispatcher.m */,
982C15121C99083B00895DC2 /* RTCFieldTrials.mm */,
982C15131C99083B00895DC2 /* RTCFileLogger.mm */,
982C15141C99083B00895DC2 /* RTCLogging.mm */,
982C15151C99083B00895DC2 /* RTCSSLAdapter.mm */,
982C15161C99083B00895DC2 /* RTCTracing.mm */,
982C15171C99083B00895DC2 /* RTCUIApplication.mm */,
);
name = Base;
sourceTree = "<group>";
};
9845CE7D1CA1AE1D00BFE57C /* include */ = {
isa = PBXGroup;
children = (
43C39EE21CC061010017E317 /* RTCAudioTrack.h */,
43C39EE31CC061010017E317 /* RTCAVFoundationVideoSource.h */,
43C39EE41CC061010017E317 /* RTCCameraPreviewView.h */,
43C39EE51CC061010017E317 /* RTCConfiguration.h */,
43C39EE61CC061010017E317 /* RTCDataChannel.h */,
43C39EE71CC061010017E317 /* RTCDataChannelConfiguration.h */,
43C39EE81CC061010017E317 /* RTCDispatcher.h */,
43C39EE91CC061010017E317 /* RTCEAGLVideoView.h */,
43C39EEA1CC061010017E317 /* RTCFieldTrials.h */,
43C39EEB1CC061010017E317 /* RTCFileLogger.h */,
43C39EEC1CC061010017E317 /* RTCIceCandidate.h */,
43C39EED1CC061010017E317 /* RTCIceServer.h */,
43C39EEE1CC061010017E317 /* RTCLogging.h */,
43C39EEF1CC061010017E317 /* RTCMacros.h */,
43C39EF01CC061010017E317 /* RTCMediaConstraints.h */,
43C39EF11CC061010017E317 /* RTCMediaStream.h */,
43C39EF21CC061010017E317 /* RTCMediaStreamTrack.h */,
43C39EF31CC061010017E317 /* RTCOpenGLVideoRenderer.h */,
43C39EF41CC061010017E317 /* RTCPeerConnection.h */,
43C39EF51CC061010017E317 /* RTCPeerConnectionFactory.h */,
43C39EF61CC061020017E317 /* RTCRtpEncodingParameters.h */,
43C39EF71CC061020017E317 /* RTCRtpParameters.h */,
43C39EF81CC061020017E317 /* RTCRtpSender.h */,
43C39EF91CC061020017E317 /* RTCSessionDescription.h */,
43C39EFA1CC061020017E317 /* RTCSSLAdapter.h */,
43C39EFB1CC061020017E317 /* RTCStatsReport.h */,
43C39EFC1CC061020017E317 /* RTCTracing.h */,
43C39EFD1CC061020017E317 /* RTCVideoFrame.h */,
43C39EFE1CC061020017E317 /* RTCVideoRenderer.h */,
43C39EFF1CC061020017E317 /* RTCVideoSource.h */,
43C39F001CC061020017E317 /* RTCVideoTrack.h */,
);
name = include;
path = ../../../../../out_ios_libs/framework_include;
sourceTree = "<group>";
};
9866491E1C985706008EC831 /* Static Libraries */ = {
isa = PBXGroup;
children = (
43C39E361CC060400017E317 /* libaudio_coding_module.a */,
43C39E371CC060400017E317 /* libaudio_conference_mixer.a */,
43C39E381CC060400017E317 /* libaudio_decoder_interface.a */,
43C39E391CC060400017E317 /* libaudio_device.a */,
43C39E3A1CC060400017E317 /* libaudio_encoder_interface.a */,
43C39E3B1CC060400017E317 /* libaudio_processing.a */,
43C39E3C1CC060400017E317 /* libaudioproc_debug_proto.a */,
43C39E3D1CC060400017E317 /* libbitrate_controller.a */,
43C39E3E1CC060400017E317 /* libboringssl.a */,
43C39E3F1CC060400017E317 /* libcng.a */,
43C39E401CC060400017E317 /* libcommon_audio.a */,
43C39E411CC060400017E317 /* libcommon_video.a */,
43C39E421CC060400017E317 /* libcongestion_controller.a */,
43C39E431CC060400017E317 /* libexpat.a */,
43C39E441CC060400017E317 /* libfield_trial_default.a */,
43C39E451CC060400017E317 /* libg711.a */,
43C39E461CC060400017E317 /* libg722.a */,
43C39E471CC060400017E317 /* libilbc.a */,
43C39E481CC060400017E317 /* libisac_common.a */,
43C39E491CC060400017E317 /* libisac.a */,
43C39E4A1CC060400017E317 /* libjingle_peerconnection.a */,
43C39E4B1CC060400017E317 /* libjsoncpp.a */,
43C39E4C1CC060400017E317 /* libmedia_file.a */,
43C39E4D1CC060400017E317 /* libmetrics_default.a */,
43C39E4E1CC060400017E317 /* libneteq.a */,
43C39E4F1CC060400017E317 /* libopus.a */,
43C39E501CC060400017E317 /* libpaced_sender.a */,
43C39E511CC060400017E317 /* libpcm16b.a */,
43C39E521CC060400017E317 /* libprotobuf_lite.a */,
43C39E531CC060400017E317 /* libred.a */,
43C39E541CC060400017E317 /* libremote_bitrate_estimator.a */,
43C39E551CC060400017E317 /* librent_a_codec.a */,
43C39E571CC060400017E317 /* librtc_base_approved.a */,
43C39E591CC060400017E317 /* librtc_base.a */,
43C39E5A1CC060400017E317 /* librtc_event_log_proto.a */,
43C39E5B1CC060400017E317 /* librtc_event_log.a */,
43C39E5C1CC060400017E317 /* librtc_media.a */,
43C39E5D1CC060400017E317 /* librtc_p2p.a */,
43C39E5E1CC060400017E317 /* librtc_pc.a */,
43C39E5F1CC060400017E317 /* librtc_xmllite.a */,
43C39E601CC060400017E317 /* librtc_xmpp.a */,
43C39E611CC060400017E317 /* librtp_rtcp.a */,
43C39E621CC060400017E317 /* libsrtp.a */,
43C39E631CC060400017E317 /* libsystem_wrappers.a */,
43C39E641CC060400017E317 /* libusrsctplib.a */,
43C39E651CC060400017E317 /* libvideo_capture_module_internal_impl.a */,
43C39E661CC060400017E317 /* libvideo_capture_module.a */,
43C39E671CC060400017E317 /* libvideo_coding_utility.a */,
43C39E681CC060400017E317 /* libvideo_processing.a */,
43C39E691CC060400017E317 /* libvideo_render_module_internal_impl.a */,
43C39E6A1CC060400017E317 /* libvideo_render_module.a */,
43C39E6B1CC060400017E317 /* libvoice_engine.a */,
43C39E6C1CC060400017E317 /* libvpx.a */,
43C39E6D1CC060400017E317 /* libwebrtc_common.a */,
43C39E6E1CC060400017E317 /* libwebrtc_h264_video_toolbox.a */,
43C39E6F1CC060400017E317 /* libwebrtc_h264.a */,
43C39E701CC060400017E317 /* libwebrtc_i420.a */,
43C39E711CC060400017E317 /* libwebrtc_opus.a */,
43C39E721CC060400017E317 /* libwebrtc_utility.a */,
43C39E731CC060400017E317 /* libwebrtc_video_coding.a */,
43C39E741CC060400017E317 /* libwebrtc_vp8.a */,
43C39E751CC060400017E317 /* libwebrtc_vp9.a */,
43C39E761CC060400017E317 /* libwebrtc.a */,
43C39E771CC060400017E317 /* libyuv.a */,
);
name = "Static Libraries";
sourceTree = "<group>";
};
986649A51C986B19008EC831 /* API */ = {
isa = PBXGroup;
children = (
986649BA1C986B7D008EC831 /* avfoundationvideocapturer.mm */,
986649BB1C986B7D008EC831 /* RTCAudioTrack.mm */,
986649BC1C986B7D008EC831 /* RTCAVFoundationVideoSource.mm */,
986649BD1C986B7D008EC831 /* RTCConfiguration.mm */,
986649BE1C986B7D008EC831 /* RTCDataChannel.mm */,
986649BF1C986B7D008EC831 /* RTCDataChannelConfiguration.mm */,
986649C01C986B7D008EC831 /* RTCEAGLVideoView.m */,
986649C11C986B7D008EC831 /* RTCIceCandidate.mm */,
986649C21C986B7D008EC831 /* RTCIceServer.mm */,
986649C31C986B7D008EC831 /* RTCMediaConstraints.mm */,
986649C41C986B7D008EC831 /* RTCMediaStream.mm */,
986649C51C986B7D008EC831 /* RTCMediaStreamTrack.mm */,
986649C71C986B7D008EC831 /* RTCOpenGLVideoRenderer.mm */,
986649C81C986B7D008EC831 /* RTCPeerConnection.mm */,
986649C91C986B7D008EC831 /* RTCPeerConnection+DataChannel.mm */,
986649CA1C986B7D008EC831 /* RTCPeerConnection+Stats.mm */,
986649CB1C986B7D008EC831 /* RTCPeerConnectionFactory.mm */,
43C39B661CBC2C3E0017E317 /* RTCRtpEncodingParameters.mm */,
43C39B671CBC2C3E0017E317 /* RTCRtpParameters.mm */,
43C39B681CBC2C3E0017E317 /* RTCRtpSender.mm */,
986649CC1C986B7D008EC831 /* RTCSessionDescription.mm */,
986649CD1C986B7D008EC831 /* RTCStatsReport.mm */,
986649CE1C986B7D008EC831 /* RTCVideoFrame.mm */,
986649CF1C986B7D008EC831 /* RTCVideoRendererAdapter.mm */,
986649D01C986B7D008EC831 /* RTCVideoSource.mm */,
986649D11C986B7D008EC831 /* RTCVideoTrack.mm */,
);
name = API;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
9820AAC01C977D11001E5793 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
9820AAC71C977D11001E5793 /* WebRTC.h in Headers */,
43C39F031CC061020017E317 /* RTCAudioTrack.h in Headers */,
43C39F041CC061020017E317 /* RTCAVFoundationVideoSource.h in Headers */,
43C39F051CC061020017E317 /* RTCCameraPreviewView.h in Headers */,
43C39F061CC061020017E317 /* RTCConfiguration.h in Headers */,
43C39F071CC061020017E317 /* RTCDataChannel.h in Headers */,
43C39F081CC061020017E317 /* RTCDataChannelConfiguration.h in Headers */,
43C39F091CC061020017E317 /* RTCDispatcher.h in Headers */,
43C39F0A1CC061020017E317 /* RTCEAGLVideoView.h in Headers */,
43C39F0B1CC061020017E317 /* RTCFieldTrials.h in Headers */,
43C39F0C1CC061020017E317 /* RTCFileLogger.h in Headers */,
43C39F0D1CC061020017E317 /* RTCIceCandidate.h in Headers */,
43C39F0E1CC061020017E317 /* RTCIceServer.h in Headers */,
43C39F0F1CC061020017E317 /* RTCLogging.h in Headers */,
43C39F101CC061020017E317 /* RTCMacros.h in Headers */,
43C39F111CC061020017E317 /* RTCMediaConstraints.h in Headers */,
43C39F121CC061020017E317 /* RTCMediaStream.h in Headers */,
43C39F131CC061020017E317 /* RTCMediaStreamTrack.h in Headers */,
43C39F141CC061020017E317 /* RTCOpenGLVideoRenderer.h in Headers */,
43C39F151CC061020017E317 /* RTCPeerConnection.h in Headers */,
43C39F161CC061020017E317 /* RTCPeerConnectionFactory.h in Headers */,
43C39F171CC061020017E317 /* RTCRtpEncodingParameters.h in Headers */,
43C39F181CC061020017E317 /* RTCRtpParameters.h in Headers */,
43C39F191CC061020017E317 /* RTCRtpSender.h in Headers */,
43C39F1A1CC061020017E317 /* RTCSessionDescription.h in Headers */,
43C39F1B1CC061020017E317 /* RTCSSLAdapter.h in Headers */,
43C39F1C1CC061020017E317 /* RTCStatsReport.h in Headers */,
43C39F1D1CC061020017E317 /* RTCTracing.h in Headers */,
43C39F1E1CC061020017E317 /* RTCVideoFrame.h in Headers */,
43C39F1F1CC061020017E317 /* RTCVideoRenderer.h in Headers */,
43C39F201CC061020017E317 /* RTCVideoSource.h in Headers */,
43C39F211CC061020017E317 /* RTCVideoTrack.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
9820AAC21C977D11001E5793 /* WebRTC */ = {
isa = PBXNativeTarget;
buildConfigurationList = 9820AACB1C977D11001E5793 /* Build configuration list for PBXNativeTarget "WebRTC" */;
buildPhases = (
9820AABE1C977D11001E5793 /* Sources */,
9820AABF1C977D11001E5793 /* Frameworks */,
9820AAC01C977D11001E5793 /* Headers */,
9820AAC11C977D11001E5793 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = WebRTC;
productName = WebRTC;
productReference = 9820AAC31C977D11001E5793 /* WebRTC.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
9820AABA1C977D11001E5793 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0720;
ORGANIZATIONNAME = "Google Inc.";
TargetAttributes = {
9820AAC21C977D11001E5793 = {
CreatedOnToolsVersion = 7.2.1;
};
};
};
buildConfigurationList = 9820AABD1C977D11001E5793 /* Build configuration list for PBXProject "WebRTC" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 9820AAB91C977D11001E5793;
productRefGroup = 9820AAC41C977D11001E5793 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
9820AAC21C977D11001E5793 /* WebRTC */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
9820AAC11C977D11001E5793 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
9820AABE1C977D11001E5793 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
986649E01C986B7D008EC831 /* RTCPeerConnection.mm in Sources */,
986649D81C986B7D008EC831 /* RTCEAGLVideoView.m in Sources */,
43C39B691CBC2C3E0017E317 /* RTCRtpEncodingParameters.mm in Sources */,
982C151E1C99083B00895DC2 /* RTCSSLAdapter.mm in Sources */,
982C15181C99083B00895DC2 /* NSString+StdString.mm in Sources */,
986649E11C986B7D008EC831 /* RTCPeerConnection+DataChannel.mm in Sources */,
986649DA1C986B7D008EC831 /* RTCIceServer.mm in Sources */,
43C39B6B1CBC2C3F0017E317 /* RTCRtpSender.mm in Sources */,
982C15191C99083B00895DC2 /* RTCCameraPreviewView.m in Sources */,
986649E51C986B7D008EC831 /* RTCStatsReport.mm in Sources */,
986649D21C986B7D008EC831 /* avfoundationvideocapturer.mm in Sources */,
986649E31C986B7D008EC831 /* RTCPeerConnectionFactory.mm in Sources */,
982C151B1C99083B00895DC2 /* RTCFieldTrials.mm in Sources */,
982C151F1C99083B00895DC2 /* RTCTracing.mm in Sources */,
986649E61C986B7D008EC831 /* RTCVideoFrame.mm in Sources */,
986649E81C986B7D008EC831 /* RTCVideoSource.mm in Sources */,
986649DF1C986B7D008EC831 /* RTCOpenGLVideoRenderer.mm in Sources */,
986649DC1C986B7D008EC831 /* RTCMediaStream.mm in Sources */,
982C151D1C99083B00895DC2 /* RTCLogging.mm in Sources */,
986649D51C986B7D008EC831 /* RTCConfiguration.mm in Sources */,
986649E91C986B7D008EC831 /* RTCVideoTrack.mm in Sources */,
43C39B6A1CBC2C3F0017E317 /* RTCRtpParameters.mm in Sources */,
986649DD1C986B7D008EC831 /* RTCMediaStreamTrack.mm in Sources */,
982C151C1C99083B00895DC2 /* RTCFileLogger.mm in Sources */,
986649D91C986B7D008EC831 /* RTCIceCandidate.mm in Sources */,
982C15201C99083B00895DC2 /* RTCUIApplication.mm in Sources */,
986649DB1C986B7D008EC831 /* RTCMediaConstraints.mm in Sources */,
986649D71C986B7D008EC831 /* RTCDataChannelConfiguration.mm in Sources */,
986649D31C986B7D008EC831 /* RTCAudioTrack.mm in Sources */,
986649E41C986B7D008EC831 /* RTCSessionDescription.mm in Sources */,
986649D41C986B7D008EC831 /* RTCAVFoundationVideoSource.mm in Sources */,
986649E21C986B7D008EC831 /* RTCPeerConnection+Stats.mm in Sources */,
986649E71C986B7D008EC831 /* RTCVideoRendererAdapter.mm in Sources */,
982C151A1C99083B00895DC2 /* RTCDispatcher.m in Sources */,
986649D61C986B7D008EC831 /* RTCDataChannel.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
9820AAC91C977D11001E5793 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEPLOYMENT_POSTPROCESSING = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
9820AACA1C977D11001E5793 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEPLOYMENT_POSTPROCESSING = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.2;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
9820AACC1C977D11001E5793 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALTERNATE_GROUP = "";
ALTERNATE_OWNER = "";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = NO;
GCC_ENABLE_CPP_RTTI = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
V8_DEPRECATION_WARNINGS,
"CLD_VERSION=2",
DISABLE_NACL,
CHROMIUM_BUILD,
"CR_CLANG_REVISION=263324-1",
"USE_LIBJPEG_TURBO=1",
FIELDTRIAL_TESTING_ENABLED,
"DISABLE_FTP_SUPPORT=1",
V8_USE_EXTERNAL_STARTUP_DATA,
"GTEST_HAS_POSIX_RE=0",
"GTEST_LANG_CXX11=0",
WEBRTC_MAC,
WEBRTC_IOS,
WEBRTC_POSIX,
PROTOBUF_USE_DLLS,
GOOGLE_PROTOBUF_NO_RTTI,
GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER,
"USE_LIBPCI=1",
"USE_OPENSSL=1",
NDEBUG,
NVALGRIND,
"DYNAMIC_ANNOTATIONS_ENABLED=0",
"NS_BLOCK_ASSERTIONS=1",
);
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../..";
INFOPLIST_FILE = WebRTC/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../../../../../out_ios_libs/fat_libs";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = com.google.WebRTC;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SYMROOT = $SRCROOT/build;
};
name = Debug;
};
9820AACD1C977D11001E5793 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALTERNATE_GROUP = "";
ALTERNATE_OWNER = "";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = NO;
GCC_ENABLE_CPP_RTTI = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
V8_DEPRECATION_WARNINGS,
"CLD_VERSION=2",
DISABLE_NACL,
CHROMIUM_BUILD,
"CR_CLANG_REVISION=263324-1",
"USE_LIBJPEG_TURBO=1",
FIELDTRIAL_TESTING_ENABLED,
"DISABLE_FTP_SUPPORT=1",
V8_USE_EXTERNAL_STARTUP_DATA,
"GTEST_HAS_POSIX_RE=0",
"GTEST_LANG_CXX11=0",
WEBRTC_MAC,
WEBRTC_IOS,
WEBRTC_POSIX,
PROTOBUF_USE_DLLS,
GOOGLE_PROTOBUF_NO_RTTI,
GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER,
"USE_LIBPCI=1",
"USE_OPENSSL=1",
NDEBUG,
NVALGRIND,
"DYNAMIC_ANNOTATIONS_ENABLED=0",
"NS_BLOCK_ASSERTIONS=1",
);
HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../..";
INFOPLIST_FILE = WebRTC/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../../../../../out_ios_libs/fat_libs";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = com.google.WebRTC;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SYMROOT = $SRCROOT/build;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
9820AABD1C977D11001E5793 /* Build configuration list for PBXProject "WebRTC" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9820AAC91C977D11001E5793 /* Debug */,
9820AACA1C977D11001E5793 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
9820AACB1C977D11001E5793 /* Build configuration list for PBXNativeTarget "WebRTC" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9820AACC1C977D11001E5793 /* Debug */,
9820AACD1C977D11001E5793 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 9820AABA1C977D11001E5793 /* Project object */;
}

View File

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0720"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9820AAC21C977D11001E5793"
BuildableName = "WebRTC.framework"
BlueprintName = "WebRTC"
ReferencedContainer = "container:WebRTC.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9820AAC21C977D11001E5793"
BuildableName = "WebRTC.framework"
BlueprintName = "WebRTC"
ReferencedContainer = "container:WebRTC.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9820AAC21C977D11001E5793"
BuildableName = "WebRTC.framework"
BlueprintName = "WebRTC"
ReferencedContainer = "container:WebRTC.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -4,6 +4,6 @@
# use_frameworks!
target 'PodTest' do
pod "WebRTC", :path => "../../../../../out_ios_framework"
pod "WebRTC", :path => "../../../../../out_ios_libs"
end

View File

@ -1,50 +0,0 @@
We want to generate a dynamic framework for a CocoaPod. Unfortunately, using gyp-xcode generation
for a framework currently presents some issues. To get around those issues, we chose to create a
project with Xcode for building the framework directly.
The Framework directory contains the Xcode project used to build the framework. The PodTest
directory contains a project used to confirm that the built framework installs correctly with
CocoaPods. The build_ios_framework.sh script needs to be run first, then `pod install` should be run
in the same directory as the Xcode project. After installing, the PodTest.xcworkspace should be used
instead of PodTest.xcodeproj.
USAGE
To build the framework, run the build_ios_framework.sh script. This will build static libraries for
iOS (via the build_ios_libs.sh script), collect header files and adjust import/include statements
for use inside the framework, build the framework using the Xcode project, merge multiple
architectures together, and collect the framework files (the .framework itself and the .dSYM) with
the Podspec into a common directory.
DETAILS OF THE XCODE PROJECT
The Xcode project contains relative references to the built static libraries (from
build_ios_libs.sh), with the exception of librtc_api_objc and librtc_base_objc. The iOS source files
from webrtc/api/objc and webrtc/base/objc are also included. NOTE: This will require updating
if/when the built static libraries change.
The flattened header files for webrtc/api/objc and webrtc/base/objc were also added to the Public
Headers of the framework target. NOTE: This will require updating as the Obj-C API changes.
Preprocessor definitions were copied from a gyp-xcode generated project.
RTTI was disabled due to compiler errors and based on the setting in build/common.gypi
(https://code.google.com/p/chromium/codesearch#chromium/src/build/common.gypi&q=rtti&sq=package:chromium&type=cs&l=5069).
Bitcode is disabled for the time being.
The minimum number of system frameworks were linked against based on build errors (currently
AVFoundation, AudioToolbox, CoreMedia, VideoToolbox).
The Build Products Path (SYMROOT) was changed to $SRCROOT/build so the build products are in a known
location.
The created WebRTC scheme was shared so the build_ios_framework.sh script will work on any machine
that runs it.
DEPLOYMENT_POSTPROCESSING is set to "Yes" so debug symbols will be stripped (the iOS Default for
STRIP_INSTALLED_PRODUCT is already set to "Yes").
"-ObjC" is added to OTHER_LDFLAGS to ensure category methods (in particular, those from
RTCAudioSession+Configuration.mm) are included in the framework binary.
During the build process, dSYMs will be generated for each architecture alongside each framework
bundle. These are merged together and placed alongside the final framework product.

View File

@ -1,152 +0,0 @@
#!/bin/bash
# Copyright 2015 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
# Generates dynamic FAT framework for iOS in out_ios_framework.
# Exit on errors.
set -e
# Globals.
SCRIPT_DIR=$(cd $(dirname $0) && pwd)
WEBRTC_BASE_DIR=${SCRIPT_DIR}/../../..
BUILD_WEBRTC_SCRIPT=${SCRIPT_DIR}/build_ios_libs.sh
FLATTEN_HEADERS_SCRIPT=${SCRIPT_DIR}/flatten_ios_headers.py
SDK_DIR=${SCRIPT_DIR}/SDK
FRAMEWORK_PROJECT_DIR=${SDK_DIR}/Framework
FRAMEWORK_PROJECT_PATH=${FRAMEWORK_PROJECT_DIR}/WebRTC.xcodeproj
function check_preconditions {
# Check for Darwin.
if [[ ! $(uname) = "Darwin" ]]; then
echo "OS X required." >&2
exit 1
fi
if [[ ! -x ${BUILD_WEBRTC_SCRIPT} ]]; then
echo "Failed to find iOS library build script." >&2
exit 1
fi
if [[ ! -x ${FLATTEN_HEADERS_SCRIPT} ]]; then
echo "Failed to find flatten iOS headers script." >&2
exit 1
fi
if [[ ! -x ${FRAMEWORK_PROJECT_PATH} ]]; then
echo "Failed to find framework XCode project." >&2
exit 1
fi
}
function clean_artifacts {
# Make XCode clean up after itself.
xcodebuild -project ${FRAMEWORK_PROJECT_PATH} -scheme WebRTC \
-configuration Release clean
xcodebuild -project ${FRAMEWORK_PROJECT_PATH} -scheme WebRTC \
-configuration Release clean \
-destination "platform=iOS Simulator,name=iPhone 6"
# Remove remaining directory that XCode doesn't delete.
XCODE_BUILD_DIR=${FRAMEWORK_PROJECT_DIR}/build
if [[ -d ${XCODE_BUILD_DIR} ]]; then
rm -r ${XCODE_BUILD_DIR}
fi
# Remove the temporary framework header dir.
if [[ -d ${FRAMEWORK_INCLUDE_DIR} ]]; then
rm -r ${FRAMEWORK_INCLUDE_DIR}
fi
# Remove the generated framework.
if [[ -d ${FRAMEWORK_OUTPUT_DIR} ]]; then
rm -r ${FRAMEWORK_OUTPUT_DIR}
fi
# Let the other script clean up after itself.
${BUILD_WEBRTC_SCRIPT} -c
}
function usage {
echo "WebRTC iOS Framework build script."
echo "Builds a dynamic Framework for the WebRTC APIs."
echo "Compiles various architectures and edits header paths as required."
echo "Usage: $0 [-h] [-c]"
echo " -h Print this help."
echo " -c Removes generated build output."
exit 0
}
check_preconditions
# Set the output directories for the various build artifacts.
# For convenience we'll output some generated files in the same directory
# as the one we used to output the generated statis libraries.
LIB_OUTPUT_DIR=${WEBRTC_BASE_DIR}/out_ios_libs
INCLUDE_OUTPUT_DIR=${LIB_OUTPUT_DIR}/include
FRAMEWORK_INCLUDE_DIR=${LIB_OUTPUT_DIR}/framework_include
FRAMEWORK_OUTPUT_DIR=${WEBRTC_BASE_DIR}/out_ios_framework
PERFORM_CLEAN=0
# Parse arguments.
while getopts "hc" opt; do
case "${opt}" in
h) usage;;
c) PERFORM_CLEAN=1;;
*)
usage
exit 1
;;
esac
done
if [[ ${PERFORM_CLEAN} -ne 0 ]]; then
clean_artifacts
exit 0
fi
# Build static libraries for iOS.
${BUILD_WEBRTC_SCRIPT} -o ${LIB_OUTPUT_DIR}
# Flatten the directory structure for iOS headers generated from building the
# static libraries.
${FLATTEN_HEADERS_SCRIPT} ${INCLUDE_OUTPUT_DIR} ${FRAMEWORK_INCLUDE_DIR}
# Replace full paths for headers with framework paths.
SED_PATTERN='
s/(\#import )\"webrtc\/api\/objc\/(.*)\"/\1<WebRTC\/\2>/g;
s/(\#import )\"webrtc\/base\/objc\/(.*)\"/\1<WebRTC\/\2>/g;
s/(\#include )\"webrtc\/base\/objc\/(.*)\"/\1<WebRTC\/\2>/g;
'
sed -E -i '' "$SED_PATTERN" ${FRAMEWORK_INCLUDE_DIR}/*.h
# Build the framework.
xcodebuild -project ${FRAMEWORK_PROJECT_PATH} -scheme WebRTC \
-configuration Release build \
CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
xcodebuild -project ${FRAMEWORK_PROJECT_PATH} -scheme WebRTC \
-configuration Release build \
-destination "platform=iOS Simulator,name=iPhone 6"
# XCode should output the build artifacts to the following directories.
DEVICE_BUILD_DIR=${FRAMEWORK_PROJECT_DIR}/build/Release-iphoneos
SIMULATOR_BUILD_DIR=${FRAMEWORK_PROJECT_DIR}/build/Release-iphonesimulator
# Copy podspec, framework, dSYM and LICENSE to FRAMEWORK_OUTPUT_DIR.
mkdir -p ${FRAMEWORK_OUTPUT_DIR}
cp ${SDK_DIR}/WebRTC.podspec ${FRAMEWORK_OUTPUT_DIR}/
cp -R ${DEVICE_BUILD_DIR}/WebRTC.framework ${FRAMEWORK_OUTPUT_DIR}/
cp -R ${DEVICE_BUILD_DIR}/WebRTC.framework.dSYM ${FRAMEWORK_OUTPUT_DIR}/
cp -R ${WEBRTC_BASE_DIR}/webrtc/LICENSE ${FRAMEWORK_OUTPUT_DIR}/
# Combine multiple architectures.
DYLIB_PATH=WebRTC.framework/WebRTC
DWARF_PATH=WebRTC.framework.dSYM/Contents/Resources/DWARF/WebRTC
lipo ${FRAMEWORK_OUTPUT_DIR}/${DYLIB_PATH} \
${SIMULATOR_BUILD_DIR}/${DYLIB_PATH} \
-create -output ${FRAMEWORK_OUTPUT_DIR}/${DYLIB_PATH}
lipo ${FRAMEWORK_OUTPUT_DIR}/${DWARF_PATH} \
${SIMULATOR_BUILD_DIR}/${DWARF_PATH} \
-create -output ${FRAMEWORK_OUTPUT_DIR}/${DWARF_PATH}

View File

@ -8,7 +8,7 @@
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
# Generates static FAT libraries for ios in out_ios_libs.
# Generates static or dynamic FAT libraries for ios in out_ios_libs.
# Exit on errors.
set -e
@ -17,7 +17,6 @@ set -e
SCRIPT_DIR=$(cd $(dirname $0) && pwd)
WEBRTC_BASE_DIR=${SCRIPT_DIR}/../../..
GYP_WEBRTC_SCRIPT=${WEBRTC_BASE_DIR}/webrtc/build/gyp_webrtc.py
EXPORT_HEADERS_SCRIPT=${SCRIPT_DIR}/export_headers.py
MERGE_SCRIPT=${SCRIPT_DIR}/merge_ios_libs.py
function check_preconditions {
@ -39,12 +38,6 @@ function check_preconditions {
exit 1
fi
# Check for export headers script.
if [[ ! -x ${EXPORT_HEADERS_SCRIPT} ]]; then
echo "Failed to find export headers script." >&2
exit 1
fi
# Check for merge script.
if [[ ! -x ${MERGE_SCRIPT} ]]; then
echo "Failed to find library merging script." >&2
@ -56,6 +49,8 @@ function build_webrtc {
local base_output_dir=$1
local flavor=$2
local target_arch=$3
local build_type=$4
local ninja_output_dir=${base_output_dir}/${target_arch}_ninja
local library_output_dir=${base_output_dir}/${target_arch}_libs
if [[ ${target_arch} = 'arm' || ${target_arch} = 'arm64' ]]; then
@ -63,23 +58,54 @@ function build_webrtc {
else
flavor="${flavor}-iphonesimulator"
fi
local ninja_flavor_dir=${ninja_output_dir}/${flavor}
# Compile framework by default.
local gyp_file=webrtc/sdk/sdk.gyp
local gyp_target=rtc_sdk_framework_objc
# Set to 1 to explicitly not hide symbols. We'll want this if we're just
# generating static libs.
local override_visibility=0
if [[ ${build_type} = "legacy" ]]; then
echo "Building legacy."
gyp_file=webrtc/build/ios/merge_ios_libs.gyp
gyp_target=libjingle_peerconnection_objc_no_op
override_visibility=1
elif [[ ${build_type} = "static_only" ]]; then
echo "Building static only."
gyp_file=webrtc/build/ios/merge_ios_libs.gyp
gyp_target=rtc_sdk_peerconnection_objc_no_op
override_visibility=1
elif [[ ${build_type} == "framework" ]]; then
echo "Building framework."
else
echo "Unexpected build type: ${build_type}"
exit 1
fi
export GYP_DEFINES="OS=ios target_arch=${target_arch} use_objc_h264=1 \
clang_xcode=1 ios_override_visibility=1"
clang_xcode=1 ios_deployment_target=8.0 \
ios_override_visibility=${override_visibility}"
export GYP_GENERATORS="ninja"
export GYP_GENERATOR_FLAGS="output_dir=${ninja_output_dir}"
# GYP generation requires relative path for some reason.
pushd ${WEBRTC_BASE_DIR}
${GYP_WEBRTC_SCRIPT} webrtc/build/ios/merge_ios_libs.gyp
webrtc/build/gyp_webrtc.py ${gyp_file}
popd
if [[ ${USE_LEGACY_API} -eq 1 ]]; then
ninja -C ${ninja_output_dir}/${flavor} libjingle_peerconnection_objc_no_op
else
ninja -C ${ninja_output_dir}/${flavor} webrtc_api_objc_no_op
fi
mkdir -p ${library_output_dir}
# Compile the target we're interested in.
ninja -C ${ninja_flavor_dir} ${gyp_target}
for f in ${ninja_output_dir}/${flavor}/*.a
if [[ ${build_type} = "framework" ]]; then
# Manually generate the dSYM files before stripping them. GYP does not seem
# to instruct ninja to generate dSYM files.
dsymutil --out=${ninja_flavor_dir}/WebRTC.framework.dSYM \
${ninja_flavor_dir}/WebRTC.framework/WebRTC
fi
# Make links to the generated static archives.
mkdir -p ${library_output_dir}
for f in ${ninja_flavor_dir}/*.a
do
ln -sf "${f}" "${library_output_dir}/$(basename ${f})"
done
@ -97,11 +123,14 @@ function usage {
echo "Each architecture is compiled separately before being merged together."
echo "By default, the fat libraries will be created in out_ios_libs/fat_libs."
echo "The headers will be copied to out_ios_libs/include."
echo "Usage: $0 [-h] [-c] [-o]"
echo "Usage: $0 [-h] [-b build_type] [-c] [-o output_dir]"
echo " -h Print this help."
echo " -b The build type. Can be framework, static_only or legacy."
echo " Defaults to framework."
echo " -c Removes generated build output."
echo " -o Specifies a directory to output build artifacts to."
echo " If specified together with -c, deletes the dir."
echo " -r Specifies a revision number to embed if building the framework."
exit 0
}
@ -110,16 +139,21 @@ check_preconditions
# Set default arguments.
# Output directory for build artifacts.
OUTPUT_DIR=${WEBRTC_BASE_DIR}/out_ios_libs
# Flag to build the new or legacy version of the API.
USE_LEGACY_API=0
# The type of build to perform. Valid arguments are framework, static_only and
# legacy.
BUILD_TYPE="framework"
PERFORM_CLEAN=0
FLAVOR="Profile"
POINT_VERSION="0"
# Parse arguments.
while getopts "hco:" opt; do
while getopts "hb:co:r:" opt; do
case "${opt}" in
h) usage;;
b) BUILD_TYPE="${OPTARG}";;
c) PERFORM_CLEAN=1;;
o) OUTPUT_DIR="${OPTARG}";;
r) POINT_VERSION="${OPTARG}";;
*)
usage
exit 1
@ -133,15 +167,99 @@ if [[ ${PERFORM_CLEAN} -ne 0 ]]; then
fi
# Build all the common architectures.
archs=( "arm" "arm64" "ia32" "x64" )
for arch in "${archs[@]}"
ARCHS=( "arm" "arm64" "ia32" "x64" )
for ARCH in "${ARCHS[@]}"
do
echo "Building WebRTC arch: ${arch}"
build_webrtc ${OUTPUT_DIR} "Profile" $arch
echo "Building WebRTC arch: ${ARCH}"
build_webrtc ${OUTPUT_DIR} ${FLAVOR} $ARCH ${BUILD_TYPE}
done
# Export header files.
${EXPORT_HEADERS_SCRIPT} ${OUTPUT_DIR} ${USE_LEGACY_API}
ARM_NINJA_DIR=${OUTPUT_DIR}/arm_ninja/${FLAVOR}-iphoneos
ARM64_NINJA_DIR=${OUTPUT_DIR}/arm64_ninja/${FLAVOR}-iphoneos
IA32_NINJA_DIR=${OUTPUT_DIR}/ia32_ninja/${FLAVOR}-iphonesimulator
X64_NINJA_DIR=${OUTPUT_DIR}/x64_ninja/${FLAVOR}-iphonesimulator
# Merge the libraries together.
${MERGE_SCRIPT} ${OUTPUT_DIR}
if [[ ${BUILD_TYPE} = "framework" ]]; then
# Merge the framework slices together into a FAT library by copying one arch
# output and merging the rest in.
DYLIB_PATH="WebRTC.framework/WebRTC"
cp -R ${ARM_NINJA_DIR}/WebRTC.framework ${OUTPUT_DIR}
rm ${OUTPUT_DIR}/${DYLIB_PATH}
echo "Merging framework slices."
lipo ${ARM_NINJA_DIR}/${DYLIB_PATH} \
${ARM64_NINJA_DIR}/${DYLIB_PATH} \
${IA32_NINJA_DIR}/${DYLIB_PATH} \
${X64_NINJA_DIR}/${DYLIB_PATH} \
-create -output ${OUTPUT_DIR}/${DYLIB_PATH}
# Merge the dSYM files together in a similar fashion.
DSYM_PATH="WebRTC.framework.dSYM/Contents/Resources/DWARF/WebRTC"
cp -R ${ARM_NINJA_DIR}/WebRTC.framework.dSYM ${OUTPUT_DIR}
rm ${OUTPUT_DIR}/${DSYM_PATH}
echo "Merging dSYM slices."
lipo ${ARM_NINJA_DIR}/${DSYM_PATH} \
${ARM64_NINJA_DIR}/${DSYM_PATH} \
${IA32_NINJA_DIR}/${DSYM_PATH} \
${X64_NINJA_DIR}/${DSYM_PATH} \
-create -output ${OUTPUT_DIR}/${DSYM_PATH}
# Strip the dynamic framework of non-global symbols.
# TODO(tkchin): Override chromium strip settings in supplement.gypi instead.
echo "Stripping non-global symbols."
strip -x ${OUTPUT_DIR}/${DYLIB_PATH}
# Modify the version number.
INFOPLIST_PATH=${OUTPUT_DIR}/WebRTC.framework/Resources/Info.plist
MAJOR_MINOR=$(plistbuddy -c "Print :CFBundleShortVersionString" \
${INFOPLIST_PATH})
VERSION_NUMBER="${MAJOR_MINOR}.${POINT_VERSION}"
echo "Substituting revision number: ${VERSION_NUMBER}"
plistbuddy -c "Set :CFBundleVersion ${VERSION_NUMBER}" ${INFOPLIST_PATH}
plutil -convert binary1 ${INFOPLIST_PATH}
# Copy pod file.
FORMAT_STRING=s/\${FRAMEWORK_VERSION_NUMBER}/${VERSION_NUMBER}/g
sed -e ${FORMAT_STRING} ${WEBRTC_BASE_DIR}/webrtc/sdk/objc/WebRTC.podspec > \
${OUTPUT_DIR}/WebRTC.podspec
else
echo "Merging static library slices."
# Merge the static libraries together into individual FAT archives.
${MERGE_SCRIPT} ${OUTPUT_DIR}
# Merge the dSYM files together.
TARGET_NAME="rtc_sdk_peerconnection_objc_no_op"
if [[ ${BUILD_TYPE} = "legacy" ]]; then
TARGET_NAME="libjingle_peerconnection_objc_no_op"
fi
DSYM_PATH="${TARGET_NAME}.app.dSYM/Contents/Resources/DWARF/${TARGET_NAME}"
cp -R ${ARM_NINJA_DIR}/${TARGET_NAME}.app.dSYM ${OUTPUT_DIR}
echo "Merging dSYM slices."
lipo ${ARM_NINJA_DIR}/${DSYM_PATH} \
${ARM64_NINJA_DIR}/${DSYM_PATH} \
${IA32_NINJA_DIR}/${DSYM_PATH} \
${X64_NINJA_DIR}/${DSYM_PATH} \
-create -output ${OUTPUT_DIR}/${DSYM_PATH}
# Strip debugging symbols.
# TODO(tkchin): Override chromium settings in supplement.gypi instead to do
# stripping at build time.
echo "Stripping debug symbols."
strip -S ${OUTPUT_DIR}/fat_libs/*.a
# Symlink the headers.
echo "Symlinking headers."
INPUT_HEADER_DIR="${WEBRTC_BASE_DIR}/webrtc/sdk/objc/Framework/Headers/WebRTC"
OUTPUT_HEADER_DIR="${OUTPUT_DIR}/include"
if [[ -d ${OUTPUT_HEADER_DIR} ]]; then
rm -rf ${OUTPUT_HEADER_DIR}
fi
if [[ ${BUILD_TYPE} = "legacy" ]]; then
INPUT_HEADER_DIR="${WEBRTC_BASE_DIR}/talk/app/webrtc/objc/public"
ln -sf ${INPUT_HEADER_DIR} ${OUTPUT_HEADER_DIR}
else
mkdir -p ${OUTPUT_HEADER_DIR}
ln -sf ${INPUT_HEADER_DIR} ${OUTPUT_HEADER_DIR}/WebRTC
fi
fi
echo "Done!"

View File

@ -1,105 +0,0 @@
#!/usr/bin/python
# Copyright 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
"""Script for exporting iOS header files."""
import errno
import sys
import argparse
import os
import shutil
LEGACY_HEADER_DIRS = ['talk/app/webrtc/objc/public', 'webrtc/base/objc/']
HEADER_DIRS = ['webrtc/api/objc/', 'webrtc/base/objc/',
'webrtc/modules/audio_device/ios/objc']
# Individual header files that should also be exported.
LEGACY_HEADER_INCLUDES = []
HEADER_INCLUDES = []
# Individual header files that should not be exported.
LEGACY_HEADER_EXCLUDES = ['talk/app/webrtc/objc/public/RTCNSGLVideoView.h']
HEADER_EXCLUDES = [
'webrtc/api/objc/avfoundationvideocapturer.h',
'webrtc/api/objc/RTCNSGLVideoView.h',
'webrtc/api/objc/RTCVideoRendererAdapter.h',
'webrtc/base/objc/NSString+StdString.h',
'webrtc/base/objc/RTCUIApplication.h',
'webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h',
]
def ExportHeaders(include_base_dir, use_legacy_headers):
"""Exports iOS header files.
Creates an include directory and recreates the hierarchy for the header files
within the include directory.
Args:
include_base_dir: directory where the include directory should be created
use_legacy_headers: whether or not to export the old headers
"""
include_dir_name = 'include'
include_path = os.path.join(include_base_dir, include_dir_name)
# Remove existing directory first in case files change.
if os.path.exists(include_path):
shutil.rmtree(include_path)
script_path = sys.path[0]
webrtc_base_path = os.path.join(script_path, '../../..')
header_dirs = HEADER_DIRS
include_headers = HEADER_INCLUDES
exclude_headers = HEADER_EXCLUDES
if use_legacy_headers:
header_dirs = LEGACY_HEADER_DIRS
include_headers = LEGACY_HEADER_INCLUDES
exclude_headers = LEGACY_HEADER_EXCLUDES
for directory in header_dirs:
full_dir_path = os.path.join(webrtc_base_path, directory)
filenames = os.listdir(full_dir_path)
for filename in filenames:
if filename.endswith('.h') and not filename.endswith('+Private.h'):
include_headers.append(os.path.join(directory, filename))
for header in exclude_headers:
include_headers.remove(header)
for header_path in include_headers:
output_dir = os.path.join(include_path, os.path.dirname(header_path))
# Create hierarchy for the header file within the include directory.
try:
os.makedirs(output_dir)
except OSError as exc:
if exc.errno != errno.EEXIST:
raise exc
current_path = os.path.join(webrtc_base_path, header_path)
new_path = os.path.join(include_path, header_path)
shutil.copy(current_path, new_path)
def Main():
parser_description = 'Export WebRTC ObjC API headers.'
parser = argparse.ArgumentParser(description=parser_description)
parser.add_argument('output_dir',
help='Output directory to write headers to.',
type=str)
parser.add_argument('use_legacy_headers',
help='Reads the old headers instead of the current ones.',
type=int)
args = parser.parse_args()
use_legacy_headers = args.use_legacy_headers != 0
output_dir = args.output_dir
ExportHeaders(output_dir, use_legacy_headers)
if __name__ == '__main__':
sys.exit(Main())

View File

@ -1,49 +0,0 @@
#!/usr/bin/python
# Copyright 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
"""Script for flattening iOS header structure."""
import sys
import argparse
import os
import shutil
def FlattenHeaders(input_dir, output_dir):
"""Flattens iOS header file directory structure."""
# Create output directories.
if not os.path.exists(output_dir):
os.mkdir(output_dir)
for dirpath, _, filenames in os.walk(input_dir):
for filename in filenames:
current_path = os.path.join(dirpath, filename)
new_path = os.path.join(output_dir, filename)
shutil.copy(current_path, new_path)
def Main():
parser_description = 'Flatten WebRTC ObjC API headers.'
parser = argparse.ArgumentParser(description=parser_description)
parser.add_argument('input_dir',
help='Output directory to write headers to.',
type=str)
parser.add_argument('output_dir',
help='Input directory to read headers from.',
type=str)
args = parser.parse_args()
input_dir = args.input_dir
output_dir = args.output_dir
FlattenHeaders(input_dir, output_dir)
if __name__ == '__main__':
sys.exit(Main())

View File

@ -21,11 +21,11 @@
'sources': ['no_op.cc',],
},
{
'target_name': 'webrtc_api_objc_no_op',
'target_name': 'rtc_sdk_peerconnection_objc_no_op',
'includes': [ 'objc_app.gypi' ],
'type': 'executable',
'dependencies': [
'<(webrtc_root)/api/api.gyp:rtc_api_objc',
'<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_peerconnection_objc',
],
'sources': ['no_op.cc',],
},

View File

@ -13,7 +13,7 @@
"app": "modules_tests"
},
{
"app": "rtc_api_objc_tests"
"app": "rtc_sdk_peerconnection_objc_tests"
},
{
"app": "rtc_pc_unittests"

View File

@ -10,7 +10,7 @@
{
'variables': {
'objc_prefix_file': './WebRTC-Prefix.pch',
'objc_prefix_file': '../sdk/objc/WebRTC-Prefix.pch',
},
'xcode_settings': {
'CLANG_ENABLE_OBJC_ARC': 'YES',

View File

@ -1,4 +1,5 @@
include_rules = [
"+WebRTC",
"+webrtc/api",
"+webrtc/base",
"+webrtc/media",

View File

@ -10,7 +10,7 @@
#import "ARDAppClient.h"
#import "webrtc/api/objc/RTCPeerConnection.h"
#import "WebRTC/RTCPeerConnection.h"
#import "ARDRoomServerClient.h"
#import "ARDSignalingChannel.h"

View File

@ -9,8 +9,9 @@
*/
#import <Foundation/Foundation.h>
#import "webrtc/api/objc/RTCPeerConnection.h"
#import "webrtc/api/objc/RTCVideoTrack.h"
#import "WebRTC/RTCPeerConnection.h"
#import "WebRTC/RTCVideoTrack.h"
typedef NS_ENUM(NSInteger, ARDAppClientState) {
// Disconnected from servers.

View File

@ -11,17 +11,17 @@
#import "ARDAppClient+Internal.h"
#if defined(WEBRTC_IOS)
#import "webrtc/base/objc/RTCTracing.h"
#import "webrtc/api/objc/RTCAVFoundationVideoSource.h"
#import "WebRTC/RTCAVFoundationVideoSource.h"
#import "WebRTC/RTCTracing.h"
#endif
#import "webrtc/api/objc/RTCAudioTrack.h"
#import "webrtc/api/objc/RTCConfiguration.h"
#import "webrtc/api/objc/RTCIceServer.h"
#import "webrtc/api/objc/RTCMediaConstraints.h"
#import "webrtc/api/objc/RTCMediaStream.h"
#import "webrtc/api/objc/RTCPeerConnectionFactory.h"
#import "webrtc/base/objc/RTCFileLogger.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCAudioTrack.h"
#import "WebRTC/RTCConfiguration.h"
#import "WebRTC/RTCFileLogger.h"
#import "WebRTC/RTCIceServer.h"
#import "WebRTC/RTCLogging.h"
#import "WebRTC/RTCMediaConstraints.h"
#import "WebRTC/RTCMediaStream.h"
#import "WebRTC/RTCPeerConnectionFactory.h"
#import "ARDAppEngineClient.h"
#import "ARDCEODTURNClient.h"
@ -49,7 +49,7 @@ static NSInteger const kARDAppClientErrorSetSDP = -4;
static NSInteger const kARDAppClientErrorInvalidClient = -5;
static NSInteger const kARDAppClientErrorInvalidRoom = -6;
// TODO(tkchin): Remove guard once rtc_base_objc compiles on Mac.
// TODO(tkchin): Remove guard once rtc_sdk_common_objc compiles on Mac.
#if defined(WEBRTC_IOS)
// TODO(tkchin): Add this as a UI option.
static BOOL const kARDAppClientEnableTracing = NO;

View File

@ -10,7 +10,7 @@
#import "ARDAppEngineClient.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#import "ARDJoinResponse.h"
#import "ARDMessageResponse.h"

View File

@ -10,8 +10,8 @@
#import "ARDSDPUtils.h"
#import "webrtc/api/objc/RTCSessionDescription.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#import "WebRTC/RTCSessionDescription.h"
@implementation ARDSDPUtils

View File

@ -9,8 +9,9 @@
*/
#import <Foundation/Foundation.h>
#import "webrtc/api/objc/RTCIceCandidate.h"
#import "webrtc/api/objc/RTCSessionDescription.h"
#import "WebRTC/RTCIceCandidate.h"
#import "WebRTC/RTCSessionDescription.h"
typedef enum {
kARDSignalingMessageTypeCandidate,

View File

@ -10,7 +10,7 @@
#import "ARDSignalingMessage.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#import "ARDUtilities.h"
#import "RTCIceCandidate+JSON.h"

View File

@ -10,7 +10,7 @@
#import "ARDStatsBuilder.h"
#import "webrtc/api/objc/RTCStatsReport.h"
#import "WebRTC/RTCStatsReport.h"
#import "ARDBitrateTracker.h"
#import "ARDUtilities.h"

View File

@ -10,7 +10,7 @@
#import "ARDWebSocketChannel.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#import "SRWebSocket.h"
#import "ARDSignalingMessage.h"

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/api/objc/RTCIceCandidate.h"
#import "WebRTC/RTCIceCandidate.h"
@interface RTCIceCandidate (JSON)

View File

@ -10,7 +10,7 @@
#import "RTCIceCandidate+JSON.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
static NSString const *kRTCICECandidateTypeKey = @"type";
static NSString const *kRTCICECandidateTypeValue = @"candidate";

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/api/objc/RTCIceServer.h"
#import "WebRTC/RTCIceServer.h"
@interface RTCIceServer (JSON)

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/api/objc/RTCMediaConstraints.h"
#import "WebRTC/RTCMediaConstraints.h"
@interface RTCMediaConstraints (JSON)

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/api/objc/RTCSessionDescription.h"
#import "WebRTC/RTCSessionDescription.h"
@interface RTCSessionDescription (JSON)

View File

@ -12,7 +12,7 @@
#import <mach/mach.h>
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
@implementation NSDictionary (ARDUtilites)

View File

@ -10,10 +10,10 @@
#import "ARDAppDelegate.h"
#import "webrtc/base/objc/RTCFieldTrials.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "webrtc/base/objc/RTCSSLAdapter.h"
#import "webrtc/base/objc/RTCTracing.h"
#import "WebRTC/RTCFieldTrials.h"
#import "WebRTC/RTCLogging.h"
#import "WebRTC/RTCSSLAdapter.h"
#import "WebRTC/RTCTracing.h"
#import "ARDMainViewController.h"

View File

@ -12,8 +12,8 @@
#import <AVFoundation/AVFoundation.h>
#import "webrtc/base/objc/RTCDispatcher.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCDispatcher.h"
#import "WebRTC/RTCLogging.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h"

View File

@ -10,7 +10,7 @@
#import "ARDStatsView.h"
#import "webrtc/api/objc/RTCStatsReport.h"
#import "WebRTC/RTCStatsReport.h"
#import "ARDStatsBuilder.h"

View File

@ -10,8 +10,8 @@
#import <UIKit/UIKit.h>
#import "webrtc/api/objc/RTCEAGLVideoView.h"
#import "webrtc/base/objc/RTCCameraPreviewView.h"
#import "WebRTC/RTCCameraPreviewView.h"
#import "WebRTC/RTCEAGLVideoView.h"
#import "ARDStatsView.h"

View File

@ -10,11 +10,11 @@
#import "ARDVideoCallViewController.h"
#import "webrtc/base/objc/RTCDispatcher.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession.h"
#import "webrtc/api/objc/RTCAVFoundationVideoSource.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCAVFoundationVideoSource.h"
#import "WebRTC/RTCDispatcher.h"
#import "WebRTC/RTCLogging.h"
#import "ARDAppClient.h"
#import "ARDVideoCallView.h"

View File

@ -14,7 +14,7 @@
#import "APPRTCAppDelegate.h"
#import "webrtc/base/objc/RTCSSLAdapter.h"
#import "WebRTC/RTCSSLAdapter.h"
#import "APPRTCViewController.h"

View File

@ -11,8 +11,9 @@
#import "APPRTCViewController.h"
#import <AVFoundation/AVFoundation.h>
#import "webrtc/api/objc/RTCNSGLVideoView.h"
#import "webrtc/api/objc/RTCVideoTrack.h"
#import "WebRTC/RTCNSGLVideoView.h"
#import "WebRTC/RTCVideoTrack.h"
#import "ARDAppClient.h"

View File

@ -14,9 +14,9 @@
#include "webrtc/base/gunit.h"
#include "webrtc/base/ssladapter.h"
#import "webrtc/api/objc/RTCMediaConstraints.h"
#import "webrtc/api/objc/RTCPeerConnectionFactory.h"
#import "webrtc/api/objc/RTCSessionDescription.h"
#import "WebRTC/RTCMediaConstraints.h"
#import "WebRTC/RTCPeerConnectionFactory.h"
#import "WebRTC/RTCSessionDescription.h"
#import "ARDAppClient+Internal.h"
#import "ARDJoinResponse+Internal.h"

View File

@ -138,7 +138,7 @@ source_set("audio_device") {
]
}
if (is_ios) {
deps += [ "../../base:rtc_base_objc" ]
deps += [ "../../sdk:rtc_sdk_common_objc" ]
sources += [
"ios/audio_device_ios.h",
"ios/audio_device_ios.mm",

View File

@ -167,7 +167,10 @@
}],
['OS=="ios"', {
'dependencies': [
'<(webrtc_root)/base/base.gyp:rtc_base_objc',
'<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_common_objc',
],
'export_dependent_settings': [
'<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_common_objc',
],
'sources': [
'ios/audio_device_ios.h',

View File

@ -13,8 +13,8 @@
#include <memory>
#include "WebRTC/RTCMacros.h"
#include "webrtc/base/asyncinvoker.h"
#include "webrtc/base/objc/RTCMacros.h"
#include "webrtc/base/thread.h"
#include "webrtc/base/thread_checker.h"
#include "webrtc/modules/audio_device/audio_device_generic.h"

View File

@ -27,7 +27,7 @@
#include "webrtc/modules/audio_device/fine_audio_buffer.h"
#include "webrtc/modules/utility/include/helpers_ios.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h"

View File

@ -10,7 +10,7 @@
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h"

View File

@ -15,7 +15,7 @@
#include "webrtc/base/criticalsection.h"
#include "webrtc/modules/audio_device/ios/audio_device_ios.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSession+Private.h"
NSString * const kRTCAudioSessionErrorDomain = @"org.webrtc.RTCAudioSession";

View File

@ -12,7 +12,7 @@
#include "webrtc/modules/audio_device/ios/audio_session_observer.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
@implementation RTCAudioSessionDelegateAdapter {
webrtc::AudioSessionObserver *_observer;

View File

@ -12,7 +12,7 @@
#include "webrtc/base/checks.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#import "webrtc/modules/audio_device/ios/objc/RTCAudioSessionConfiguration.h"
#if !defined(NDEBUG)

View File

@ -64,7 +64,7 @@
'type': 'static_library',
'includes': [ '../../../../build/objc_common.gypi' ],
'dependencies': [
'<(webrtc_root)/base/base.gyp:rtc_base_objc',
'<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_common_objc',
],
'link_settings': {
'xcode_settings': {

View File

@ -15,12 +15,12 @@
#include <memory>
#if defined(WEBRTC_IOS)
#include "RTCUIApplication.h"
#endif
#include "libyuv/convert.h"
#include "webrtc/base/checks.h"
#include "webrtc/base/logging.h"
#if defined(WEBRTC_IOS)
#include "webrtc/base/objc/RTCUIApplication.h"
#endif
#include "webrtc/common_video/include/corevideo_frame_buffer.h"
#include "webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_nalu.h"
#include "webrtc/video_frame.h"

View File

@ -17,12 +17,12 @@
#include <string>
#include <vector>
#if defined(WEBRTC_IOS)
#include "RTCUIApplication.h"
#endif
#include "libyuv/convert_from.h"
#include "webrtc/base/checks.h"
#include "webrtc/base/logging.h"
#if defined(WEBRTC_IOS)
#include "webrtc/base/objc/RTCUIApplication.h"
#endif
#include "webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_nalu.h"
#include "webrtc/system_wrappers/include/clock.h"

152
webrtc/sdk/BUILD.gn Normal file
View File

@ -0,0 +1,152 @@
# Copyright 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
import("../build/webrtc.gni")
import("//build_overrides/webrtc.gni")
if (is_ios) {
source_set("rtc_sdk_common_objc") {
deps = [
"../base:rtc_base",
]
cflags = [ "-fobjc-arc" ]
configs += [ "..:common_config" ]
public_configs = [ "..:common_inherited_config" ]
include_dirs = [
"objc/Framework/Classes",
"objc/Framework/Headers",
]
sources = [
"objc/Framework/Classes/NSString+StdString.h",
"objc/Framework/Classes/NSString+StdString.mm",
"objc/Framework/Classes/RTCCameraPreviewView.m",
"objc/Framework/Classes/RTCDispatcher.m",
"objc/Framework/Classes/RTCFieldTrials.mm",
"objc/Framework/Classes/RTCLogging.mm",
"objc/Framework/Classes/RTCSSLAdapter.mm",
"objc/Framework/Classes/RTCTracing.mm",
"objc/Framework/Classes/RTCUIApplication.h",
"objc/Framework/Classes/RTCUIApplication.mm",
"objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h",
"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/RTCSSLAdapter.h",
"objc/Framework/Headers/WebRTC/RTCTracing.h",
]
if (!build_with_chromium) {
sources += [
"objc/Framework/Classes/RTCFileLogger.mm",
"objc/Framework/Headers/WebRTC/RTCFileLogger.h",
]
}
libs = [ "AVFoundation.framework" ]
}
source_set("rtc_sdk_peerconnection_objc") {
deps = [
":rtc_sdk_common_objc",
#"../../talk/libjingle:libjingle_peerconnection",
]
cflags = [
"-fobjc-arc",
"-Wobjc-missing-property-synthesis",
]
include_dirs = [
"objc/Framework/Classes",
"objc/Framework/Headers",
]
sources = [
# Add these when there's a BUILD.gn for peer connection APIs
#"objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h",
#"objc/Framework/Classes/RTCAVFoundationVideoSource.mm",
#"objc/Framework/Classes/RTCAudioTrack+Private.h",
#"objc/Framework/Classes/RTCAudioTrack.mm",
#"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/RTCIceCandidate+Private.h",
#"objc/Framework/Classes/RTCIceCandidate.mm",
#"objc/Framework/Classes/RTCIceServer+Private.h",
#"objc/Framework/Classes/RTCIceServer.mm",
#"objc/Framework/Classes/RTCMediaConstraints+Private.h",
#"objc/Framework/Classes/RTCMediaConstraints.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/RTCOpenGLVideoRenderer.mm",
#"objc/Framework/Classes/RTCPeerConnection+Private.h",
#"objc/Framework/Classes/RTCPeerConnection.mm",
#"objc/Framework/Classes/RTCPeerConnectionFactory+Private.h",
#"objc/Framework/Classes/RTCPeerConnectionFactory.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/RTCRtpSender+Private.h",
#"objc/Framework/Classes/RTCRtpSender.mm",
#"objc/Framework/Classes/RTCSessionDescription+Private.h",
#"objc/Framework/Classes/RTCSessionDescription.mm",
#"objc/Framework/Classes/RTCStatsReport+Private.h",
#"objc/Framework/Classes/RTCStatsReport.mm",
#"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/avfoundationvideocapturer.h",
#"objc/Framework/Classes/avfoundationvideocapturer.mm",
#"objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h",
#"objc/Framework/Headers/WebRTC/RTCAudioTrack.h",
#"objc/Framework/Headers/WebRTC/RTCConfiguration.h",
#"objc/Framework/Headers/WebRTC/RTCDataChannel.h",
#"objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h",
#"objc/Framework/Headers/WebRTC/RTCIceCandidate.h",
#"objc/Framework/Headers/WebRTC/RTCIceServer.h",
#"objc/Framework/Headers/WebRTC/RTCMediaConstraints.h",
#"objc/Framework/Headers/WebRTC/RTCMediaStream.h",
#"objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h",
#"objc/Framework/Headers/WebRTC/RTCOpenGLVideoRenderer.h",
#"objc/Framework/Headers/WebRTC/RTCPeerConnection.h",
#"objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h",
#"objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h",
#"objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h",
#"objc/Framework/Headers/WebRTC/RTCRtpParameters.h",
#"objc/Framework/Headers/WebRTC/RTCRtpSender.h",
#"objc/Framework/Headers/WebRTC/RTCSessionDescription.h",
#"objc/Framework/Headers/WebRTC/RTCStatsReport.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",
]
if (is_ios) {
sources += [
"objc/Framework/Classes/RTCEAGLVideoView.m",
"objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h",
]
}
if (is_mac) {
sources += [
"objc/Framework/Classes/RTCNSGLVideoView.m",
"objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h",
]
}
}
}

6
webrtc/sdk/DEPS Normal file
View File

@ -0,0 +1,6 @@
include_rules = [
"+WebRTC",
"+webrtc/api",
"+webrtc/media",
"+webrtc/system_wrappers",
]

View File

@ -8,9 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCAVFoundationVideoSource.h"
#import "WebRTC/RTCAVFoundationVideoSource.h"
#include "webrtc/api/objc/avfoundationvideocapturer.h"
#include "avfoundationvideocapturer.h"
NS_ASSUME_NONNULL_BEGIN

View File

@ -10,9 +10,9 @@
#import "RTCAVFoundationVideoSource+Private.h"
#import "webrtc/api/objc/RTCMediaConstraints+Private.h"
#import "webrtc/api/objc/RTCPeerConnectionFactory+Private.h"
#import "webrtc/api/objc/RTCVideoSource+Private.h"
#import "RTCMediaConstraints+Private.h"
#import "RTCPeerConnectionFactory+Private.h"
#import "RTCVideoSource+Private.h"
@implementation RTCAVFoundationVideoSource {
webrtc::AVFoundationVideoCapturer *_capturer;

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCAudioTrack.h"
#import "WebRTC/RTCAudioTrack.h"
#include "webrtc/api/mediastreaminterface.h"

View File

@ -8,12 +8,11 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCAudioTrack.h"
#import "RTCAudioTrack+Private.h"
#import "webrtc/api/objc/RTCAudioTrack+Private.h"
#import "webrtc/api/objc/RTCMediaStreamTrack+Private.h"
#import "webrtc/api/objc/RTCPeerConnectionFactory+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "NSString+StdString.h"
#import "RTCMediaStreamTrack+Private.h"
#import "RTCPeerConnectionFactory+Private.h"
@implementation RTCAudioTrack

View File

@ -8,15 +8,11 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
#import "webrtc/base/objc/RTCCameraPreviewView.h"
#import "WebRTC/RTCCameraPreviewView.h"
#import <AVFoundation/AVFoundation.h>
#import "webrtc/base/objc/RTCDispatcher.h"
#import "RTCDispatcher+Private.h"
@implementation RTCCameraPreviewView

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCConfiguration.h"
#import "WebRTC/RTCConfiguration.h"
#include "webrtc/api/peerconnectioninterface.h"

View File

@ -8,15 +8,14 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCConfiguration.h"
#import "RTCConfiguration+Private.h"
#include <memory>
#include "webrtc/base/sslidentity.h"
#import "RTCIceServer+Private.h"
#import "WebRTC/RTCLogging.h"
#import "webrtc/api/objc/RTCConfiguration+Private.h"
#import "webrtc/api/objc/RTCIceServer+Private.h"
#import "webrtc/base/objc/RTCLogging.h"
#include "webrtc/base/sslidentity.h"
@implementation RTCConfiguration

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCDataChannel.h"
#import "WebRTC/RTCDataChannel.h"
#include "webrtc/api/datachannelinterface.h"
#include "webrtc/base/scoped_ref_ptr.h"

View File

@ -8,10 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCDataChannel.h"
#import "RTCDataChannel+Private.h"
#import "webrtc/api/objc/RTCDataChannel+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "NSString+StdString.h"
#include "webrtc/base/scoped_ptr.h"

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCDataChannelConfiguration.h"
#import "WebRTC/RTCDataChannelConfiguration.h"
#include "webrtc/api/datachannelinterface.h"

View File

@ -8,10 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCDataChannelConfiguration.h"
#import "RTCDataChannelConfiguration+Private.h"
#import "webrtc/api/objc/RTCDataChannelConfiguration+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "NSString+StdString.h"
@implementation RTCDataChannelConfiguration

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/base/objc/RTCDispatcher.h"
#import "WebRTC/RTCDispatcher.h"
@interface RTCDispatcher ()

View File

@ -8,8 +8,6 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCDispatcher.h"
#import "RTCDispatcher+Private.h"
static dispatch_queue_t kAudioSessionQueue = nil;

View File

@ -8,12 +8,12 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/api/objc/RTCEAGLVideoView.h"
#import "WebRTC/RTCEAGLVideoView.h"
#import <GLKit/GLKit.h>
#import "webrtc/api/objc/RTCOpenGLVideoRenderer.h"
#import "webrtc/api/objc/RTCVideoFrame.h"
#import "RTCOpenGLVideoRenderer.h"
#import "WebRTC//RTCVideoFrame.h"
// RTCDisplayLinkTimer wraps a CADisplayLink and is set to fire every two screen
// refreshes, which should be 30fps. We wrap the display link in order to avoid

View File

@ -8,12 +8,13 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/base/objc/RTCFieldTrials.h"
#import "WebRTC/RTCFieldTrials.h"
#include <memory>
#include "webrtc/system_wrappers/include/field_trial_default.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#include "webrtc/system_wrappers/include/field_trial_default.h"
static NSString * const kRTCEnableSendSideBweString =
@"WebRTC-SendSideBwe/Enabled/";

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCFileLogger.h"
#import "WebRTC/RTCFileLogger.h"
#include "webrtc/base/checks.h"
#include "webrtc/base/filerotatingstream.h"

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCIceCandidate.h"
#import "WebRTC/RTCIceCandidate.h"
#include "webrtc/api/jsep.h"
#include "webrtc/base/scoped_ptr.h"

View File

@ -8,11 +8,10 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCIceCandidate.h"
#import "RTCIceCandidate+Private.h"
#import "webrtc/api/objc/RTCIceCandidate+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "NSString+StdString.h"
#import "WebRTC/RTCLogging.h"
@implementation RTCIceCandidate

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCIceServer.h"
#import "WebRTC/RTCIceServer.h"
#include "webrtc/api/peerconnectioninterface.h"

View File

@ -8,10 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCIceServer.h"
#import "RTCIceServer+Private.h"
#import "webrtc/api/objc/RTCIceServer+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "NSString+StdString.h"
@implementation RTCIceServer

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCLogging.h"
#import "WebRTC/RTCLogging.h"
#include "webrtc/base/logging.h"

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCMediaConstraints.h"
#import "WebRTC/RTCMediaConstraints.h"
#include "webrtc/api/mediaconstraintsinterface.h"
#include "webrtc/base/scoped_ptr.h"

View File

@ -8,10 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCMediaConstraints.h"
#import "RTCMediaConstraints+Private.h"
#import "webrtc/api/objc/RTCMediaConstraints+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "NSString+StdString.h"
namespace webrtc {

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCMediaStream.h"
#import "WebRTC/RTCMediaStream.h"
#include "webrtc/api/mediastreaminterface.h"

View File

@ -8,16 +8,15 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCMediaStream.h"
#import "RTCMediaStream+Private.h"
#include <vector>
#import "webrtc/api/objc/RTCAudioTrack+Private.h"
#import "webrtc/api/objc/RTCMediaStream+Private.h"
#import "webrtc/api/objc/RTCMediaStreamTrack+Private.h"
#import "webrtc/api/objc/RTCPeerConnectionFactory+Private.h"
#import "webrtc/api/objc/RTCVideoTrack+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "NSString+StdString.h"
#import "RTCAudioTrack+Private.h"
#import "RTCMediaStreamTrack+Private.h"
#import "RTCPeerConnectionFactory+Private.h"
#import "RTCVideoTrack+Private.h"
@implementation RTCMediaStream {
NSMutableArray *_audioTracks;

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCMediaStreamTrack.h"
#import "WebRTC/RTCMediaStreamTrack.h"
#include "webrtc/api/mediastreaminterface.h"
#include "webrtc/base/scoped_ptr.h"

View File

@ -8,10 +8,9 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCMediaStreamTrack.h"
#import "RTCMediaStreamTrack+Private.h"
#import "webrtc/api/objc/RTCMediaStreamTrack+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "NSString+StdString.h"
@implementation RTCMediaStreamTrack {
rtc::scoped_refptr<webrtc::MediaStreamTrackInterface> _nativeTrack;

View File

@ -8,12 +8,15 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCNSGLVideoView.h"
#if !TARGET_OS_IPHONE
#import "WebRTC/RTCNSGLVideoView.h"
#import <CoreVideo/CVDisplayLink.h>
#import <OpenGL/gl3.h>
#import "RTCVideoFrame.h"
#import "RTCOpenGLVideoRenderer.h"
#import "WebRTC/RTCVideoFrame.h"
@interface RTCNSGLVideoView ()
// |videoFrame| is set when we receive a frame from a worker thread and is read
@ -139,3 +142,5 @@ static CVReturn OnDisplayLinkFired(CVDisplayLinkRef displayLink,
}
@end
#endif // !TARGET_OS_IPHONE

View File

@ -15,7 +15,7 @@
#import <AppKit/NSOpenGL.h>
#endif
#import "webrtc/base/objc/RTCMacros.h"
#import "WebRTC/RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN

View File

@ -10,17 +10,16 @@
#import "RTCOpenGLVideoRenderer.h"
#include <string.h>
#include "webrtc/base/scoped_ptr.h"
#if TARGET_OS_IPHONE
#import <OpenGLES/ES3/gl.h>
#else
#import <OpenGL/gl3.h>
#endif
#include <string.h>
#import "RTCVideoFrame.h"
#import "WebRTC/RTCVideoFrame.h"
#include "webrtc/base/scoped_ptr.h"
// TODO(tkchin): check and log openGL errors. Methods here return BOOLs in
// anticipation of that happening in the future.

View File

@ -8,11 +8,11 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/api/objc/RTCPeerConnection+Private.h"
#import "RTCPeerConnection+Private.h"
#import "webrtc/api/objc/RTCDataChannel+Private.h"
#import "webrtc/api/objc/RTCDataChannelConfiguration+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "NSString+StdString.h"
#import "RTCDataChannel+Private.h"
#import "RTCDataChannelConfiguration+Private.h"
@implementation RTCPeerConnection (DataChannel)

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/api/objc/RTCPeerConnection.h"
#import "WebRTC/RTCPeerConnection.h"
#include "webrtc/api/peerconnectioninterface.h"

View File

@ -8,14 +8,14 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/api/objc/RTCPeerConnection+Private.h"
#import "RTCPeerConnection+Private.h"
#import "NSString+StdString.h"
#import "RTCMediaStreamTrack+Private.h"
#import "RTCStatsReport+Private.h"
#include "webrtc/base/checks.h"
#import "webrtc/api/objc/RTCMediaStreamTrack+Private.h"
#import "webrtc/api/objc/RTCStatsReport+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
namespace webrtc {
class StatsObserverAdapter : public StatsObserver {

View File

@ -8,23 +8,22 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "webrtc/api/objc/RTCPeerConnection.h"
#import "RTCPeerConnection+Private.h"
#import "NSString+StdString.h"
#import "RTCConfiguration+Private.h"
#import "RTCDataChannel+Private.h"
#import "RTCIceCandidate+Private.h"
#import "RTCMediaConstraints+Private.h"
#import "RTCMediaStream+Private.h"
#import "RTCPeerConnectionFactory+Private.h"
#import "RTCRtpSender+Private.h"
#import "RTCSessionDescription+Private.h"
#import "RTCStatsReport+Private.h"
#import "WebRTC/RTCLogging.h"
#include "webrtc/base/checks.h"
#import "webrtc/api/objc/RTCPeerConnection+Private.h"
#import "webrtc/api/objc/RTCConfiguration+Private.h"
#import "webrtc/api/objc/RTCDataChannel+Private.h"
#import "webrtc/api/objc/RTCIceCandidate+Private.h"
#import "webrtc/api/objc/RTCMediaConstraints+Private.h"
#import "webrtc/api/objc/RTCMediaStream+Private.h"
#import "webrtc/api/objc/RTCPeerConnectionFactory+Private.h"
#import "webrtc/api/objc/RTCRtpSender+Private.h"
#import "webrtc/api/objc/RTCSessionDescription+Private.h"
#import "webrtc/api/objc/RTCStatsReport+Private.h"
#import "webrtc/base/objc/RTCLogging.h"
#import "webrtc/base/objc/NSString+StdString.h"
NSString * const kRTCPeerConnectionErrorDomain =
@"org.webrtc.RTCPeerConnection";
int const kRTCPeerConnnectionSessionDescriptionError = -1;

View File

@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCPeerConnectionFactory.h"
#import "WebRTC/RTCPeerConnectionFactory.h"
#include "webrtc/api/peerconnectionfactory.h"
#include "webrtc/base/scoped_ref_ptr.h"

View File

@ -8,18 +8,17 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCPeerConnectionFactory.h"
#import "RTCPeerConnectionFactory+Private.h"
#import "NSString+StdString.h"
#if defined(WEBRTC_IOS)
#import "webrtc/api/objc/RTCAVFoundationVideoSource+Private.h"
#import "RTCAVFoundationVideoSource+Private.h"
#endif
#import "webrtc/api/objc/RTCAudioTrack+Private.h"
#import "webrtc/api/objc/RTCMediaStream+Private.h"
#import "webrtc/api/objc/RTCPeerConnection+Private.h"
#import "webrtc/api/objc/RTCPeerConnectionFactory+Private.h"
#import "webrtc/api/objc/RTCVideoSource+Private.h"
#import "webrtc/api/objc/RTCVideoTrack+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "RTCAudioTrack+Private.h"
#import "RTCMediaStream+Private.h"
#import "RTCPeerConnection+Private.h"
#import "RTCVideoSource+Private.h"
#import "RTCVideoTrack+Private.h"
@implementation RTCPeerConnectionFactory {
rtc::scoped_ptr<rtc::Thread> _signalingThread;
@ -44,7 +43,6 @@
return self;
}
- (RTCAVFoundationVideoSource *)avFoundationVideoSourceWithConstraints:
(nullable RTCMediaConstraints *)constraints {
#if defined(WEBRTC_IOS)

View File

@ -8,9 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
#import <Foundation/Foundation.h>
#import "webrtc/api/objc/RTCRtpCodecParameters.h"
#import "WebRTC/RTCRtpCodecParameters.h"
#include "webrtc/api/rtpparameters.h"

View File

@ -10,21 +10,23 @@
#import "RTCRtpCodecParameters+Private.h"
#import "webrtc/base/objc/NSString+StdString.h"
#import "webrtc/media/base/mediaconstants.h"
#import "NSString+StdString.h"
const NSString * const kRtxCodecMimeType = @(cricket::kRtxCodecName);
const NSString * const kRedCodecMimeType = @(cricket::kRedCodecName);
const NSString * const kUlpfecCodecMimeType = @(cricket::kUlpfecCodecName);
const NSString * const kOpusCodecMimeType = @(cricket::kOpusCodecName);
const NSString * const kIsacCodecMimeType = @(cricket::kIsacCodecName);
const NSString * const kL16CodecMimeType = @(cricket::kL16CodecName);
const NSString * const kG722CodecMimeType = @(cricket::kG722CodecName);
const NSString * const kIlbcCodecMimeType = @(cricket::kIlbcCodecName);
const NSString * const kPcmuCodecMimeType = @(cricket::kPcmuCodecName);
const NSString * const kPcmaCodecMimeType = @(cricket::kPcmaCodecName);
const NSString * const kDtmfCodecMimeType = @(cricket::kDtmfCodecName);
const NSString * const kComfortNoiseCodecMimeType = @(cricket::kComfortNoiseCodecName);
#include "webrtc/media/base/mediaconstants.h"
const NSString * const kRTCRtxCodecMimeType = @(cricket::kRtxCodecName);
const NSString * const kRTCRedCodecMimeType = @(cricket::kRedCodecName);
const NSString * const kRTCUlpfecCodecMimeType = @(cricket::kUlpfecCodecName);
const NSString * const kRTCOpusCodecMimeType = @(cricket::kOpusCodecName);
const NSString * const kRTCIsacCodecMimeType = @(cricket::kIsacCodecName);
const NSString * const kRTCL16CodecMimeType = @(cricket::kL16CodecName);
const NSString * const kRTCG722CodecMimeType = @(cricket::kG722CodecName);
const NSString * const kRTCIlbcCodecMimeType = @(cricket::kIlbcCodecName);
const NSString * const kRTCPcmuCodecMimeType = @(cricket::kPcmuCodecName);
const NSString * const kRTCPcmaCodecMimeType = @(cricket::kPcmaCodecName);
const NSString * const kRTCDtmfCodecMimeType = @(cricket::kDtmfCodecName);
const NSString * const kRTCComfortNoiseCodecMimeType =
@(cricket::kComfortNoiseCodecName);
const NSString * const kVp8CodecMimeType = @(cricket::kVp8CodecName);
const NSString * const kVp9CodecMimeType = @(cricket::kVp9CodecName);
const NSString * const kH264CodecMimeType = @(cricket::kH264CodecName);

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