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}
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index d2ab65f..05f62cf 100755
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -229,6 +229,7 @@
         'base_tests.gyp',
         'desktop_capture.gypi',
         'p2p.gyp',
+        'sdk.gyp',
         'webrtc_test_common.gyp',
         'webrtc_tests.gypi',
     )
diff --git a/talk/app/webrtc/legacy_objc_api.gyp b/talk/app/webrtc/legacy_objc_api.gyp
index d2698e4..f681906 100755
--- a/talk/app/webrtc/legacy_objc_api.gyp
+++ b/talk/app/webrtc/legacy_objc_api.gyp
@@ -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': {
diff --git a/talk/app/webrtc/objc/avfoundationvideocapturer.mm b/talk/app/webrtc/objc/avfoundationvideocapturer.mm
index f6615ad..2b1c245 100644
--- a/talk/app/webrtc/objc/avfoundationvideocapturer.mm
+++ b/talk/app/webrtc/objc/avfoundationvideocapturer.mm
@@ -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;
diff --git a/webrtc/DEPS b/webrtc/DEPS
index 992c32a..ab08fbf 100644
--- a/webrtc/DEPS
+++ b/webrtc/DEPS
@@ -29,6 +29,7 @@
   "+webrtc/video_renderer.h",
   "+webrtc/video_send_stream.h",
 
+  "+WebRTC",
   "+webrtc/base",
   "+webrtc/modules/include",
   "+webrtc/test",
diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn
index 6503953..6dc5217 100644
--- a/webrtc/api/BUILD.gn
+++ b/webrtc/api/BUILD.gn
@@ -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",
-      ]
-    }
-  }
-}
diff --git a/webrtc/api/api.gyp b/webrtc/api/api.gyp
index 3d47053..0341741 100644
--- a/webrtc/api/api.gyp
+++ b/webrtc/api/api.gyp
@@ -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': [
     {
diff --git a/webrtc/api/api_tests.gyp b/webrtc/api/api_tests.gyp
index 0d08e7f..f59eaec 100644
--- a/webrtc/api/api_tests.gyp
+++ b/webrtc/api/api_tests.gyp
@@ -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': [
         {
diff --git a/webrtc/api/objc/OWNERS b/webrtc/api/objc/OWNERS
deleted file mode 100644
index cd06158..0000000
--- a/webrtc/api/objc/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-tkchin@webrtc.org
diff --git a/webrtc/api/objc/README b/webrtc/api/objc/README
deleted file mode 100644
index bd33e61..0000000
--- a/webrtc/api/objc/README
+++ /dev/null
@@ -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.
diff --git a/webrtc/api/objc/RTCRtpCodecParameters.h b/webrtc/api/objc/RTCRtpCodecParameters.h
deleted file mode 100644
index ec0c647..0000000
--- a/webrtc/api/objc/RTCRtpCodecParameters.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- *  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 <Foundation/Foundation.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-extern const NSString * const kRtxCodecMimeType;
-extern const NSString * const kRedCodecMimeType;
-extern const NSString * const kUlpfecCodecMimeType;
-extern const NSString * const kOpusCodecMimeType;
-extern const NSString * const kIsacCodecMimeType;
-extern const NSString * const kL16CodecMimeType;
-extern const NSString * const kG722CodecMimeType;
-extern const NSString * const kIlbcCodecMimeType;
-extern const NSString * const kPcmuCodecMimeType;
-extern const NSString * const kPcmaCodecMimeType;
-extern const NSString * const kDtmfCodecMimeType;
-extern const NSString * const kComfortNoiseCodecMimeType;
-extern const NSString * const kVp8CodecMimeType;
-extern const NSString * const kVp9CodecMimeType;
-extern const NSString * const kH264CodecMimeType;
-
-/** Defined in http://w3c.github.io/webrtc-pc/#idl-def-RTCRtpCodecParameters */
-@interface RTCRtpCodecParameters : NSObject
-
-/** The RTP payload type. */
-@property(nonatomic, assign) int payloadType;
-
-/**
- * The codec MIME type. Valid types are listed in:
- * http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-2
- *
- * Several supported types are represented by the constants above.
- */
-@property(nonatomic, nonnull) NSString *mimeType;
-
-/** The codec clock rate expressed in Hertz. */
-@property(nonatomic, assign) int clockRate;
-
-/** The number of channels (mono=1, stereo=2). */
-@property(nonatomic, assign) int channels;
-
-- (instancetype)init NS_DESIGNATED_INITIALIZER;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/webrtc/base/BUILD.gn b/webrtc/base/BUILD.gn
index 5d93c5a..a143f21 100644
--- a/webrtc/base/BUILD.gn
+++ b/webrtc/base/BUILD.gn
@@ -597,44 +597,6 @@
   }
 }
 
-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",
diff --git a/webrtc/base/base.gyp b/webrtc/base/base.gyp
index 0e6198c..01ee3f1 100644
--- a/webrtc/base/base.gyp
+++ b/webrtc/base/base.gyp
@@ -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': [
     {
diff --git a/webrtc/base/objc/OWNERS b/webrtc/base/objc/OWNERS
deleted file mode 100644
index cd06158..0000000
--- a/webrtc/base/objc/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-tkchin@webrtc.org
diff --git a/webrtc/build/ios/SDK/Framework/WebRTC.xcodeproj/project.pbxproj b/webrtc/build/ios/SDK/Framework/WebRTC.xcodeproj/project.pbxproj
deleted file mode 100644
index dcc09c1..0000000
--- a/webrtc/build/ios/SDK/Framework/WebRTC.xcodeproj/project.pbxproj
+++ /dev/null
@@ -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 */;
-}
diff --git a/webrtc/build/ios/SDK/Framework/WebRTC.xcodeproj/xcshareddata/xcschemes/WebRTC.xcscheme b/webrtc/build/ios/SDK/Framework/WebRTC.xcodeproj/xcshareddata/xcschemes/WebRTC.xcscheme
deleted file mode 100644
index 2447c44..0000000
--- a/webrtc/build/ios/SDK/Framework/WebRTC.xcodeproj/xcshareddata/xcschemes/WebRTC.xcscheme
+++ /dev/null
@@ -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>
diff --git a/webrtc/build/ios/SDK/PodTest/Podfile b/webrtc/build/ios/SDK/PodTest/Podfile
index 730afcf..fec22d9 100644
--- a/webrtc/build/ios/SDK/PodTest/Podfile
+++ b/webrtc/build/ios/SDK/PodTest/Podfile
@@ -4,6 +4,6 @@
 # use_frameworks!
 
 target 'PodTest' do
-pod "WebRTC", :path => "../../../../../out_ios_framework"
+pod "WebRTC", :path => "../../../../../out_ios_libs"
 end
 
diff --git a/webrtc/build/ios/SDK/README b/webrtc/build/ios/SDK/README
deleted file mode 100644
index c234617..0000000
--- a/webrtc/build/ios/SDK/README
+++ /dev/null
@@ -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.
diff --git a/webrtc/build/ios/build_ios_framework.sh b/webrtc/build/ios/build_ios_framework.sh
deleted file mode 100755
index b5bb76e..0000000
--- a/webrtc/build/ios/build_ios_framework.sh
+++ /dev/null
@@ -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}
diff --git a/webrtc/build/ios/build_ios_libs.sh b/webrtc/build/ios/build_ios_libs.sh
index 5617552..ef64ab0 100755
--- a/webrtc/build/ios/build_ios_libs.sh
+++ b/webrtc/build/ios/build_ios_libs.sh
@@ -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 @@
 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 @@
     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 @@
   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 @@
   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 @@
   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 @@
 # 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 @@
 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!"
diff --git a/webrtc/build/ios/export_headers.py b/webrtc/build/ios/export_headers.py
deleted file mode 100755
index 4be39fb..0000000
--- a/webrtc/build/ios/export_headers.py
+++ /dev/null
@@ -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())
diff --git a/webrtc/build/ios/flatten_ios_headers.py b/webrtc/build/ios/flatten_ios_headers.py
deleted file mode 100755
index ae58fc8..0000000
--- a/webrtc/build/ios/flatten_ios_headers.py
+++ /dev/null
@@ -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())
diff --git a/webrtc/build/ios/merge_ios_libs.gyp b/webrtc/build/ios/merge_ios_libs.gyp
index cc24d65..5b0a9cb 100644
--- a/webrtc/build/ios/merge_ios_libs.gyp
+++ b/webrtc/build/ios/merge_ios_libs.gyp
@@ -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',],
         },
diff --git a/webrtc/build/ios/tests/common_tests.json b/webrtc/build/ios/tests/common_tests.json
index 5b08af8..e1c99a4 100644
--- a/webrtc/build/ios/tests/common_tests.json
+++ b/webrtc/build/ios/tests/common_tests.json
@@ -13,7 +13,7 @@
       "app": "modules_tests"
     },
     {
-      "app": "rtc_api_objc_tests"
+      "app": "rtc_sdk_peerconnection_objc_tests"
     },
     {
       "app": "rtc_pc_unittests"
diff --git a/webrtc/build/objc_common.gypi b/webrtc/build/objc_common.gypi
index 086210e..ff908cf 100644
--- a/webrtc/build/objc_common.gypi
+++ b/webrtc/build/objc_common.gypi
@@ -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',
diff --git a/webrtc/examples/DEPS b/webrtc/examples/DEPS
index df9e040..f065c89 100644
--- a/webrtc/examples/DEPS
+++ b/webrtc/examples/DEPS
@@ -1,4 +1,5 @@
 include_rules = [
+  "+WebRTC",
   "+webrtc/api",
   "+webrtc/base",
   "+webrtc/media",
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDAppClient+Internal.h b/webrtc/examples/objc/AppRTCDemo/ARDAppClient+Internal.h
index 3fd218c..f2da413 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDAppClient+Internal.h
+++ b/webrtc/examples/objc/AppRTCDemo/ARDAppClient+Internal.h
@@ -10,7 +10,7 @@
 
 #import "ARDAppClient.h"
 
-#import "webrtc/api/objc/RTCPeerConnection.h"
+#import "WebRTC/RTCPeerConnection.h"
 
 #import "ARDRoomServerClient.h"
 #import "ARDSignalingChannel.h"
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDAppClient.h b/webrtc/examples/objc/AppRTCDemo/ARDAppClient.h
index b59838e..b7f7546 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDAppClient.h
+++ b/webrtc/examples/objc/AppRTCDemo/ARDAppClient.h
@@ -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.
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m b/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m
index d8dc771..7d060c9 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m
+++ b/webrtc/examples/objc/AppRTCDemo/ARDAppClient.m
@@ -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 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;
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDAppEngineClient.m b/webrtc/examples/objc/AppRTCDemo/ARDAppEngineClient.m
index 7d8a185..0ba32c4 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDAppEngineClient.m
+++ b/webrtc/examples/objc/AppRTCDemo/ARDAppEngineClient.m
@@ -10,7 +10,7 @@
 
 #import "ARDAppEngineClient.h"
 
-#import "webrtc/base/objc/RTCLogging.h"
+#import "WebRTC/RTCLogging.h"
 
 #import "ARDJoinResponse.h"
 #import "ARDMessageResponse.h"
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDSDPUtils.m b/webrtc/examples/objc/AppRTCDemo/ARDSDPUtils.m
index be93ae2..3a8a578 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDSDPUtils.m
+++ b/webrtc/examples/objc/AppRTCDemo/ARDSDPUtils.m
@@ -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
 
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.h b/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.h
index 5cba495..18eafe2 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.h
+++ b/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.h
@@ -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,
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.m b/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.m
index 6dd04cc..a5ca295 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.m
+++ b/webrtc/examples/objc/AppRTCDemo/ARDSignalingMessage.m
@@ -10,7 +10,7 @@
 
 #import "ARDSignalingMessage.h"
 
-#import "webrtc/base/objc/RTCLogging.h"
+#import "WebRTC/RTCLogging.h"
 
 #import "ARDUtilities.h"
 #import "RTCIceCandidate+JSON.h"
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDStatsBuilder.m b/webrtc/examples/objc/AppRTCDemo/ARDStatsBuilder.m
index 60cf551..1f4ada6 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDStatsBuilder.m
+++ b/webrtc/examples/objc/AppRTCDemo/ARDStatsBuilder.m
@@ -10,7 +10,7 @@
 
 #import "ARDStatsBuilder.h"
 
-#import "webrtc/api/objc/RTCStatsReport.h"
+#import "WebRTC/RTCStatsReport.h"
 
 #import "ARDBitrateTracker.h"
 #import "ARDUtilities.h"
diff --git a/webrtc/examples/objc/AppRTCDemo/ARDWebSocketChannel.m b/webrtc/examples/objc/AppRTCDemo/ARDWebSocketChannel.m
index 0e753e8..87a690e 100644
--- a/webrtc/examples/objc/AppRTCDemo/ARDWebSocketChannel.m
+++ b/webrtc/examples/objc/AppRTCDemo/ARDWebSocketChannel.m
@@ -10,7 +10,7 @@
 
 #import "ARDWebSocketChannel.h"
 
-#import "webrtc/base/objc/RTCLogging.h"
+#import "WebRTC/RTCLogging.h"
 #import "SRWebSocket.h"
 
 #import "ARDSignalingMessage.h"
diff --git a/webrtc/examples/objc/AppRTCDemo/RTCICECandidate+JSON.h b/webrtc/examples/objc/AppRTCDemo/RTCICECandidate+JSON.h
index 0ee6a78..1051f8e 100644
--- a/webrtc/examples/objc/AppRTCDemo/RTCICECandidate+JSON.h
+++ b/webrtc/examples/objc/AppRTCDemo/RTCICECandidate+JSON.h
@@ -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)
 
diff --git a/webrtc/examples/objc/AppRTCDemo/RTCICECandidate+JSON.m b/webrtc/examples/objc/AppRTCDemo/RTCICECandidate+JSON.m
index 773c346..f20c490 100644
--- a/webrtc/examples/objc/AppRTCDemo/RTCICECandidate+JSON.m
+++ b/webrtc/examples/objc/AppRTCDemo/RTCICECandidate+JSON.m
@@ -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";
diff --git a/webrtc/examples/objc/AppRTCDemo/RTCICEServer+JSON.h b/webrtc/examples/objc/AppRTCDemo/RTCICEServer+JSON.h
index a6d63e4..69fb432 100644
--- a/webrtc/examples/objc/AppRTCDemo/RTCICEServer+JSON.h
+++ b/webrtc/examples/objc/AppRTCDemo/RTCICEServer+JSON.h
@@ -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)
 
diff --git a/webrtc/examples/objc/AppRTCDemo/RTCMediaConstraints+JSON.h b/webrtc/examples/objc/AppRTCDemo/RTCMediaConstraints+JSON.h
index 88a4c35..74f89a9 100644
--- a/webrtc/examples/objc/AppRTCDemo/RTCMediaConstraints+JSON.h
+++ b/webrtc/examples/objc/AppRTCDemo/RTCMediaConstraints+JSON.h
@@ -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)
 
diff --git a/webrtc/examples/objc/AppRTCDemo/RTCSessionDescription+JSON.h b/webrtc/examples/objc/AppRTCDemo/RTCSessionDescription+JSON.h
index 2f952ee..cccff9a 100644
--- a/webrtc/examples/objc/AppRTCDemo/RTCSessionDescription+JSON.h
+++ b/webrtc/examples/objc/AppRTCDemo/RTCSessionDescription+JSON.h
@@ -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)
 
diff --git a/webrtc/examples/objc/AppRTCDemo/common/ARDUtilities.m b/webrtc/examples/objc/AppRTCDemo/common/ARDUtilities.m
index ad5768d..c9d029f 100644
--- a/webrtc/examples/objc/AppRTCDemo/common/ARDUtilities.m
+++ b/webrtc/examples/objc/AppRTCDemo/common/ARDUtilities.m
@@ -12,7 +12,7 @@
 
 #import <mach/mach.h>
 
-#import "webrtc/base/objc/RTCLogging.h"
+#import "WebRTC/RTCLogging.h"
 
 @implementation NSDictionary (ARDUtilites)
 
diff --git a/webrtc/examples/objc/AppRTCDemo/ios/ARDAppDelegate.m b/webrtc/examples/objc/AppRTCDemo/ios/ARDAppDelegate.m
index c18c818..8f19262 100644
--- a/webrtc/examples/objc/AppRTCDemo/ios/ARDAppDelegate.m
+++ b/webrtc/examples/objc/AppRTCDemo/ios/ARDAppDelegate.m
@@ -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"
 
diff --git a/webrtc/examples/objc/AppRTCDemo/ios/ARDMainViewController.m b/webrtc/examples/objc/AppRTCDemo/ios/ARDMainViewController.m
index a634952..d11f092 100644
--- a/webrtc/examples/objc/AppRTCDemo/ios/ARDMainViewController.m
+++ b/webrtc/examples/objc/AppRTCDemo/ios/ARDMainViewController.m
@@ -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"
 
diff --git a/webrtc/examples/objc/AppRTCDemo/ios/ARDStatsView.m b/webrtc/examples/objc/AppRTCDemo/ios/ARDStatsView.m
index be0bdd5..f452242 100644
--- a/webrtc/examples/objc/AppRTCDemo/ios/ARDStatsView.m
+++ b/webrtc/examples/objc/AppRTCDemo/ios/ARDStatsView.m
@@ -10,7 +10,7 @@
 
 #import "ARDStatsView.h"
 
-#import "webrtc/api/objc/RTCStatsReport.h"
+#import "WebRTC/RTCStatsReport.h"
 
 #import "ARDStatsBuilder.h"
 
diff --git a/webrtc/examples/objc/AppRTCDemo/ios/ARDVideoCallView.h b/webrtc/examples/objc/AppRTCDemo/ios/ARDVideoCallView.h
index 980abd4..dec1bfc 100644
--- a/webrtc/examples/objc/AppRTCDemo/ios/ARDVideoCallView.h
+++ b/webrtc/examples/objc/AppRTCDemo/ios/ARDVideoCallView.h
@@ -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"
 
diff --git a/webrtc/examples/objc/AppRTCDemo/ios/ARDVideoCallViewController.m b/webrtc/examples/objc/AppRTCDemo/ios/ARDVideoCallViewController.m
index b878677..80bbb10 100644
--- a/webrtc/examples/objc/AppRTCDemo/ios/ARDVideoCallViewController.m
+++ b/webrtc/examples/objc/AppRTCDemo/ios/ARDVideoCallViewController.m
@@ -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"
diff --git a/webrtc/examples/objc/AppRTCDemo/mac/APPRTCAppDelegate.m b/webrtc/examples/objc/AppRTCDemo/mac/APPRTCAppDelegate.m
index f0b2a04..e79519a 100644
--- a/webrtc/examples/objc/AppRTCDemo/mac/APPRTCAppDelegate.m
+++ b/webrtc/examples/objc/AppRTCDemo/mac/APPRTCAppDelegate.m
@@ -14,7 +14,7 @@
 
 #import "APPRTCAppDelegate.h"
 
-#import "webrtc/base/objc/RTCSSLAdapter.h"
+#import "WebRTC/RTCSSLAdapter.h"
 
 #import "APPRTCViewController.h"
 
diff --git a/webrtc/examples/objc/AppRTCDemo/mac/APPRTCViewController.m b/webrtc/examples/objc/AppRTCDemo/mac/APPRTCViewController.m
index db7b19c..4d58d2a 100644
--- a/webrtc/examples/objc/AppRTCDemo/mac/APPRTCViewController.m
+++ b/webrtc/examples/objc/AppRTCDemo/mac/APPRTCViewController.m
@@ -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"
 
diff --git a/webrtc/examples/objc/AppRTCDemo/tests/ARDAppClientTest.mm b/webrtc/examples/objc/AppRTCDemo/tests/ARDAppClientTest.mm
index b6a14d2..169f999 100644
--- a/webrtc/examples/objc/AppRTCDemo/tests/ARDAppClientTest.mm
+++ b/webrtc/examples/objc/AppRTCDemo/tests/ARDAppClientTest.mm
@@ -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"
diff --git a/webrtc/modules/audio_device/BUILD.gn b/webrtc/modules/audio_device/BUILD.gn
index 198b67d..d743a6a 100644
--- a/webrtc/modules/audio_device/BUILD.gn
+++ b/webrtc/modules/audio_device/BUILD.gn
@@ -138,7 +138,7 @@
       ]
     }
     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",
diff --git a/webrtc/modules/audio_device/audio_device.gypi b/webrtc/modules/audio_device/audio_device.gypi
index abefcdb..a7c5789 100644
--- a/webrtc/modules/audio_device/audio_device.gypi
+++ b/webrtc/modules/audio_device/audio_device.gypi
@@ -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',
diff --git a/webrtc/modules/audio_device/ios/audio_device_ios.h b/webrtc/modules/audio_device/ios/audio_device_ios.h
index bfa6372..786f718 100644
--- a/webrtc/modules/audio_device/ios/audio_device_ios.h
+++ b/webrtc/modules/audio_device/ios/audio_device_ios.h
@@ -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"
diff --git a/webrtc/modules/audio_device/ios/audio_device_ios.mm b/webrtc/modules/audio_device/ios/audio_device_ios.mm
index f6c339f..0e127c9 100644
--- a/webrtc/modules/audio_device/ios/audio_device_ios.mm
+++ b/webrtc/modules/audio_device/ios/audio_device_ios.mm
@@ -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"
diff --git a/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm b/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm
index 06ddddd..85d442a 100644
--- a/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm
+++ b/webrtc/modules/audio_device/ios/objc/RTCAudioSession+Configuration.mm
@@ -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"
 
diff --git a/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm b/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm
index 3b6e05d..e6b3657 100644
--- a/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm
+++ b/webrtc/modules/audio_device/ios/objc/RTCAudioSession.mm
@@ -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";
diff --git a/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm b/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm
index 21e8c3e..2df502e 100644
--- a/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm
+++ b/webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.mm
@@ -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;
diff --git a/webrtc/modules/audio_device/ios/voice_processing_audio_unit.mm b/webrtc/modules/audio_device/ios/voice_processing_audio_unit.mm
index db756a4..08816a4 100644
--- a/webrtc/modules/audio_device/ios/voice_processing_audio_unit.mm
+++ b/webrtc/modules/audio_device/ios/voice_processing_audio_unit.mm
@@ -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)
diff --git a/webrtc/modules/video_coding/codecs/h264/h264.gypi b/webrtc/modules/video_coding/codecs/h264/h264.gypi
index 9cb58a8..92489c3 100644
--- a/webrtc/modules/video_coding/codecs/h264/h264.gypi
+++ b/webrtc/modules/video_coding/codecs/h264/h264.gypi
@@ -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': {
diff --git a/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_decoder.cc b/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_decoder.cc
index 0ea2600..18820d3 100644
--- a/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_decoder.cc
+++ b/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_decoder.cc
@@ -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"
diff --git a/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.cc b/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.cc
index 992ec0c..7d04f23 100644
--- a/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.cc
+++ b/webrtc/modules/video_coding/codecs/h264/h264_video_toolbox_encoder.cc
@@ -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"
 
diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn
new file mode 100644
index 0000000..6bf5e58
--- /dev/null
+++ b/webrtc/sdk/BUILD.gn
@@ -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",
+      ]
+    }
+  }
+}
diff --git a/webrtc/sdk/DEPS b/webrtc/sdk/DEPS
new file mode 100644
index 0000000..1bb7a2f
--- /dev/null
+++ b/webrtc/sdk/DEPS
@@ -0,0 +1,6 @@
+include_rules = [
+  "+WebRTC",
+  "+webrtc/api",
+  "+webrtc/media",
+  "+webrtc/system_wrappers",
+]
diff --git a/webrtc/base/objc/NSString+StdString.h b/webrtc/sdk/objc/Framework/Classes/NSString+StdString.h
similarity index 100%
rename from webrtc/base/objc/NSString+StdString.h
rename to webrtc/sdk/objc/Framework/Classes/NSString+StdString.h
diff --git a/webrtc/base/objc/NSString+StdString.mm b/webrtc/sdk/objc/Framework/Classes/NSString+StdString.mm
similarity index 100%
rename from webrtc/base/objc/NSString+StdString.mm
rename to webrtc/sdk/objc/Framework/Classes/NSString+StdString.mm
diff --git a/webrtc/api/objc/RTCAVFoundationVideoSource+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h
similarity index 89%
rename from webrtc/api/objc/RTCAVFoundationVideoSource+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h
index 067e506..7a4de08 100644
--- a/webrtc/api/objc/RTCAVFoundationVideoSource+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h
@@ -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
 
diff --git a/webrtc/api/objc/RTCAVFoundationVideoSource.mm b/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource.mm
similarity index 89%
rename from webrtc/api/objc/RTCAVFoundationVideoSource.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource.mm
index 94774f7..528e8cb 100644
--- a/webrtc/api/objc/RTCAVFoundationVideoSource.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource.mm
@@ -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;
diff --git a/webrtc/api/objc/RTCAudioTrack+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack+Private.h
similarity index 96%
rename from webrtc/api/objc/RTCAudioTrack+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCAudioTrack+Private.h
index ea86b1f..cb5f186 100644
--- a/webrtc/api/objc/RTCAudioTrack+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack+Private.h
@@ -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"
 
diff --git a/webrtc/api/objc/RTCAudioTrack.mm b/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm
similarity index 85%
rename from webrtc/api/objc/RTCAudioTrack.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm
index 158d1b3..42542b8 100644
--- a/webrtc/api/objc/RTCAudioTrack.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm
@@ -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
 
diff --git a/webrtc/base/objc/RTCCameraPreviewView.m b/webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m
similarity index 84%
rename from webrtc/base/objc/RTCCameraPreviewView.m
rename to webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m
index 5a57483..659973f 100644
--- a/webrtc/base/objc/RTCCameraPreviewView.m
+++ b/webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m
@@ -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
 
diff --git a/webrtc/api/objc/RTCConfiguration+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCConfiguration+Private.h
similarity index 97%
rename from webrtc/api/objc/RTCConfiguration+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCConfiguration+Private.h
index 001dac6..5a1663b 100644
--- a/webrtc/api/objc/RTCConfiguration+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCConfiguration+Private.h
@@ -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"
 
diff --git a/webrtc/api/objc/RTCConfiguration.mm b/webrtc/sdk/objc/Framework/Classes/RTCConfiguration.mm
similarity index 97%
rename from webrtc/api/objc/RTCConfiguration.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCConfiguration.mm
index 29c447f..b006319 100644
--- a/webrtc/api/objc/RTCConfiguration.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCConfiguration.mm
@@ -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
 
diff --git a/webrtc/api/objc/RTCDataChannel+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel+Private.h
similarity index 97%
rename from webrtc/api/objc/RTCDataChannel+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCDataChannel+Private.h
index 179192c..82e132f 100644
--- a/webrtc/api/objc/RTCDataChannel+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel+Private.h
@@ -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"
diff --git a/webrtc/api/objc/RTCDataChannel.mm b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
similarity index 97%
rename from webrtc/api/objc/RTCDataChannel.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
index a2c2e18..cdc7e98 100644
--- a/webrtc/api/objc/RTCDataChannel.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
@@ -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"
 
diff --git a/webrtc/api/objc/RTCDataChannelConfiguration+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration+Private.h
similarity index 92%
rename from webrtc/api/objc/RTCDataChannelConfiguration+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration+Private.h
index 13478e7..e9ea747 100644
--- a/webrtc/api/objc/RTCDataChannelConfiguration+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration+Private.h
@@ -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"
 
diff --git a/webrtc/api/objc/RTCDataChannelConfiguration.mm b/webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration.mm
similarity index 92%
rename from webrtc/api/objc/RTCDataChannelConfiguration.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration.mm
index 4a1dcb0..89c56de 100644
--- a/webrtc/api/objc/RTCDataChannelConfiguration.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration.mm
@@ -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
 
diff --git a/webrtc/base/objc/RTCDispatcher+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCDispatcher+Private.h
similarity index 92%
rename from webrtc/base/objc/RTCDispatcher+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCDispatcher+Private.h
index 2ef6cf1..3c114e5 100644
--- a/webrtc/base/objc/RTCDispatcher+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCDispatcher+Private.h
@@ -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 ()
 
diff --git a/webrtc/base/objc/RTCDispatcher.m b/webrtc/sdk/objc/Framework/Classes/RTCDispatcher.m
similarity index 97%
rename from webrtc/base/objc/RTCDispatcher.m
rename to webrtc/sdk/objc/Framework/Classes/RTCDispatcher.m
index dc2a990..94176ac 100644
--- a/webrtc/base/objc/RTCDispatcher.m
+++ b/webrtc/sdk/objc/Framework/Classes/RTCDispatcher.m
@@ -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;
diff --git a/webrtc/api/objc/RTCEAGLVideoView.m b/webrtc/sdk/objc/Framework/Classes/RTCEAGLVideoView.m
similarity index 97%
rename from webrtc/api/objc/RTCEAGLVideoView.m
rename to webrtc/sdk/objc/Framework/Classes/RTCEAGLVideoView.m
index 58fd108..d215265 100644
--- a/webrtc/api/objc/RTCEAGLVideoView.m
+++ b/webrtc/sdk/objc/Framework/Classes/RTCEAGLVideoView.m
@@ -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
diff --git a/webrtc/base/objc/RTCFieldTrials.mm b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
similarity index 93%
rename from webrtc/base/objc/RTCFieldTrials.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
index 3072f39..38c293f 100644
--- a/webrtc/base/objc/RTCFieldTrials.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
@@ -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/";
diff --git a/webrtc/base/objc/RTCFileLogger.mm b/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
similarity index 98%
rename from webrtc/base/objc/RTCFileLogger.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
index bf61794..73335f3 100644
--- a/webrtc/base/objc/RTCFileLogger.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
@@ -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"
diff --git a/webrtc/api/objc/RTCIceCandidate+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
similarity index 96%
rename from webrtc/api/objc/RTCIceCandidate+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
index f98e04b..ba3ffb6 100644
--- a/webrtc/api/objc/RTCIceCandidate+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
@@ -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"
diff --git a/webrtc/api/objc/RTCIceCandidate.mm b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
similarity index 91%
rename from webrtc/api/objc/RTCIceCandidate.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
index ecc128f..7b1e655 100644
--- a/webrtc/api/objc/RTCIceCandidate.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
@@ -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
 
diff --git a/webrtc/api/objc/RTCIceServer+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCIceServer+Private.h
similarity index 96%
rename from webrtc/api/objc/RTCIceServer+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCIceServer+Private.h
index 8098bee..7efeda4 100644
--- a/webrtc/api/objc/RTCIceServer+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCIceServer+Private.h
@@ -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"
 
diff --git a/webrtc/api/objc/RTCIceServer.mm b/webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm
similarity index 95%
rename from webrtc/api/objc/RTCIceServer.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm
index 95c380e..41084b9 100644
--- a/webrtc/api/objc/RTCIceServer.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm
@@ -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
 
diff --git a/webrtc/base/objc/RTCLogging.mm b/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm
similarity index 97%
rename from webrtc/base/objc/RTCLogging.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCLogging.mm
index 598d52d..ef62d1f 100644
--- a/webrtc/base/objc/RTCLogging.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm
@@ -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"
 
diff --git a/webrtc/api/objc/RTCMediaConstraints+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
similarity index 97%
rename from webrtc/api/objc/RTCMediaConstraints+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
index fa582ec..3662c44 100644
--- a/webrtc/api/objc/RTCMediaConstraints+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
@@ -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"
diff --git a/webrtc/api/objc/RTCMediaConstraints.mm b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
similarity index 95%
rename from webrtc/api/objc/RTCMediaConstraints.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
index bf50668..7a7cdf1 100644
--- a/webrtc/api/objc/RTCMediaConstraints.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
@@ -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 {
 
diff --git a/webrtc/api/objc/RTCMediaStream+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMediaStream+Private.h
similarity index 96%
rename from webrtc/api/objc/RTCMediaStream+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaStream+Private.h
index b03b091..7f87072 100644
--- a/webrtc/api/objc/RTCMediaStream+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaStream+Private.h
@@ -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"
 
diff --git a/webrtc/api/objc/RTCMediaStream.mm b/webrtc/sdk/objc/Framework/Classes/RTCMediaStream.mm
similarity index 91%
rename from webrtc/api/objc/RTCMediaStream.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaStream.mm
index 6660223..0737dee 100644
--- a/webrtc/api/objc/RTCMediaStream.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaStream.mm
@@ -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;
diff --git a/webrtc/api/objc/RTCMediaStreamTrack+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack+Private.h
similarity index 97%
rename from webrtc/api/objc/RTCMediaStreamTrack+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack+Private.h
index 4fff1f8..fd98cb6 100644
--- a/webrtc/api/objc/RTCMediaStreamTrack+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack+Private.h
@@ -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"
diff --git a/webrtc/api/objc/RTCMediaStreamTrack.mm b/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack.mm
similarity index 96%
rename from webrtc/api/objc/RTCMediaStreamTrack.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack.mm
index 7f24c94..3d307be 100644
--- a/webrtc/api/objc/RTCMediaStreamTrack.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack.mm
@@ -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;
diff --git a/webrtc/api/objc/RTCNSGLVideoView.m b/webrtc/sdk/objc/Framework/Classes/RTCNSGLVideoView.m
similarity index 96%
rename from webrtc/api/objc/RTCNSGLVideoView.m
rename to webrtc/sdk/objc/Framework/Classes/RTCNSGLVideoView.m
index 063e6f1..415efe8 100644
--- a/webrtc/api/objc/RTCNSGLVideoView.m
+++ b/webrtc/sdk/objc/Framework/Classes/RTCNSGLVideoView.m
@@ -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 @@
 }
 
 @end
+
+#endif  // !TARGET_OS_IPHONE
diff --git a/webrtc/api/objc/RTCOpenGLVideoRenderer.h b/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.h
similarity index 97%
rename from webrtc/api/objc/RTCOpenGLVideoRenderer.h
rename to webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.h
index 7a8d3fe..7041861 100644
--- a/webrtc/api/objc/RTCOpenGLVideoRenderer.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.h
@@ -15,7 +15,7 @@
 #import <AppKit/NSOpenGL.h>
 #endif
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import "WebRTC/RTCMacros.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCOpenGLVideoRenderer.mm b/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm
similarity index 99%
rename from webrtc/api/objc/RTCOpenGLVideoRenderer.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm
index b4a7c7b..ab45ca4 100644
--- a/webrtc/api/objc/RTCOpenGLVideoRenderer.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCOpenGLVideoRenderer.mm
@@ -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.
diff --git a/webrtc/api/objc/RTCPeerConnection+DataChannel.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+DataChannel.mm
similarity index 82%
rename from webrtc/api/objc/RTCPeerConnection+DataChannel.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+DataChannel.mm
index cf646ad..b3825d4 100644
--- a/webrtc/api/objc/RTCPeerConnection+DataChannel.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+DataChannel.mm
@@ -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)
 
diff --git a/webrtc/api/objc/RTCPeerConnection+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h
similarity index 98%
rename from webrtc/api/objc/RTCPeerConnection+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h
index 031631a..cbae360 100644
--- a/webrtc/api/objc/RTCPeerConnection+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h
@@ -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"
 
diff --git a/webrtc/api/objc/RTCPeerConnection+Stats.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Stats.mm
similarity index 89%
rename from webrtc/api/objc/RTCPeerConnection+Stats.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Stats.mm
index 5032c84..ccbd58f 100644
--- a/webrtc/api/objc/RTCPeerConnection+Stats.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Stats.mm
@@ -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 {
diff --git a/webrtc/api/objc/RTCPeerConnection.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
similarity index 95%
rename from webrtc/api/objc/RTCPeerConnection.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
index 657ba57..e8fa4c9 100644
--- a/webrtc/api/objc/RTCPeerConnection.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
@@ -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;
diff --git a/webrtc/api/objc/RTCPeerConnectionFactory+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory+Private.h
similarity index 94%
rename from webrtc/api/objc/RTCPeerConnectionFactory+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory+Private.h
index 55a473b..a7e453c 100644
--- a/webrtc/api/objc/RTCPeerConnectionFactory+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory+Private.h
@@ -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"
diff --git a/webrtc/api/objc/RTCPeerConnectionFactory.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
similarity index 85%
rename from webrtc/api/objc/RTCPeerConnectionFactory.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
index e2d6021..04aa121 100644
--- a/webrtc/api/objc/RTCPeerConnectionFactory.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
@@ -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)
diff --git a/webrtc/api/objc/RTCRtpCodecParameters+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters+Private.h
similarity index 90%
rename from webrtc/api/objc/RTCRtpCodecParameters+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters+Private.h
index aabbf7d..fe33e9e 100644
--- a/webrtc/api/objc/RTCRtpCodecParameters+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters+Private.h
@@ -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"
 
diff --git a/webrtc/api/objc/RTCRtpCodecParameters.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters.mm
similarity index 60%
rename from webrtc/api/objc/RTCRtpCodecParameters.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters.mm
index 8bc2204..7704769 100644
--- a/webrtc/api/objc/RTCRtpCodecParameters.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters.mm
@@ -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);
diff --git a/webrtc/api/objc/RTCRtpEncodingParameters+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters+Private.h
similarity index 90%
rename from webrtc/api/objc/RTCRtpEncodingParameters+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters+Private.h
index 9b752d2..1d75268 100644
--- a/webrtc/api/objc/RTCRtpEncodingParameters+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters+Private.h
@@ -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/RTCRtpEncodingParameters.h"
+#import "WebRTC/RTCRtpEncodingParameters.h"
 
 #include "webrtc/api/rtpparameters.h"
 
diff --git a/webrtc/api/objc/RTCRtpEncodingParameters.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters.mm
similarity index 100%
rename from webrtc/api/objc/RTCRtpEncodingParameters.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters.mm
diff --git a/webrtc/api/objc/RTCRtpParameters+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCRtpParameters+Private.h
similarity index 90%
rename from webrtc/api/objc/RTCRtpParameters+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpParameters+Private.h
index e037033..0cb1ffe 100644
--- a/webrtc/api/objc/RTCRtpParameters+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCRtpParameters+Private.h
@@ -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/RTCRtpParameters.h"
+#import "WebRTC/RTCRtpParameters.h"
 
 #include "webrtc/api/rtpparameters.h"
 
diff --git a/webrtc/api/objc/RTCRtpParameters.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpParameters.mm
similarity index 100%
rename from webrtc/api/objc/RTCRtpParameters.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpParameters.mm
diff --git a/webrtc/api/objc/RTCRtpSender+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCRtpSender+Private.h
similarity index 95%
rename from webrtc/api/objc/RTCRtpSender+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpSender+Private.h
index 1954195..e871673 100644
--- a/webrtc/api/objc/RTCRtpSender+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCRtpSender+Private.h
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCRtpSender.h"
+#import "WebRTC/RTCRtpSender.h"
 
 #include "webrtc/api/rtpsenderinterface.h"
 
diff --git a/webrtc/api/objc/RTCRtpSender.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm
similarity index 84%
rename from webrtc/api/objc/RTCRtpSender.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm
index 1ad6761..7103002 100644
--- a/webrtc/api/objc/RTCRtpSender.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm
@@ -8,14 +8,12 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCRtpSender.h"
+#import "RTCRtpSender+Private.h"
 
-#import "webrtc/api/objc/RTCRtpParameters+Private.h"
-#import "webrtc/api/objc/RTCRtpSender+Private.h"
-#import "webrtc/api/objc/RTCMediaStreamTrack+Private.h"
+#import "RTCMediaStreamTrack+Private.h"
+#import "RTCRtpParameters+Private.h"
 
 #include "webrtc/api/mediastreaminterface.h"
-#include "webrtc/api/rtpsenderinterface.h"
 
 @implementation RTCRtpSender {
   rtc::scoped_refptr<webrtc::RtpSenderInterface> _nativeRtpSender;
diff --git a/webrtc/base/objc/RTCSSLAdapter.mm b/webrtc/sdk/objc/Framework/Classes/RTCSSLAdapter.mm
similarity index 95%
rename from webrtc/base/objc/RTCSSLAdapter.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCSSLAdapter.mm
index c881a44..a0da105 100644
--- a/webrtc/base/objc/RTCSSLAdapter.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCSSLAdapter.mm
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCSSLAdapter.h"
+#import "WebRTC/RTCSSLAdapter.h"
 
 #include "webrtc/base/checks.h"
 #include "webrtc/base/ssladapter.h"
diff --git a/webrtc/api/objc/RTCSessionDescription+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCSessionDescription+Private.h
similarity index 96%
rename from webrtc/api/objc/RTCSessionDescription+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCSessionDescription+Private.h
index 9de8f0e..04b6fbe 100644
--- a/webrtc/api/objc/RTCSessionDescription+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCSessionDescription+Private.h
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCSessionDescription.h"
+#import "WebRTC/RTCSessionDescription.h"
 
 #include "webrtc/api/jsep.h"
 
diff --git a/webrtc/api/objc/RTCSessionDescription.mm b/webrtc/sdk/objc/Framework/Classes/RTCSessionDescription.mm
similarity index 93%
rename from webrtc/api/objc/RTCSessionDescription.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCSessionDescription.mm
index 94c1a3f..417ff7d 100644
--- a/webrtc/api/objc/RTCSessionDescription.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCSessionDescription.mm
@@ -8,14 +8,13 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCSessionDescription.h"
+#import "RTCSessionDescription+Private.h"
+
+#import "NSString+StdString.h"
+#import "WebRTC/RTCLogging.h"
 
 #include "webrtc/base/checks.h"
 
-#import "webrtc/api/objc/RTCSessionDescription+Private.h"
-#import "webrtc/base/objc/NSString+StdString.h"
-#import "webrtc/base/objc/RTCLogging.h"
-
 @implementation RTCSessionDescription
 
 @synthesize type = _type;
diff --git a/webrtc/api/objc/RTCStatsReport+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCStatsReport+Private.h
similarity index 94%
rename from webrtc/api/objc/RTCStatsReport+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCStatsReport+Private.h
index 5ce5801..e1af6f7 100644
--- a/webrtc/api/objc/RTCStatsReport+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCStatsReport+Private.h
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCStatsReport.h"
+#import "WebRTC/RTCStatsReport.h"
 
 #include "webrtc/api/statstypes.h"
 
diff --git a/webrtc/api/objc/RTCStatsReport.mm b/webrtc/sdk/objc/Framework/Classes/RTCStatsReport.mm
similarity index 91%
rename from webrtc/api/objc/RTCStatsReport.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCStatsReport.mm
index 99cdd28..1bc3eb9 100644
--- a/webrtc/api/objc/RTCStatsReport.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCStatsReport.mm
@@ -8,14 +8,13 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCStatsReport.h"
+#import "RTCStatsReport+Private.h"
+
+#import "NSString+StdString.h"
+#import "WebRTC/RTCLogging.h"
 
 #include "webrtc/base/checks.h"
 
-#import "webrtc/api/objc/RTCStatsReport+Private.h"
-#import "webrtc/base/objc/NSString+StdString.h"
-#import "webrtc/base/objc/RTCLogging.h"
-
 @implementation RTCStatsReport
 
 @synthesize timestamp = _timestamp;
diff --git a/webrtc/base/objc/RTCTracing.mm b/webrtc/sdk/objc/Framework/Classes/RTCTracing.mm
similarity index 94%
rename from webrtc/base/objc/RTCTracing.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCTracing.mm
index a51c703..37755a6 100644
--- a/webrtc/base/objc/RTCTracing.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCTracing.mm
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "webrtc/base/objc/RTCTracing.h"
+#import "WebRTC/RTCTracing.h"
 
 #include "webrtc/base/event_tracer.h"
 
diff --git a/webrtc/base/objc/RTCUIApplication.h b/webrtc/sdk/objc/Framework/Classes/RTCUIApplication.h
similarity index 94%
rename from webrtc/base/objc/RTCUIApplication.h
rename to webrtc/sdk/objc/Framework/Classes/RTCUIApplication.h
index cd2817b..fb11ede 100644
--- a/webrtc/base/objc/RTCUIApplication.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCUIApplication.h
@@ -11,7 +11,7 @@
 #ifndef WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
 #define WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
 
-#include "webrtc/base/objc/RTCMacros.h"
+#include "WebRTC/RTCMacros.h"
 
 #if defined(WEBRTC_IOS)
 /** Convenience function to get UIApplicationState from C++. */
diff --git a/webrtc/base/objc/RTCUIApplication.mm b/webrtc/sdk/objc/Framework/Classes/RTCUIApplication.mm
similarity index 92%
rename from webrtc/base/objc/RTCUIApplication.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCUIApplication.mm
index 85376b4..7e8aea6 100644
--- a/webrtc/base/objc/RTCUIApplication.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCUIApplication.mm
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/base/objc/RTCUIApplication.h"
+#include "RTCUIApplication.h"
 
 #if defined(WEBRTC_IOS)
 
diff --git a/webrtc/api/objc/RTCVideoFrame+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame+Private.h
similarity index 95%
rename from webrtc/api/objc/RTCVideoFrame+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoFrame+Private.h
index 52f532c..a480712 100644
--- a/webrtc/api/objc/RTCVideoFrame+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame+Private.h
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCVideoFrame.h"
+#import "WebRTC/RTCVideoFrame.h"
 
 #include "webrtc/media/base/videoframe.h"
 
diff --git a/webrtc/api/objc/RTCVideoFrame.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
similarity index 96%
rename from webrtc/api/objc/RTCVideoFrame.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
index 6a4b1aa..8a99d4e 100644
--- a/webrtc/api/objc/RTCVideoFrame.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
@@ -8,12 +8,10 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCVideoFrame.h"
+#import "RTCVideoFrame+Private.h"
 
 #include "webrtc/base/scoped_ptr.h"
 
-#import "webrtc/api/objc/RTCVideoFrame+Private.h"
-
 @implementation RTCVideoFrame {
   rtc::scoped_ptr<cricket::VideoFrame> _videoFrame;
   rtc::scoped_refptr<webrtc::VideoFrameBuffer> _i420Buffer;
diff --git a/webrtc/api/objc/RTCVideoRendererAdapter+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter+Private.h
similarity index 96%
rename from webrtc/api/objc/RTCVideoRendererAdapter+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter+Private.h
index f0e0c6c..b413f7e 100644
--- a/webrtc/api/objc/RTCVideoRendererAdapter+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter+Private.h
@@ -10,9 +10,9 @@
 
 #import "RTCVideoRendererAdapter.h"
 
-#include "webrtc/api/mediastreaminterface.h"
+#import "WebRTC/RTCVideoRenderer.h"
 
-#import "RTCVideoRenderer.h"
+#include "webrtc/api/mediastreaminterface.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCVideoRendererAdapter.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.h
similarity index 100%
rename from webrtc/api/objc/RTCVideoRendererAdapter.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.h
diff --git a/webrtc/api/objc/RTCVideoRendererAdapter.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
similarity index 94%
rename from webrtc/api/objc/RTCVideoRendererAdapter.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
index af41a63..1d64cd8 100644
--- a/webrtc/api/objc/RTCVideoRendererAdapter.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
@@ -8,13 +8,12 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCVideoRendererAdapter.h"
+#import "RTCVideoRendererAdapter+Private.h"
+
+#import "RTCVideoFrame+Private.h"
 
 #include "webrtc/media/engine/webrtcvideoframe.h"
 
-#import "webrtc/api/objc/RTCVideoFrame+Private.h"
-#import "webrtc/api/objc/RTCVideoRendererAdapter+Private.h"
-
 namespace webrtc {
 
 class VideoRendererAdapter
diff --git a/webrtc/api/objc/RTCVideoSource+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoSource+Private.h
similarity index 96%
rename from webrtc/api/objc/RTCVideoSource+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoSource+Private.h
index 7746ba5..757c174 100644
--- a/webrtc/api/objc/RTCVideoSource+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoSource+Private.h
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCVideoSource.h"
+#import "WebRTC/RTCVideoSource.h"
 
 #include "webrtc/api/mediastreaminterface.h"
 
diff --git a/webrtc/api/objc/RTCVideoSource.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoSource.mm
similarity index 96%
rename from webrtc/api/objc/RTCVideoSource.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoSource.mm
index 8e9c39d..eddf5e0 100644
--- a/webrtc/api/objc/RTCVideoSource.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoSource.mm
@@ -8,9 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCVideoSource.h"
-
-#import "webrtc/api/objc/RTCVideoSource+Private.h"
+#import "RTCVideoSource+Private.h"
 
 @implementation RTCVideoSource {
   rtc::scoped_refptr<webrtc::VideoTrackSourceInterface> _nativeVideoSource;
diff --git a/webrtc/api/objc/RTCVideoTrack+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoTrack+Private.h
similarity index 96%
rename from webrtc/api/objc/RTCVideoTrack+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoTrack+Private.h
index be04124..5199be3 100644
--- a/webrtc/api/objc/RTCVideoTrack+Private.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoTrack+Private.h
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCVideoTrack.h"
+#import "WebRTC/RTCVideoTrack.h"
 
 #include "webrtc/api/mediastreaminterface.h"
 
diff --git a/webrtc/api/objc/RTCVideoTrack.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoTrack.mm
similarity index 90%
rename from webrtc/api/objc/RTCVideoTrack.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoTrack.mm
index a32ea7b..6691375 100644
--- a/webrtc/api/objc/RTCVideoTrack.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoTrack.mm
@@ -8,14 +8,13 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "RTCVideoTrack.h"
+#import "RTCVideoTrack+Private.h"
 
-#import "webrtc/api/objc/RTCMediaStreamTrack+Private.h"
-#import "webrtc/api/objc/RTCPeerConnectionFactory+Private.h"
-#import "webrtc/api/objc/RTCVideoRendererAdapter+Private.h"
-#import "webrtc/api/objc/RTCVideoSource+Private.h"
-#import "webrtc/api/objc/RTCVideoTrack+Private.h"
-#import "webrtc/base/objc/NSString+StdString.h"
+#import "NSString+StdString.h"
+#import "RTCMediaStreamTrack+Private.h"
+#import "RTCPeerConnectionFactory+Private.h"
+#import "RTCVideoRendererAdapter+Private.h"
+#import "RTCVideoSource+Private.h"
 
 @implementation RTCVideoTrack {
   NSMutableArray *_adapters;
diff --git a/webrtc/api/objc/avfoundationvideocapturer.h b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.h
similarity index 99%
rename from webrtc/api/objc/avfoundationvideocapturer.h
rename to webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.h
index 73cecd9..5a70238 100644
--- a/webrtc/api/objc/avfoundationvideocapturer.h
+++ b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.h
@@ -11,12 +11,12 @@
 #ifndef WEBRTC_API_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
 #define WEBRTC_API_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
 
+#import <AVFoundation/AVFoundation.h>
+
 #include "webrtc/base/scoped_ptr.h"
 #include "webrtc/media/base/videocapturer.h"
 #include "webrtc/video_frame.h"
 
-#import <AVFoundation/AVFoundation.h>
-
 @class RTCAVFoundationVideoCapturerInternal;
 
 namespace rtc {
diff --git a/webrtc/api/objc/avfoundationvideocapturer.mm b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
similarity index 98%
rename from webrtc/api/objc/avfoundationvideocapturer.mm
rename to webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
index 85b9658..cb945f4 100644
--- a/webrtc/api/objc/avfoundationvideocapturer.mm
+++ b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
@@ -8,18 +8,18 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/api/objc/avfoundationvideocapturer.h"
-
-#include "webrtc/base/bind.h"
-#include "webrtc/base/checks.h"
-#include "webrtc/base/thread.h"
+#include "avfoundationvideocapturer.h"
 
 #import <AVFoundation/AVFoundation.h>
 #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 "WebRTC/RTCLogging.h"
+
+#include "webrtc/base/bind.h"
+#include "webrtc/base/checks.h"
+#include "webrtc/base/thread.h"
 
 // TODO(tkchin): support other formats.
 static NSString *const kDefaultPreset = AVCaptureSessionPreset640x480;
diff --git a/webrtc/api/objc/RTCAVFoundationVideoSource.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h
similarity index 93%
rename from webrtc/api/objc/RTCAVFoundationVideoSource.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h
index 73e5585..2a732b9 100644
--- a/webrtc/api/objc/RTCAVFoundationVideoSource.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "webrtc/api/objc/RTCVideoSource.h"
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
+#import <WebRTC/RTCVideoSource.h>
 
 @class AVCaptureSession;
 @class RTCMediaConstraints;
diff --git a/webrtc/api/objc/RTCAudioTrack.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h
similarity index 86%
rename from webrtc/api/objc/RTCAudioTrack.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h
index 0f4b69d..a9f5fe2 100644
--- a/webrtc/api/objc/RTCAudioTrack.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "webrtc/api/objc/RTCMediaStreamTrack.h"
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
+#import <WebRTC/RTCMediaStreamTrack.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/base/objc/RTCCameraPreviewView.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h
similarity index 95%
rename from webrtc/base/objc/RTCCameraPreviewView.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h
index 9fa4cd6..9018aec 100644
--- a/webrtc/base/objc/RTCCameraPreviewView.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h
@@ -11,7 +11,7 @@
 #import <Foundation/Foundation.h>
 #import <UIKit/UIKit.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 @class AVCaptureSession;
 @class RTCAVFoundationVideoSource;
diff --git a/webrtc/api/objc/RTCConfiguration.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h
similarity index 98%
rename from webrtc/api/objc/RTCConfiguration.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h
index 38ae88d..4d51231 100644
--- a/webrtc/api/objc/RTCConfiguration.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 @class RTCIceServer;
 
diff --git a/webrtc/api/objc/RTCDataChannel.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannel.h
similarity index 98%
rename from webrtc/api/objc/RTCDataChannel.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannel.h
index 43d4663..893bd0a 100644
--- a/webrtc/api/objc/RTCDataChannel.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannel.h
@@ -11,7 +11,7 @@
 #import <AvailabilityMacros.h>
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCDataChannelConfiguration.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h
similarity index 97%
rename from webrtc/api/objc/RTCDataChannelConfiguration.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h
index d9e7059..65f5931 100644
--- a/webrtc/api/objc/RTCDataChannelConfiguration.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h
@@ -11,7 +11,7 @@
 #import <AvailabilityMacros.h>
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/base/objc/RTCDispatcher.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDispatcher.h
similarity index 96%
rename from webrtc/base/objc/RTCDispatcher.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDispatcher.h
index 0685443..328beaf 100644
--- a/webrtc/base/objc/RTCDispatcher.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDispatcher.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 typedef NS_ENUM(NSInteger, RTCDispatcherQueueType) {
   // Main dispatcher queue.
diff --git a/webrtc/api/objc/RTCEAGLVideoView.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h
similarity index 91%
rename from webrtc/api/objc/RTCEAGLVideoView.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h
index afb092e..5f8d73b 100644
--- a/webrtc/api/objc/RTCEAGLVideoView.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h
@@ -11,8 +11,8 @@
 #import <Foundation/Foundation.h>
 #import <UIKit/UIKit.h>
 
-#import "webrtc/api/objc/RTCVideoRenderer.h"
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
+#import <WebRTC/RTCVideoRenderer.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/base/objc/RTCFieldTrials.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h
similarity index 94%
rename from webrtc/base/objc/RTCFieldTrials.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h
index 52e90fe..7e7c1c4 100644
--- a/webrtc/base/objc/RTCFieldTrials.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 typedef NS_OPTIONS(NSUInteger, RTCFieldTrialOptions) {
   RTCFieldTrialOptionsNone = 0,
diff --git a/webrtc/base/objc/RTCFileLogger.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h
similarity index 98%
rename from webrtc/base/objc/RTCFileLogger.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h
index 44ccb1c..5656b7b 100644
--- a/webrtc/base/objc/RTCFileLogger.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 typedef NS_ENUM(NSUInteger, RTCFileLoggerSeverity) {
   RTCFileLoggerSeverityVerbose,
diff --git a/webrtc/api/objc/RTCIceCandidate.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h
similarity index 96%
rename from webrtc/api/objc/RTCIceCandidate.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h
index c1aa060..9f472b8 100644
--- a/webrtc/api/objc/RTCIceCandidate.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCIceServer.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h
similarity index 97%
rename from webrtc/api/objc/RTCIceServer.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h
index fe9076c..ff5489c 100644
--- a/webrtc/api/objc/RTCIceServer.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/base/objc/RTCLogging.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLogging.h
similarity index 98%
rename from webrtc/base/objc/RTCLogging.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLogging.h
index ffeb65a..e4f1920 100644
--- a/webrtc/base/objc/RTCLogging.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLogging.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 // Subset of rtc::LoggingSeverity.
 typedef NS_ENUM(NSInteger, RTCLoggingSeverity) {
diff --git a/webrtc/base/objc/RTCMacros.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMacros.h
similarity index 100%
rename from webrtc/base/objc/RTCMacros.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMacros.h
diff --git a/webrtc/api/objc/RTCMediaConstraints.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaConstraints.h
similarity index 95%
rename from webrtc/api/objc/RTCMediaConstraints.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaConstraints.h
index d726f7d..adc73f2 100644
--- a/webrtc/api/objc/RTCMediaConstraints.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaConstraints.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCMediaStream.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h
similarity index 96%
rename from webrtc/api/objc/RTCMediaStream.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h
index d5de6d3..b97960d 100644
--- a/webrtc/api/objc/RTCMediaStream.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCMediaStreamTrack.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h
similarity index 96%
rename from webrtc/api/objc/RTCMediaStreamTrack.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h
index 5a0dcbf..37b8019 100644
--- a/webrtc/api/objc/RTCMediaStreamTrack.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 /**
  * Represents the state of the track. This exposes the same states in C++.
diff --git a/webrtc/api/objc/RTCNSGLVideoView.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h
similarity index 90%
rename from webrtc/api/objc/RTCNSGLVideoView.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h
index 27eb31e..d9ed6fb 100644
--- a/webrtc/api/objc/RTCNSGLVideoView.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h
@@ -8,13 +8,11 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#if TARGET_OS_IPHONE
-#error "This file targets OSX."
-#endif
+#if !TARGET_OS_IPHONE
 
 #import <AppKit/NSOpenGLView.h>
 
-#import "RTCVideoRenderer.h"
+#import <WebRTC/RTCVideoRenderer.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
@@ -32,3 +30,5 @@
 @end
 
 NS_ASSUME_NONNULL_END
+
+#endif
diff --git a/webrtc/api/objc/RTCPeerConnection.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h
similarity index 98%
rename from webrtc/api/objc/RTCPeerConnection.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h
index 5acaa80..b89df8e 100644
--- a/webrtc/api/objc/RTCPeerConnection.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 @class RTCConfiguration;
 @class RTCDataChannel;
diff --git a/webrtc/api/objc/RTCPeerConnectionFactory.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h
similarity index 97%
rename from webrtc/api/objc/RTCPeerConnectionFactory.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h
index 2a53cab..f21c107 100644
--- a/webrtc/api/objc/RTCPeerConnectionFactory.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h
new file mode 100644
index 0000000..fef8429
--- /dev/null
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h
@@ -0,0 +1,58 @@
+/*
+ *  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 <Foundation/Foundation.h>
+
+#import <WebRTC/RTCMacros.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+RTC_EXTERN const NSString * const kRTCRtxCodecMimeType;
+RTC_EXTERN const NSString * const kRTCRedCodecMimeType;
+RTC_EXTERN const NSString * const kRTCUlpfecCodecMimeType;
+RTC_EXTERN const NSString * const kRTCOpusCodecMimeType;
+RTC_EXTERN const NSString * const kRTCIsacCodecMimeType;
+RTC_EXTERN const NSString * const kRTCL16CodecMimeType;
+RTC_EXTERN const NSString * const kRTCG722CodecMimeType;
+RTC_EXTERN const NSString * const kRTCIlbcCodecMimeType;
+RTC_EXTERN const NSString * const kRTCPcmuCodecMimeType;
+RTC_EXTERN const NSString * const kRTCPcmaCodecMimeType;
+RTC_EXTERN const NSString * const kRTCDtmfCodecMimeType;
+RTC_EXTERN const NSString * const kRTCComfortNoiseCodecMimeType;
+RTC_EXTERN const NSString * const kRTCVp8CodecMimeType;
+RTC_EXTERN const NSString * const kRTCVp9CodecMimeType;
+RTC_EXTERN const NSString * const kRTCH264CodecMimeType;
+
+/** Defined in http://w3c.github.io/webrtc-pc/#idl-def-RTCRtpCodecParameters */
+RTC_EXPORT
+@interface RTCRtpCodecParameters : NSObject
+
+/** The RTP payload type. */
+@property(nonatomic, assign) int payloadType;
+
+/**
+ * The codec MIME type. Valid types are listed in:
+ * http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-2
+ *
+ * Several supported types are represented by the constants above.
+ */
+@property(nonatomic, nonnull) NSString *mimeType;
+
+/** The codec clock rate expressed in Hertz. */
+@property(nonatomic, assign) int clockRate;
+
+/** The number of channels (mono=1, stereo=2). */
+@property(nonatomic, assign) int channels;
+
+- (instancetype)init NS_DESIGNATED_INITIALIZER;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/webrtc/api/objc/RTCRtpEncodingParameters.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h
similarity index 95%
rename from webrtc/api/objc/RTCRtpEncodingParameters.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h
index 0fb17b2..65b8dea 100644
--- a/webrtc/api/objc/RTCRtpEncodingParameters.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpEncodingParameters.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCRtpParameters.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h
similarity index 85%
rename from webrtc/api/objc/RTCRtpParameters.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h
index 7b66f37..bdebf84 100644
--- a/webrtc/api/objc/RTCRtpParameters.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h
@@ -10,9 +10,9 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/api/objc/RTCRtpCodecParameters.h"
-#import "webrtc/api/objc/RTCRtpEncodingParameters.h"
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
+#import <WebRTC/RTCRtpCodecParameters.h>
+#import <WebRTC/RTCRtpEncodingParameters.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCRtpSender.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h
similarity index 90%
rename from webrtc/api/objc/RTCRtpSender.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h
index 34a3d6c..c874b77 100644
--- a/webrtc/api/objc/RTCRtpSender.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h
@@ -10,9 +10,9 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/api/objc/RTCMediaStreamTrack.h"
-#import "webrtc/api/objc/RTCRtpParameters.h"
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
+#import <WebRTC/RTCMediaStreamTrack.h>
+#import <WebRTC/RTCRtpParameters.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/base/objc/RTCSSLAdapter.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSSLAdapter.h
similarity index 93%
rename from webrtc/base/objc/RTCSSLAdapter.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSSLAdapter.h
index bf27540..1341a5c 100644
--- a/webrtc/base/objc/RTCSSLAdapter.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSSLAdapter.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 /**
  * Initialize and clean up the SSL library. Failure is fatal. These call the
diff --git a/webrtc/api/objc/RTCSessionDescription.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSessionDescription.h
similarity index 96%
rename from webrtc/api/objc/RTCSessionDescription.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSessionDescription.h
index de927cf..4143980 100644
--- a/webrtc/api/objc/RTCSessionDescription.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSessionDescription.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 /**
  * Represents the session description type. This exposes the same types that are
diff --git a/webrtc/api/objc/RTCStatsReport.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCStatsReport.h
similarity index 96%
rename from webrtc/api/objc/RTCStatsReport.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCStatsReport.h
index de80dc3..5a55967 100644
--- a/webrtc/api/objc/RTCStatsReport.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCStatsReport.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/base/objc/RTCTracing.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCTracing.h
similarity index 94%
rename from webrtc/base/objc/RTCTracing.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCTracing.h
index 6f0596c..1364791 100644
--- a/webrtc/base/objc/RTCTracing.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCTracing.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 RTC_EXTERN void RTCSetupInternalTracer();
 /** Starts capture to specified file. Must be a valid writable path.
diff --git a/webrtc/api/objc/RTCVideoFrame.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h
similarity index 97%
rename from webrtc/api/objc/RTCVideoFrame.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h
index e76a9b3..efb666e 100644
--- a/webrtc/api/objc/RTCVideoFrame.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h
@@ -11,7 +11,7 @@
 #import <AVFoundation/AVFoundation.h>
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCVideoRenderer.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoRenderer.h
similarity index 94%
rename from webrtc/api/objc/RTCVideoRenderer.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoRenderer.h
index 41c3e37..5e2e820 100644
--- a/webrtc/api/objc/RTCVideoRenderer.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoRenderer.h
@@ -13,7 +13,7 @@
 #import <UIKit/UIKit.h>
 #endif
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/api/objc/RTCVideoSource.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h
similarity index 95%
rename from webrtc/api/objc/RTCVideoSource.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h
index 0269744..e234c3e 100644
--- a/webrtc/api/objc/RTCVideoSource.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h
@@ -10,7 +10,7 @@
 
 #import <Foundation/Foundation.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 typedef NS_ENUM(NSInteger, RTCSourceState) {
   RTCSourceStateInitializing,
diff --git a/webrtc/api/objc/RTCVideoTrack.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h
similarity index 91%
rename from webrtc/api/objc/RTCVideoTrack.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h
index ff4196e..899d7c3 100644
--- a/webrtc/api/objc/RTCVideoTrack.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h
@@ -8,9 +8,9 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import "webrtc/api/objc/RTCMediaStreamTrack.h"
+#import <WebRTC/RTCMediaStreamTrack.h>
 
-#import "webrtc/base/objc/RTCMacros.h"
+#import <WebRTC/RTCMacros.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/webrtc/build/ios/SDK/Framework/WebRTC/WebRTC.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/WebRTC.h
similarity index 84%
rename from webrtc/build/ios/SDK/Framework/WebRTC/WebRTC.h
rename to webrtc/sdk/objc/Framework/Headers/WebRTC/WebRTC.h
index df0e00c..9bf976d 100644
--- a/webrtc/build/ios/SDK/Framework/WebRTC/WebRTC.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/WebRTC.h
@@ -8,14 +8,6 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#import <Foundation/Foundation.h>
-
-//! Project version number for WebRTC.
-FOUNDATION_EXPORT double WebRTCVersionNumber;
-
-//! Project version string for WebRTC.
-FOUNDATION_EXPORT const unsigned char WebRTCVersionString[];
-
 #import <WebRTC/RTCAVFoundationVideoSource.h>
 #import <WebRTC/RTCAudioTrack.h>
 #import <WebRTC/RTCCameraPreviewView.h>
@@ -33,9 +25,9 @@
 #import <WebRTC/RTCMediaConstraints.h>
 #import <WebRTC/RTCMediaStream.h>
 #import <WebRTC/RTCMediaStreamTrack.h>
-#import <WebRTC/RTCOpenGLVideoRenderer.h>
 #import <WebRTC/RTCPeerConnection.h>
 #import <WebRTC/RTCPeerConnectionFactory.h>
+#import <WebRTC/RTCRtpCodecParameters.h>
 #import <WebRTC/RTCRtpEncodingParameters.h>
 #import <WebRTC/RTCRtpParameters.h>
 #import <WebRTC/RTCRtpSender.h>
diff --git a/webrtc/build/ios/SDK/Framework/WebRTC/Info.plist b/webrtc/sdk/objc/Framework/Info.plist
similarity index 79%
rename from webrtc/build/ios/SDK/Framework/WebRTC/Info.plist
rename to webrtc/sdk/objc/Framework/Info.plist
index d3de8ee..38c437e 100644
--- a/webrtc/build/ios/SDK/Framework/WebRTC/Info.plist
+++ b/webrtc/sdk/objc/Framework/Info.plist
@@ -5,13 +5,13 @@
 	<key>CFBundleDevelopmentRegion</key>
 	<string>en</string>
 	<key>CFBundleExecutable</key>
-	<string>$(EXECUTABLE_NAME)</string>
+	<string>WebRTC</string>
 	<key>CFBundleIdentifier</key>
-	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
+	<string>org.webrtc.WebRTC</string>
 	<key>CFBundleInfoDictionaryVersion</key>
 	<string>6.0</string>
 	<key>CFBundleName</key>
-	<string>$(PRODUCT_NAME)</string>
+	<string>WebRTC</string>
 	<key>CFBundlePackageType</key>
 	<string>FMWK</string>
 	<key>CFBundleShortVersionString</key>
@@ -19,7 +19,7 @@
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleVersion</key>
-	<string>$(CURRENT_PROJECT_VERSION)</string>
+	<string>1.0</string>
 	<key>NSPrincipalClass</key>
 	<string></string>
 </dict>
diff --git a/webrtc/sdk/objc/Framework/Modules/module.modulemap b/webrtc/sdk/objc/Framework/Modules/module.modulemap
new file mode 100644
index 0000000..cd485a4
--- /dev/null
+++ b/webrtc/sdk/objc/Framework/Modules/module.modulemap
@@ -0,0 +1,6 @@
+framework module WebRTC {
+  umbrella header "WebRTC.h"
+
+  export *
+  module * { export * }
+}
diff --git a/webrtc/api/objctests/RTCConfigurationTest.mm b/webrtc/sdk/objc/Framework/UnitTests/RTCConfigurationTest.mm
similarity index 92%
rename from webrtc/api/objctests/RTCConfigurationTest.mm
rename to webrtc/sdk/objc/Framework/UnitTests/RTCConfigurationTest.mm
index 8cfa04d..ff35696 100644
--- a/webrtc/api/objctests/RTCConfigurationTest.mm
+++ b/webrtc/sdk/objc/Framework/UnitTests/RTCConfigurationTest.mm
@@ -14,10 +14,10 @@
 
 #include "webrtc/base/gunit.h"
 
-#import "webrtc/api/objc/RTCConfiguration.h"
-#import "webrtc/api/objc/RTCConfiguration+Private.h"
-#import "webrtc/api/objc/RTCIceServer.h"
-#import "webrtc/base/objc/NSString+StdString.h"
+#import "NSString+StdString.h"
+#import "RTCConfiguration+Private.h"
+#import "WebRTC/RTCConfiguration.h"
+#import "WebRTC/RTCIceServer.h"
 
 @interface RTCConfigurationTest : NSObject
 - (void)testConversionToNativeConfiguration;
diff --git a/webrtc/api/objctests/RTCDataChannelConfigurationTest.mm b/webrtc/sdk/objc/Framework/UnitTests/RTCDataChannelConfigurationTest.mm
similarity index 91%
rename from webrtc/api/objctests/RTCDataChannelConfigurationTest.mm
rename to webrtc/sdk/objc/Framework/UnitTests/RTCDataChannelConfigurationTest.mm
index 1b3f21b..275898d 100644
--- a/webrtc/api/objctests/RTCDataChannelConfigurationTest.mm
+++ b/webrtc/sdk/objc/Framework/UnitTests/RTCDataChannelConfigurationTest.mm
@@ -12,9 +12,9 @@
 
 #include "webrtc/base/gunit.h"
 
-#import "webrtc/api/objc/RTCDataChannelConfiguration.h"
-#import "webrtc/api/objc/RTCDataChannelConfiguration+Private.h"
-#import "webrtc/base/objc/NSString+StdString.h"
+#import "NSString+StdString.h"
+#import "RTCDataChannelConfiguration+Private.h"
+#import "WebRTC/RTCDataChannelConfiguration.h"
 
 @interface RTCDataChannelConfigurationTest : NSObject
 - (void)testConversionToNativeDataChannelInit;
diff --git a/webrtc/api/objctests/RTCIceCandidateTest.mm b/webrtc/sdk/objc/Framework/UnitTests/RTCIceCandidateTest.mm
similarity index 93%
rename from webrtc/api/objctests/RTCIceCandidateTest.mm
rename to webrtc/sdk/objc/Framework/UnitTests/RTCIceCandidateTest.mm
index 391db44..6d751cc 100644
--- a/webrtc/api/objctests/RTCIceCandidateTest.mm
+++ b/webrtc/sdk/objc/Framework/UnitTests/RTCIceCandidateTest.mm
@@ -12,9 +12,9 @@
 
 #include "webrtc/base/gunit.h"
 
-#import "webrtc/api/objc/RTCIceCandidate.h"
-#import "webrtc/api/objc/RTCIceCandidate+Private.h"
-#import "webrtc/base/objc/NSString+StdString.h"
+#import "NSString+StdString.h"
+#import "RTCIceCandidate+Private.h"
+#import "WebRTC/RTCIceCandidate.h"
 
 @interface RTCIceCandidateTest : NSObject
 - (void)testCandidate;
diff --git a/webrtc/api/objctests/RTCIceServerTest.mm b/webrtc/sdk/objc/Framework/UnitTests/RTCIceServerTest.mm
similarity index 95%
rename from webrtc/api/objctests/RTCIceServerTest.mm
rename to webrtc/sdk/objc/Framework/UnitTests/RTCIceServerTest.mm
index 5116ba0..a5159dc 100644
--- a/webrtc/api/objctests/RTCIceServerTest.mm
+++ b/webrtc/sdk/objc/Framework/UnitTests/RTCIceServerTest.mm
@@ -14,9 +14,9 @@
 
 #include "webrtc/base/gunit.h"
 
-#import "webrtc/api/objc/RTCIceServer.h"
-#import "webrtc/api/objc/RTCIceServer+Private.h"
-#import "webrtc/base/objc/NSString+StdString.h"
+#import "NSString+StdString.h"
+#import "RTCIceServer+Private.h"
+#import "WebRTC/RTCIceServer.h"
 
 @interface RTCIceServerTest : NSObject
 - (void)testOneURLServer;
diff --git a/webrtc/api/objctests/RTCMediaConstraintsTest.mm b/webrtc/sdk/objc/Framework/UnitTests/RTCMediaConstraintsTest.mm
similarity index 92%
rename from webrtc/api/objctests/RTCMediaConstraintsTest.mm
rename to webrtc/sdk/objc/Framework/UnitTests/RTCMediaConstraintsTest.mm
index f73a6ca..2c99cfe 100644
--- a/webrtc/api/objctests/RTCMediaConstraintsTest.mm
+++ b/webrtc/sdk/objc/Framework/UnitTests/RTCMediaConstraintsTest.mm
@@ -12,9 +12,9 @@
 
 #include "webrtc/base/gunit.h"
 
-#import "webrtc/api/objc/RTCMediaConstraints.h"
-#import "webrtc/api/objc/RTCMediaConstraints+Private.h"
-#import "webrtc/base/objc/NSString+StdString.h"
+#import "NSString+StdString.h"
+#import "RTCMediaConstraints+Private.h"
+#import "WebRTC/RTCMediaConstraints.h"
 
 @interface RTCMediaConstraintsTest : NSObject
 - (void)testMediaConstraints;
diff --git a/webrtc/api/objctests/RTCSessionDescriptionTest.mm b/webrtc/sdk/objc/Framework/UnitTests/RTCSessionDescriptionTest.mm
similarity index 96%
rename from webrtc/api/objctests/RTCSessionDescriptionTest.mm
rename to webrtc/sdk/objc/Framework/UnitTests/RTCSessionDescriptionTest.mm
index 37ac65c..90f4698 100644
--- a/webrtc/api/objctests/RTCSessionDescriptionTest.mm
+++ b/webrtc/sdk/objc/Framework/UnitTests/RTCSessionDescriptionTest.mm
@@ -12,9 +12,9 @@
 
 #include "webrtc/base/gunit.h"
 
-#import "webrtc/api/objc/RTCSessionDescription.h"
-#import "webrtc/api/objc/RTCSessionDescription+Private.h"
-#import "webrtc/base/objc/NSString+StdString.h"
+#import "NSString+StdString.h"
+#import "RTCSessionDescription+Private.h"
+#import "WebRTC/RTCSessionDescription.h"
 
 @interface RTCSessionDescriptionTest : NSObject
 - (void)testSessionDescriptionConversion;
diff --git a/webrtc/build/WebRTC-Prefix.pch b/webrtc/sdk/objc/WebRTC-Prefix.pch
similarity index 87%
rename from webrtc/build/WebRTC-Prefix.pch
rename to webrtc/sdk/objc/WebRTC-Prefix.pch
index 506d4fb..c56cb48 100644
--- a/webrtc/build/WebRTC-Prefix.pch
+++ b/webrtc/sdk/objc/WebRTC-Prefix.pch
@@ -18,10 +18,12 @@
 #error "This file requires nullability support."
 #endif
 
+#import <Foundation/Foundation.h>
+
 // The following nonnull macros were introduced in OSX SDK 10.10.3. However,
 // the bots appear to be running something older. We define them here if they
-// aren't already defined in NSObjCRuntime.h
-#include <Foundation/NSObjCRuntime.h>
+// aren't already defined in NSObjCRuntime.h, which is included by
+// Foundation/Foundation.h.
 
 #if !defined(NS_ASSUME_NONNULL_BEGIN)
 #define NS_ASSUME_NONNULL_BEGIN
diff --git a/webrtc/build/ios/SDK/WebRTC.podspec b/webrtc/sdk/objc/WebRTC.podspec
similarity index 91%
rename from webrtc/build/ios/SDK/WebRTC.podspec
rename to webrtc/sdk/objc/WebRTC.podspec
index 523b840..37ab166 100644
--- a/webrtc/build/ios/SDK/WebRTC.podspec
+++ b/webrtc/sdk/objc/WebRTC.podspec
@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name         = "WebRTC"
-  s.version      = "0.0.1"
+  s.version      = "${FRAMEWORK_VERSION_NUMBER}"
   s.summary      = "WebRTC SDK for iOS"
   s.description  = <<-DESC
     WebRTC is a free, open project that provides browsers and mobile
diff --git a/webrtc/sdk/sdk.gyp b/webrtc/sdk/sdk.gyp
new file mode 100644
index 0000000..5f83b32
--- /dev/null
+++ b/webrtc/sdk/sdk.gyp
@@ -0,0 +1,271 @@
+# 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.
+
+{
+  'includes': [
+    '../build/common.gypi',
+    'sdk.gypi',
+  ],
+  'conditions': [
+    ['OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7")', {
+      'targets': [
+        {
+          'target_name': 'rtc_sdk_common_objc',
+          'type': 'static_library',
+          'includes': [ '../build/objc_common.gypi' ],
+          'dependencies': [
+            '../base/base.gyp:rtc_base',
+          ],
+          'include_dirs': [
+            'objc/Framework/Classes',
+            'objc/Framework/Headers',
+          ],
+          'direct_dependent_settings': {
+            'include_dirs': [
+              'objc/Framework/Classes',
+              'objc/Framework/Headers',
+            ],
+          },
+          'sources': [
+            'objc/Framework/Classes/NSString+StdString.h',
+            'objc/Framework/Classes/NSString+StdString.mm',
+            'objc/Framework/Classes/RTCDispatcher.m',
+            'objc/Framework/Classes/RTCFieldTrials.mm',
+            'objc/Framework/Classes/RTCLogging.mm',
+            'objc/Framework/Classes/RTCSSLAdapter.mm',
+            'objc/Framework/Classes/RTCTracing.mm',
+            'objc/Framework/Headers/WebRTC/RTCDispatcher.h',
+            'objc/Framework/Headers/WebRTC/RTCFieldTrials.h',
+            'objc/Framework/Headers/WebRTC/RTCLogging.h',
+            'objc/Framework/Headers/WebRTC/RTCMacros.h',
+            'objc/Framework/Headers/WebRTC/RTCSSLAdapter.h',
+            'objc/Framework/Headers/WebRTC/RTCTracing.h',
+          ],
+          'conditions': [
+            ['OS=="ios"', {
+              'sources': [
+                'objc/Framework/Classes/RTCCameraPreviewView.m',
+                'objc/Framework/Classes/RTCUIApplication.h',
+                'objc/Framework/Classes/RTCUIApplication.mm',
+                'objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h',
+              ],
+              'link_settings': {
+                'xcode_settings': {
+                  'OTHER_LDFLAGS': [
+                    '-framework AVFoundation',
+                  ],
+                },
+              },
+            }],  # OS=="ios"
+            ['build_with_chromium==0', {
+              'sources': [
+                'objc/Framework/Classes/RTCFileLogger.mm',
+                'objc/Framework/Headers/WebRTC/RTCFileLogger.h',
+              ],
+            }],
+          ],
+        },
+        {
+          'target_name': 'rtc_sdk_peerconnection_objc',
+          'type': 'static_library',
+          'includes': [ '../build/objc_common.gypi' ],
+          'dependencies': [
+            '<(webrtc_root)/api/api.gyp:libjingle_peerconnection',
+            'rtc_sdk_common_objc',
+          ],
+          'include_dirs': [
+            'objc/Framework/Classes',
+            'objc/Framework/Headers',
+          ],
+          'direct_dependent_settings': {
+            'include_dirs': [
+              'objc/Framework/Classes',
+              'objc/Framework/Headers',
+            ],
+          },
+          'link_settings': {
+            'libraries': [
+              '-lstdc++',
+            ],
+          }, # link_settings
+          'sources': [
+            '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.h',
+            'objc/Framework/Classes/RTCOpenGLVideoRenderer.mm',
+            'objc/Framework/Classes/RTCPeerConnection+DataChannel.mm',
+            'objc/Framework/Classes/RTCPeerConnection+Private.h',
+            'objc/Framework/Classes/RTCPeerConnection+Stats.mm',
+            'objc/Framework/Classes/RTCPeerConnection.mm',
+            'objc/Framework/Classes/RTCPeerConnectionFactory+Private.h',
+            'objc/Framework/Classes/RTCPeerConnectionFactory.mm',
+            'objc/Framework/Classes/RTCRtpCodecParameters+Private.h',
+            'objc/Framework/Classes/RTCRtpCodecParameters.mm',
+            'objc/Framework/Classes/RTCRtpEncodingParameters+Private.h',
+            'objc/Framework/Classes/RTCRtpEncodingParameters.mm',
+            'objc/Framework/Classes/RTCRtpParameters+Private.h',
+            'objc/Framework/Classes/RTCRtpParameters.mm',
+            'objc/Framework/Classes/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/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/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',
+          ], # sources
+          'conditions': [
+            ['OS=="ios"', {
+              'sources': [
+                'objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h',
+                'objc/Framework/Classes/RTCAVFoundationVideoSource.mm',
+                'objc/Framework/Classes/RTCEAGLVideoView.m',
+                'objc/Framework/Classes/avfoundationvideocapturer.h',
+                'objc/Framework/Classes/avfoundationvideocapturer.mm',
+                'objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h',
+                'objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h',
+              ],
+              'link_settings': {
+                'xcode_settings': {
+                  'OTHER_LDFLAGS': [
+                    '-framework CoreGraphics',
+                    '-framework GLKit',
+                    '-framework OpenGLES',
+                    '-framework QuartzCore',
+                  ],
+                },
+              },  # link_settings
+            }],  # OS=="ios"
+            ['OS=="mac"', {
+              'sources': [
+                'objc/Framework/Classes/RTCNSGLVideoView.m',
+                'objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h',
+              ],
+              'link_settings': {
+                'xcode_settings': {
+                  'OTHER_LDFLAGS': [
+                    '-framework OpenGL',
+                  ],
+                },
+              },
+            }],
+          ],  # conditions
+        },  # rtc_sdk_peerconnection_objc
+        {
+          'target_name': 'rtc_sdk_framework_objc',
+          'type': 'shared_library',
+          'product_name': 'WebRTC',
+          'mac_bundle': 1,
+          'includes': [ '../build/objc_common.gypi' ],
+          # Slightly hacky, but we need to re-declare files here that are C
+          # interfaces because otherwise they will be dead-stripped during
+          # linking (ObjC classes cannot be dead-stripped). We might consider
+          # just only using ObjC interfaces.
+          'sources': [
+            'objc/Framework/Classes/RTCFieldTrials.mm',
+            'objc/Framework/Classes/RTCLogging.mm',
+            'objc/Framework/Classes/RTCSSLAdapter.mm',
+            'objc/Framework/Classes/RTCTracing.mm',
+            'objc/Framework/Headers/WebRTC/RTCFieldTrials.h',
+            'objc/Framework/Headers/WebRTC/RTCLogging.h',
+            'objc/Framework/Headers/WebRTC/RTCSSLAdapter.h',
+            'objc/Framework/Headers/WebRTC/RTCTracing.h',
+            'objc/Framework/Headers/WebRTC/WebRTC.h',
+            'objc/Framework/Modules/module.modulemap',
+          ],
+          'mac_framework_headers': [
+            '<!@(find -E objc/Framework/Headers -regex ".*(h)")',
+          ],
+          'dependencies': [
+            '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_default',
+            'rtc_sdk_peerconnection_objc',
+          ],
+          'xcode_settings': {
+            'CODE_SIGNING_REQUIRED': 'NO',
+            'CODE_SIGN_IDENTITY': '',
+            'DEFINES_MODULE': 'YES',
+            'INFOPLIST_FILE': 'objc/Framework/Info.plist',
+            'LD_DYLIB_INSTALL_NAME': '@rpath/WebRTC.framework/WebRTC',
+            'MODULEMAP_FILE': '<(webrtc_root)/sdk/Framework/Modules/module.modulemap',
+          },
+          'link_settings': {
+            'xcode_settings': {
+              'OTHER_LDFLAGS': [
+                '-framework AVFoundation',
+                '-framework AudioToolbox',
+                '-framework CoreGraphics',
+                '-framework CoreMedia',
+                '-framework GLKit',
+                '-framework VideoToolbox',
+              ],
+            },
+          },  # link_settings
+          'conditions': [
+            # TODO(tkchin): Generate WebRTC.h based off of
+            # mac_framework_headers instead of hard-coding. Ok for now since we
+            # only really care about dynamic lib on iOS outside of chromium.
+            ['OS!="mac"', {
+              'mac_framework_headers!': [
+                'objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h',
+              ],
+            }],
+            ['build_with_chromium==1', {
+              'mac_framework_headers!': [
+                'objc/Framework/Headers/WebRTC/RTCFileLogger.h',
+              ],
+            }],
+          ],  # conditions
+        }, # rtc_sdk_framework_objc
+      ],  # targets
+    }],  # OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7")
+  ],
+}
diff --git a/webrtc/sdk/sdk.gypi b/webrtc/sdk/sdk.gypi
new file mode 100644
index 0000000..8f8ee97
--- /dev/null
+++ b/webrtc/sdk/sdk.gypi
@@ -0,0 +1,26 @@
+# 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.
+
+{
+  'target_defaults': {
+    'configurations': {
+      'Profile': {
+        'xcode_settings': {
+          'DEBUG_INFORMARTION_FORMAT': 'dwarf-with-dsym',
+          # We manually strip using strip -S and strip -x. We need to run
+          # dsymutil ourselves so we need symbols around before that.
+          'DEPLOYMENT_POSTPROCESSING': 'NO',
+          'GCC_OPTIMIZATION_LEVEL': 's',
+          'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES',
+          'STRIP_INSTALLED_PRODUCT': 'NO',
+          'USE_HEADERMAP': 'YES',
+        },
+      },
+    },
+  },
+}
diff --git a/webrtc/sdk/sdk_tests.gyp b/webrtc/sdk/sdk_tests.gyp
new file mode 100644
index 0000000..70e8e7b
--- /dev/null
+++ b/webrtc/sdk/sdk_tests.gyp
@@ -0,0 +1,42 @@
+# 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.
+
+{
+  'includes': [ '../build/common.gypi', ],
+  'conditions': [
+    ['OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7")', {
+      'targets': [
+        {
+          'target_name': 'rtc_sdk_peerconnection_objc_tests',
+          'type': 'executable',
+          'includes': [
+            '../build/objc_common.gypi',
+          ],
+          'dependencies': [
+            '<(webrtc_root)/base/base_tests.gyp:rtc_base_tests_utils',
+            '<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_peerconnection_objc',
+          ],
+          'sources': [
+            'objc/Framework/UnitTests/RTCConfigurationTest.mm',
+            'objc/Framework/UnitTests/RTCDataChannelConfigurationTest.mm',
+            'objc/Framework/UnitTests/RTCIceCandidateTest.mm',
+            'objc/Framework/UnitTests/RTCIceServerTest.mm',
+            'objc/Framework/UnitTests/RTCMediaConstraintsTest.mm',
+            'objc/Framework/UnitTests/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" or (OS=="mac" and mac_deployment_target=="10.7")
+  ],
+}
diff --git a/webrtc/webrtc.gyp b/webrtc/webrtc.gyp
index 2efb0c2..8e7c99b 100644
--- a/webrtc/webrtc.gyp
+++ b/webrtc/webrtc.gyp
@@ -35,6 +35,18 @@
         ],
       },
     }],
+    ['build_with_chromium==0 and'
+     '(OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7"))', {
+      # TODO(kjellander): Move this to webrtc_all_dependencies once all of talk/
+      # has been moved to webrtc/. It can't be processed by Chromium since the
+      # reference to buid/java.gypi is using an absolute path (and includes
+      # entries cannot contain variables).
+      'variables': {
+        'webrtc_all_dependencies': [
+          'sdk/sdk.gyp:*',
+        ],
+      },
+    }],
     ['include_tests==1', {
       'includes': [
         'webrtc_tests.gypi',
@@ -97,6 +109,12 @@
             'webrtc_tests',
           ],
         }],
+        ['include_tests==1 and'
+         '(OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7"))', {
+           'dependencies': [
+             'sdk/sdk_tests.gyp:*',
+           ],
+        }],
       ],
     },
     {
diff --git a/webrtc/webrtc_examples.gyp b/webrtc/webrtc_examples.gyp
index 4a1ff0a..4420d8d 100755
--- a/webrtc/webrtc_examples.gyp
+++ b/webrtc/webrtc_examples.gyp
@@ -154,7 +154,7 @@
           'target_name': 'apprtc_common',
           'type': 'static_library',
           'dependencies': [
-            '<(webrtc_root)/base/base.gyp:rtc_base_objc',
+            '<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_common_objc',
             '<(webrtc_root)/system_wrappers/system_wrappers.gyp:field_trial_default',
           ],
           'sources': [
@@ -201,8 +201,7 @@
           'target_name': 'apprtc_signaling',
           'type': 'static_library',
           'dependencies': [
-            '<(webrtc_root)/api/api.gyp:rtc_api_objc',
-            '<(webrtc_root)/base/base.gyp:rtc_base_objc',
+            '<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_peerconnection_objc',
             'apprtc_common',
             'socketrocket',
           ],
@@ -251,7 +250,7 @@
             ],
           },
           'export_dependent_settings': [
-            '<(webrtc_root)/api/api.gyp:rtc_api_objc',
+            '<(webrtc_root)/sdk/sdk.gyp:rtc_sdk_peerconnection_objc',
           ],
           'conditions': [
             ['OS=="ios"', {
diff --git a/webrtc/webrtc_tests.gypi b/webrtc/webrtc_tests.gypi
index 88e7d6e..57996f2 100644
--- a/webrtc/webrtc_tests.gypi
+++ b/webrtc/webrtc_tests.gypi
@@ -30,11 +30,11 @@
             '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
           ],
         }],
-        ['OS=="ios"', {
+        ['OS=="ios" or (OS=="mac" and mac_deployment_target=="10.7")', {
           'dependencies': [
-            'api/api_tests.gyp:rtc_api_objc_tests',
-          ]
-        }]
+            'sdk/sdk_tests.gyp:rtc_sdk_peerconnection_objc_tests',
+          ],
+        }],
       ],
     },
     {