Revert of Split iOS sdk in to separate targets (patchset #3 id:320001 of https://codereview.webrtc.org/2893843003/ )

Reason for revert:
Breaks downstream project.

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

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

Review-Url: https://codereview.webrtc.org/2911053002
Cr-Commit-Position: refs/heads/master@{#18309}
diff --git a/tools_webrtc/ios/build_ios_libs.py b/tools_webrtc/ios/build_ios_libs.py
index 412ad67..734f3e2 100755
--- a/tools_webrtc/ios/build_ios_libs.py
+++ b/tools_webrtc/ios/build_ios_libs.py
@@ -120,7 +120,7 @@
   if build_type == 'static_only':
     gn_target_name = 'rtc_sdk_objc'
   elif build_type == 'framework':
-    gn_target_name = 'objc_framework'
+    gn_target_name = 'rtc_sdk_framework_objc'
     if not use_bitcode:
       gn_args.append('enable_dsyms=true')
     gn_args.append('enable_stripping=true')
diff --git a/webrtc/BUILD.gn b/webrtc/BUILD.gn
index 3811221..863f062 100644
--- a/webrtc/BUILD.gn
+++ b/webrtc/BUILD.gn
@@ -410,7 +410,7 @@
     }
 
     if (is_ios || is_mac) {
-      deps += [ "sdk:objc_sdk_unittests" ]
+      deps += [ "sdk:rtc_sdk_peerconnection_objc_unittests" ]
     }
   }
 
diff --git a/webrtc/examples/BUILD.gn b/webrtc/examples/BUILD.gn
index 555a9f9..f812f08 100644
--- a/webrtc/examples/BUILD.gn
+++ b/webrtc/examples/BUILD.gn
@@ -163,7 +163,7 @@
     public_configs = [ ":apprtc_common_config" ]
 
     deps = [
-      "//webrtc/sdk:objc_common",
+      "//webrtc/sdk:rtc_sdk_common_objc",
       "//webrtc/system_wrappers:field_trial_default",
       "//webrtc/system_wrappers:metrics_default",
     ]
@@ -232,7 +232,7 @@
       ":socketrocket",
     ]
     public_deps = [
-      "//webrtc/sdk:objc_peerconnection",
+      "//webrtc/sdk:rtc_sdk_peerconnection_objc",
     ]
     libs = [ "QuartzCore.framework" ]
   }
@@ -290,7 +290,7 @@
 
     bundle_data("AppRTCMobile_ios_frameworks") {
       public_deps = [
-        "//webrtc/sdk:objc_framework+link",
+        "//webrtc/sdk:rtc_sdk_framework_objc+link",
       ]
       sources = [
         "$root_out_dir/WebRTC.framework",
@@ -338,7 +338,6 @@
       deps = [
         ":apprtc_common",
         ":apprtc_signaling",
-        "//webrtc/sdk:objc_ui",
       ]
     }
 
diff --git a/webrtc/modules/audio_device/BUILD.gn b/webrtc/modules/audio_device/BUILD.gn
index 2568ef3..de9096e 100644
--- a/webrtc/modules/audio_device/BUILD.gn
+++ b/webrtc/modules/audio_device/BUILD.gn
@@ -176,7 +176,7 @@
         public_deps = [
           "../../base:gtest_prod",
           "../../base:rtc_base",
-          "../../sdk:objc_common",
+          "../../sdk:rtc_sdk_common_objc",
         ]
         sources += [
           "ios/audio_device_ios.h",
diff --git a/webrtc/modules/audio_device/ios/audio_device_ios.mm b/webrtc/modules/audio_device/ios/audio_device_ios.mm
index 3add4b9..8cb1cd2 100644
--- a/webrtc/modules/audio_device/ios/audio_device_ios.mm
+++ b/webrtc/modules/audio_device/ios/audio_device_ios.mm
@@ -23,7 +23,7 @@
 #include "webrtc/base/thread.h"
 #include "webrtc/base/thread_annotations.h"
 #include "webrtc/modules/audio_device/fine_audio_buffer.h"
-#include "webrtc/sdk/objc/Framework/Classes/Common/helpers.h"
+#include "webrtc/sdk/objc/Framework/Classes/helpers.h"
 
 #import "WebRTC/RTCLogging.h"
 #import "webrtc/modules/audio_device/ios/objc/RTCAudioSession.h"
diff --git a/webrtc/modules/video_coding/BUILD.gn b/webrtc/modules/video_coding/BUILD.gn
index 4c283a8..22db6e6 100644
--- a/webrtc/modules/video_coding/BUILD.gn
+++ b/webrtc/modules/video_coding/BUILD.gn
@@ -379,7 +379,7 @@
     if (is_ios || is_mac) {
       deps += [
         "../../media:rtc_media_base",
-        "../../sdk:objc_videotoolbox",
+        "../../sdk:webrtc_h264_video_toolbox",
       ]
     }
   }
diff --git a/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h b/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h
index 9979a3f..2481252 100644
--- a/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h
+++ b/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h
@@ -23,8 +23,8 @@
 #include "webrtc/sdk/android/src/jni/androidmediadecoder_jni.h"
 #include "webrtc/sdk/android/src/jni/androidmediaencoder_jni.h"
 #elif defined(WEBRTC_IOS)
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h"
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.h"
 #endif
 
 #include "webrtc/base/checks.h"
diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn
index 9b41a1e..fa44c48 100644
--- a/webrtc/sdk/BUILD.gn
+++ b/webrtc/sdk/BUILD.gn
@@ -11,50 +11,44 @@
   import("//build/config/ios/rules.gni")
 }
 
-declare_args() {
-  # Determine whether or not to include metal rendering
-  rtc_use_metal_rendering = is_mac || (is_ios && current_cpu == "arm64")
-}
-
 group("sdk") {
   if (is_ios) {
     public_deps = [
-      ":objc_framework",
+      ":rtc_sdk_framework_objc",
     ]
   }
 }
 
 if (is_ios || is_mac) {
-  config("objc_common_config") {
+  config("rtc_sdk_common_objc_config") {
     include_dirs = [
       "objc/Framework/Classes",
-      "objc/Framework/Classes/Audio",
-      "objc/Framework/Classes/Common",
-      "objc/Framework/Classes/Metal",
-      "objc/Framework/Classes/PeerConnection",
-      "objc/Framework/Classes/UI",
-      "objc/Framework/Classes/Video",
-      "objc/Framework/Classes/VideoToolbox",
       "objc/Framework/Headers",
     ]
   }
 
-  rtc_static_library("objc_common") {
+  rtc_static_library("rtc_sdk_common_objc") {
     sources = [
-      "objc/Framework/Classes/Common/NSString+StdString.h",
-      "objc/Framework/Classes/Common/NSString+StdString.mm",
-      "objc/Framework/Classes/Common/RTCDispatcher+Private.h",
-      "objc/Framework/Classes/Common/RTCDispatcher.m",
-      "objc/Framework/Classes/Common/RTCFieldTrials.mm",
-      "objc/Framework/Classes/Common/RTCLogging.mm",
-      "objc/Framework/Classes/Common/RTCUIApplication.h",
-      "objc/Framework/Classes/Common/RTCUIApplication.mm",
-      "objc/Framework/Classes/Common/helpers.h",
-      "objc/Framework/Classes/Common/helpers.mm",
+      "objc/Framework/Classes/NSString+StdString.h",
+      "objc/Framework/Classes/NSString+StdString.mm",
+      "objc/Framework/Classes/RTCDispatcher.m",
+      "objc/Framework/Classes/RTCFieldTrials.mm",
+      "objc/Framework/Classes/RTCLogging.mm",
+      "objc/Framework/Classes/RTCMetrics.mm",
+      "objc/Framework/Classes/RTCMetricsSampleInfo+Private.h",
+      "objc/Framework/Classes/RTCMetricsSampleInfo.mm",
+      "objc/Framework/Classes/RTCSSLAdapter.mm",
+      "objc/Framework/Classes/RTCTracing.mm",
+      "objc/Framework/Classes/helpers.h",
+      "objc/Framework/Classes/helpers.mm",
       "objc/Framework/Headers/WebRTC/RTCDispatcher.h",
       "objc/Framework/Headers/WebRTC/RTCFieldTrials.h",
       "objc/Framework/Headers/WebRTC/RTCLogging.h",
       "objc/Framework/Headers/WebRTC/RTCMacros.h",
+      "objc/Framework/Headers/WebRTC/RTCMetrics.h",
+      "objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h",
+      "objc/Framework/Headers/WebRTC/RTCSSLAdapter.h",
+      "objc/Framework/Headers/WebRTC/RTCTracing.h",
     ]
 
     deps = [
@@ -62,202 +56,132 @@
     ]
     configs += [ "..:common_objc" ]
 
-    public_configs = [ ":objc_common_config" ]
+    public_configs = [ ":rtc_sdk_common_objc_config" ]
 
     if (is_ios) {
       sources += [
-        "objc/Framework/Classes/Common/UIDevice+RTCDevice.mm",
+        "objc/Framework/Classes/RTCCameraPreviewView.m",
+        "objc/Framework/Classes/RTCUIApplication.h",
+        "objc/Framework/Classes/RTCUIApplication.mm",
+        "objc/Framework/Classes/UIDevice+RTCDevice.mm",
+        "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h",
         "objc/Framework/Headers/WebRTC/UIDevice+RTCDevice.h",
       ]
     }
 
-    if (!build_with_chromium) {
+    if (is_mac || (is_ios && current_cpu == "arm64")) {
       sources += [
-        "objc/Framework/Classes/Common/RTCFileLogger.mm",
-        "objc/Framework/Headers/WebRTC/RTCFileLogger.h",
-      ]
-    }
-  }
-
-  rtc_static_library("objc_video") {
-    sources = [
-      "objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.h",
-      "objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.mm",
-      "objc/Framework/Classes/Video/RTCI420Shader.mm",
-      "objc/Framework/Classes/Video/RTCI420TextureCache.h",
-      "objc/Framework/Classes/Video/RTCI420TextureCache.mm",
-      "objc/Framework/Classes/Video/RTCOpenGLDefines.h",
-      "objc/Framework/Classes/Video/RTCShader+Private.h",
-      "objc/Framework/Classes/Video/RTCShader.h",
-      "objc/Framework/Classes/Video/RTCShader.mm",
-      "objc/Framework/Classes/Video/avfoundationformatmapper.h",
-      "objc/Framework/Classes/Video/avfoundationformatmapper.mm",
-      "objc/Framework/Classes/Video/avfoundationvideocapturer.h",
-      "objc/Framework/Classes/Video/avfoundationvideocapturer.mm",
-      "objc/Framework/Classes/Video/objcvideotracksource.h",
-      "objc/Framework/Classes/Video/objcvideotracksource.mm",
-    ]
-    libs = []
-    if (is_ios) {
-      sources += [
-        "objc/Framework/Classes/Video/RTCNV12TextureCache.h",
-        "objc/Framework/Classes/Video/RTCNV12TextureCache.m",
-        "objc/Framework/Classes/Video/RTCNativeNV12Shader.mm",
-      ]
-      libs += [
-        "GLKit.framework",
-        "OpenGLES.framework",
-        "QuartzCore.framework",
-      ]
-    } else if (is_mac) {
-      sources += []
-
-      libs += [
-        "CoreMedia.framework",
-        "CoreVideo.framework",
-        "OpenGL.framework",
-      ]
-    }
-
-    deps = [
-      ":objc_common",
-      ":objc_corevideoframebuffer",
-      ":objc_videotoolbox",
-      "//webrtc/api:libjingle_peerconnection_api",
-      "//webrtc/base:rtc_base",
-      "//webrtc/common_video",
-      "//webrtc/media:rtc_media_base",
-    ]
-
-    configs += [ "..:common_objc" ]
-    if (!build_with_chromium && is_clang) {
-      # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
-      suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
-    }
-  }
-
-  rtc_static_library("objc_ui") {
-    if (is_ios) {
-      sources = [
-        "objc/Framework/Classes/UI/RTCCameraPreviewView.m",
-        "objc/Framework/Classes/UI/RTCEAGLVideoView.m",
-        "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h",
-        "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h",
-      ]
-    }
-    if (is_mac) {
-      sources = [
-        "objc/Framework/Classes/UI/RTCNSGLVideoView.m",
-        "objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h",
-      ]
-    }
-    configs += [ "..:common_objc" ]
-    deps = [
-      ":objc_common",
-      ":objc_peerconnection",
-    ]
-  }
-
-  if (rtc_use_metal_rendering) {
-    rtc_static_library("objc_metal") {
-      sources = [
         "objc/Framework/Classes/Metal/RTCMTLI420Renderer.h",
         "objc/Framework/Classes/Metal/RTCMTLI420Renderer.mm",
         "objc/Framework/Classes/Metal/RTCMTLRenderer+Private.h",
         "objc/Framework/Classes/Metal/RTCMTLRenderer.h",
         "objc/Framework/Classes/Metal/RTCMTLRenderer.mm",
       ]
+      deps += [ "../api:video_frame_api" ]
+
       if (is_ios) {
         sources += [
           "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h",
           "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.mm",
           "objc/Framework/Classes/Metal/RTCMTLVideoView.m",
-          "objc/Framework/Headers/WebRTC/RTCMTLVideoView.h",
         ]
       }
       if (is_mac) {
-        sources += [
-          "objc/Framework/Classes/Metal/RTCMTLNSVideoView.m",
-          "objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h",
-        ]
+        sources += [ "objc/Framework/Classes/Metal/RTCMTLNSVideoView.m" ]
       }
-      libs = [
+    }
+
+    libs = [ "AVFoundation.framework" ]
+    if (is_mac || (is_ios && current_cpu == "arm64")) {
+      libs += [
         "CoreVideo.framework",
         "Metal.framework",
         "MetalKit.framework",
       ]
-      deps = [
-        ":objc_video",
-        "//webrtc/api:video_frame_api",
-        "//webrtc/base:rtc_base_approved",
+    }
+    if (!build_with_chromium) {
+      sources += [
+        "objc/Framework/Classes/RTCFileLogger.mm",
+        "objc/Framework/Headers/WebRTC/RTCFileLogger.h",
       ]
-      configs += [ "..:common_objc" ]
-      public_configs = [ ":objc_common_config" ]
     }
   }
 
-  rtc_static_library("objc_peerconnection") {
+  rtc_static_library("rtc_sdk_peerconnection_objc") {
     sources = [
-      "objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource.mm",
-      "objc/Framework/Classes/PeerConnection/RTCAudioSource+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCAudioSource.mm",
-      "objc/Framework/Classes/PeerConnection/RTCAudioTrack+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCAudioTrack.mm",
-      "objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m",
-      "objc/Framework/Classes/PeerConnection/RTCConfiguration+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCConfiguration.mm",
-      "objc/Framework/Classes/PeerConnection/RTCDataChannel+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCDataChannel.mm",
-      "objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration.mm",
-      "objc/Framework/Classes/PeerConnection/RTCIceCandidate+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCIceCandidate.mm",
-      "objc/Framework/Classes/PeerConnection/RTCIceServer+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCIceServer.mm",
-      "objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport.mm",
-      "objc/Framework/Classes/PeerConnection/RTCMediaConstraints+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCMediaConstraints.mm",
-      "objc/Framework/Classes/PeerConnection/RTCMediaSource+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCMediaSource.mm",
-      "objc/Framework/Classes/PeerConnection/RTCMediaStream+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCMediaStream.mm",
-      "objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack.mm",
-      "objc/Framework/Classes/PeerConnection/RTCMetrics.mm",
-      "objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo.mm",
-      "objc/Framework/Classes/PeerConnection/RTCPeerConnection+DataChannel.mm",
-      "objc/Framework/Classes/PeerConnection/RTCPeerConnection+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCPeerConnection+Stats.mm",
-      "objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm",
-      "objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory.mm",
-      "objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters.mm",
-      "objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters.mm",
-      "objc/Framework/Classes/PeerConnection/RTCRtpParameters+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCRtpParameters.mm",
-      "objc/Framework/Classes/PeerConnection/RTCRtpReceiver+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCRtpReceiver.mm",
-      "objc/Framework/Classes/PeerConnection/RTCRtpSender+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCRtpSender.mm",
-      "objc/Framework/Classes/PeerConnection/RTCSSLAdapter.mm",
-      "objc/Framework/Classes/PeerConnection/RTCSessionDescription+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCSessionDescription.mm",
-      "objc/Framework/Classes/PeerConnection/RTCTracing.mm",
-      "objc/Framework/Classes/PeerConnection/RTCVideoCapturer.m",
-      "objc/Framework/Classes/PeerConnection/RTCVideoFrame+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCVideoFrame.mm",
-      "objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h",
-      "objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.mm",
-      "objc/Framework/Classes/PeerConnection/RTCVideoSource+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCVideoSource.mm",
-      "objc/Framework/Classes/PeerConnection/RTCVideoTrack+Private.h",
-      "objc/Framework/Classes/PeerConnection/RTCVideoTrack.mm",
+      "objc/Framework/Classes/Metal/RTCMTLNV12Renderer.h",
+      "objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.h",
+      "objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.mm",
+      "objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h",
+      "objc/Framework/Classes/RTCAVFoundationVideoSource.mm",
+      "objc/Framework/Classes/RTCAudioSource+Private.h",
+      "objc/Framework/Classes/RTCAudioSource.mm",
+      "objc/Framework/Classes/RTCAudioTrack+Private.h",
+      "objc/Framework/Classes/RTCAudioTrack.mm",
+      "objc/Framework/Classes/RTCCameraVideoCapturer.m",
+      "objc/Framework/Classes/RTCConfiguration+Private.h",
+      "objc/Framework/Classes/RTCConfiguration.mm",
+      "objc/Framework/Classes/RTCDataChannel+Private.h",
+      "objc/Framework/Classes/RTCDataChannel.mm",
+      "objc/Framework/Classes/RTCDataChannelConfiguration+Private.h",
+      "objc/Framework/Classes/RTCDataChannelConfiguration.mm",
+      "objc/Framework/Classes/RTCI420Shader.mm",
+      "objc/Framework/Classes/RTCI420TextureCache.h",
+      "objc/Framework/Classes/RTCI420TextureCache.mm",
+      "objc/Framework/Classes/RTCIceCandidate+Private.h",
+      "objc/Framework/Classes/RTCIceCandidate.mm",
+      "objc/Framework/Classes/RTCIceServer+Private.h",
+      "objc/Framework/Classes/RTCIceServer.mm",
+      "objc/Framework/Classes/RTCLegacyStatsReport+Private.h",
+      "objc/Framework/Classes/RTCLegacyStatsReport.mm",
+      "objc/Framework/Classes/RTCMediaConstraints+Private.h",
+      "objc/Framework/Classes/RTCMediaConstraints.mm",
+      "objc/Framework/Classes/RTCMediaSource+Private.h",
+      "objc/Framework/Classes/RTCMediaSource.mm",
+      "objc/Framework/Classes/RTCMediaStream+Private.h",
+      "objc/Framework/Classes/RTCMediaStream.mm",
+      "objc/Framework/Classes/RTCMediaStreamTrack+Private.h",
+      "objc/Framework/Classes/RTCMediaStreamTrack.mm",
+      "objc/Framework/Classes/RTCOpenGLDefines.h",
+      "objc/Framework/Classes/RTCPeerConnection+DataChannel.mm",
+      "objc/Framework/Classes/RTCPeerConnection+Private.h",
+      "objc/Framework/Classes/RTCPeerConnection+Stats.mm",
+      "objc/Framework/Classes/RTCPeerConnection.mm",
+      "objc/Framework/Classes/RTCPeerConnectionFactory+Private.h",
+      "objc/Framework/Classes/RTCPeerConnectionFactory.mm",
+      "objc/Framework/Classes/RTCRtpCodecParameters+Private.h",
+      "objc/Framework/Classes/RTCRtpCodecParameters.mm",
+      "objc/Framework/Classes/RTCRtpEncodingParameters+Private.h",
+      "objc/Framework/Classes/RTCRtpEncodingParameters.mm",
+      "objc/Framework/Classes/RTCRtpParameters+Private.h",
+      "objc/Framework/Classes/RTCRtpParameters.mm",
+      "objc/Framework/Classes/RTCRtpReceiver+Private.h",
+      "objc/Framework/Classes/RTCRtpReceiver.mm",
+      "objc/Framework/Classes/RTCRtpSender+Private.h",
+      "objc/Framework/Classes/RTCRtpSender.mm",
+      "objc/Framework/Classes/RTCSessionDescription+Private.h",
+      "objc/Framework/Classes/RTCSessionDescription.mm",
+      "objc/Framework/Classes/RTCShader+Private.h",
+      "objc/Framework/Classes/RTCShader.h",
+      "objc/Framework/Classes/RTCShader.mm",
+      "objc/Framework/Classes/RTCVideoCapturer.m",
+      "objc/Framework/Classes/RTCVideoFrame+Private.h",
+      "objc/Framework/Classes/RTCVideoFrame.mm",
+      "objc/Framework/Classes/RTCVideoRendererAdapter+Private.h",
+      "objc/Framework/Classes/RTCVideoRendererAdapter.h",
+      "objc/Framework/Classes/RTCVideoRendererAdapter.mm",
+      "objc/Framework/Classes/RTCVideoSource+Private.h",
+      "objc/Framework/Classes/RTCVideoSource.mm",
+      "objc/Framework/Classes/RTCVideoTrack+Private.h",
+      "objc/Framework/Classes/RTCVideoTrack.mm",
+      "objc/Framework/Classes/avfoundationformatmapper.h",
+      "objc/Framework/Classes/avfoundationformatmapper.mm",
+      "objc/Framework/Classes/avfoundationvideocapturer.h",
+      "objc/Framework/Classes/avfoundationvideocapturer.mm",
+      "objc/Framework/Classes/objcvideotracksource.h",
+      "objc/Framework/Classes/objcvideotracksource.mm",
+      "objc/Framework/Classes/videotoolboxvideocodecfactory.cc",
+      "objc/Framework/Classes/videotoolboxvideocodecfactory.h",
       "objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h",
       "objc/Framework/Headers/WebRTC/RTCAudioSource.h",
       "objc/Framework/Headers/WebRTC/RTCAudioTrack.h",
@@ -272,8 +196,6 @@
       "objc/Framework/Headers/WebRTC/RTCMediaSource.h",
       "objc/Framework/Headers/WebRTC/RTCMediaStream.h",
       "objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h",
-      "objc/Framework/Headers/WebRTC/RTCMetrics.h",
-      "objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h",
       "objc/Framework/Headers/WebRTC/RTCPeerConnection.h",
       "objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h",
       "objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h",
@@ -281,9 +203,7 @@
       "objc/Framework/Headers/WebRTC/RTCRtpParameters.h",
       "objc/Framework/Headers/WebRTC/RTCRtpReceiver.h",
       "objc/Framework/Headers/WebRTC/RTCRtpSender.h",
-      "objc/Framework/Headers/WebRTC/RTCSSLAdapter.h",
       "objc/Framework/Headers/WebRTC/RTCSessionDescription.h",
-      "objc/Framework/Headers/WebRTC/RTCTracing.h",
       "objc/Framework/Headers/WebRTC/RTCVideoCapturer.h",
       "objc/Framework/Headers/WebRTC/RTCVideoFrame.h",
       "objc/Framework/Headers/WebRTC/RTCVideoRenderer.h",
@@ -291,34 +211,64 @@
       "objc/Framework/Headers/WebRTC/RTCVideoTrack.h",
     ]
 
-    libs = [ "AVFoundation.framework" ]
+    deps = [
+      ":rtc_sdk_corevideoframebuffer",
+      ":webrtc_h264_video_toolbox",
+      "../api:video_frame_api",
+      "../base:rtc_base",
+      "../base:rtc_base_approved",
+      "../common_video",
+      "../media:rtc_media",
+      "../media:rtc_media_base",
+      "../system_wrappers",
+    ]
 
     if (is_ios) {
-      libs += [ "CoreGraphics.framework" ]
+      sources += [
+        "objc/Framework/Classes/RTCEAGLVideoView.m",
+        "objc/Framework/Classes/RTCNV12TextureCache.h",
+        "objc/Framework/Classes/RTCNV12TextureCache.m",
+        "objc/Framework/Classes/RTCNativeNV12Shader.mm",
+        "objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h",
+      ]
+      libs = [
+        "CoreGraphics.framework",
+        "GLKit.framework",
+        "OpenGLES.framework",
+        "QuartzCore.framework",
+      ]
+    }
+
+    if (is_mac) {
+      sources += [
+        "objc/Framework/Classes/RTCNSGLVideoView.m",
+        "objc/Framework/Headers/WebRTC/RTCMTLNSVideoView.h",
+        "objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h",
+      ]
+      libs = [
+        "CoreVideo.framework",
+        "CoreMedia.framework",
+        "OpenGL.framework",
+        "Metal.framework",
+        "MetalKit.framework",
+      ]
     }
 
     configs += [ "..:common_objc" ]
 
-    public_configs = [ ":objc_common_config" ]
+    public_configs = [ ":rtc_sdk_common_objc_config" ]
 
     if (!build_with_chromium && is_clang) {
       # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
       suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
     }
 
-    deps = [
-      ":objc_common",
-      ":objc_corevideoframebuffer",
-      ":objc_video",
-      "../pc:libjingle_peerconnection",
-      "//webrtc/api:video_frame_api",
-      "//webrtc/base:rtc_base",
-      "//webrtc/media:rtc_media_base",
-    ]
+    libs += [ "AVFoundation.framework" ]
 
-    if (rtc_use_metal_rendering) {
-      deps += [ ":objc_metal" ]
-    }
+    deps += [
+      ":rtc_sdk_common_objc",
+      "../pc:libjingle_peerconnection",
+    ]
 
     if (rtc_build_libyuv) {
       deps += [ "$rtc_libyuv_dir" ]
@@ -329,7 +279,7 @@
   }
 
   if (rtc_include_tests) {
-    rtc_source_set("objc_sdk_unittests") {
+    rtc_source_set("rtc_sdk_peerconnection_objc_unittests") {
       testonly = true
 
       # Skip restricting visibility on mobile platforms since the tests on those
@@ -349,6 +299,15 @@
         "objc/Framework/UnitTests/RTCSessionDescriptionTest.mm",
         "objc/Framework/UnitTests/avformatmappertests.mm",
       ]
+      if (is_ios) {
+        sources += [ "objc/Framework/UnitTests/RTCMTLVideoViewTests.mm" ]
+        if (current_cpu != "arm64") {
+          sources += [ "objc/Framework/Classes/Metal/RTCMTLVideoView.m" ]
+        }
+      }
+
+      # TODO(tkchin): Cleanup this warning.
+      cflags = [ "-Wno-objc-property-no-attribute" ]
 
       # |-ObjC| flag needed to make sure category method implementations
       # are included:
@@ -357,24 +316,12 @@
 
       defines = [ "GTEST_RELATIVE_PATH" ]
       deps = [
-        ":objc_peerconnection",
-        "..//system_wrappers:system_wrappers_default",
+        ":rtc_sdk_peerconnection_objc",
         "../base:rtc_base_tests_utils",
         "//third_party/ocmock",
         "//webrtc/system_wrappers:system_wrappers_default",
       ]
 
-      # RTCMTLVideoView not supported on 32-bit arm
-      if (is_ios && current_cpu != "arm") {
-        sources += [ "objc/Framework/UnitTests/RTCMTLVideoViewTests.mm" ]
-        if (current_cpu != "arm64") {
-          # Only include this file on simulator, as it's already
-          # included in device builds.
-          sources += [ "objc/Framework/Classes/Metal/RTCMTLVideoView.m" ]
-          libs = [ "CoreVideo.framework" ]
-        }
-      }
-
       if (!build_with_chromium && is_clang) {
         # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
         suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
@@ -383,12 +330,16 @@
   }
 
   if (is_ios) {
-    ios_framework_bundle("objc_framework") {
+    ios_framework_bundle("rtc_sdk_framework_objc") {
       info_plist = "objc/Framework/Info.plist"
       output_name = "WebRTC"
 
       common_objc_headers = [
         "objc/Framework/Headers/WebRTC/RTCAVFoundationVideoSource.h",
+        "objc/Framework/Headers/WebRTC/RTCAudioSource.h",
+        "objc/Framework/Headers/WebRTC/RTCAudioTrack.h",
+        "objc/Framework/Headers/WebRTC/RTCCameraVideoCapturer.h",
+        "objc/Framework/Headers/WebRTC/RTCCameraPreviewView.h",
         "objc/Framework/Headers/WebRTC/RTCConfiguration.h",
         "objc/Framework/Headers/WebRTC/RTCDataChannel.h",
         "objc/Framework/Headers/WebRTC/RTCDataChannelConfiguration.h",
@@ -406,6 +357,7 @@
         "objc/Framework/Headers/WebRTC/RTCMediaStreamTrack.h",
         "objc/Framework/Headers/WebRTC/RTCMetrics.h",
         "objc/Framework/Headers/WebRTC/RTCMetricsSampleInfo.h",
+        "objc/Framework/Headers/WebRTC/RTCMTLVideoView.h",
         "objc/Framework/Headers/WebRTC/RTCPeerConnection.h",
         "objc/Framework/Headers/WebRTC/RTCPeerConnectionFactory.h",
         "objc/Framework/Headers/WebRTC/RTCRtpCodecParameters.h",
@@ -440,23 +392,23 @@
       ]
 
       deps = [
-        ":objc_peerconnection",
-        ":objc_ui",
-        "../base:rtc_base_approved",
+        ":rtc_sdk_peerconnection_objc",
         "../system_wrappers:field_trial_default",
         "../system_wrappers:metrics_default",
       ]
 
       libs = [
         "AVFoundation.framework",
+        "AudioToolbox.framework",
         "CoreGraphics.framework",
         "CoreMedia.framework",
         "GLKit.framework",
+        "VideoToolbox.framework",
       ]
 
       configs += [ "..:common_objc" ]
 
-      public_configs = [ ":objc_common_config" ]
+      public_configs = [ ":rtc_sdk_common_objc_config" ]
 
       if (!build_with_chromium && is_clang) {
         # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163)
@@ -468,17 +420,16 @@
   rtc_static_library("rtc_sdk_objc") {
     complete_static_lib = true
     deps = [
-      ":objc_peerconnection",
-      ":objc_ui",
+      ":rtc_sdk_peerconnection_objc",
       "//webrtc/system_wrappers:field_trial_default",
       "//webrtc/system_wrappers:metrics_default",
     ]
   }
 
-  rtc_static_library("objc_corevideoframebuffer") {
+  rtc_static_library("rtc_sdk_corevideoframebuffer") {
     sources = [
-      "objc/Framework/Classes/Video/corevideo_frame_buffer.cc",
-      "objc/Framework/Classes/Video/corevideo_frame_buffer.h",
+      "objc/Framework/Classes/corevideo_frame_buffer.cc",
+      "objc/Framework/Classes/corevideo_frame_buffer.h",
     ]
 
     deps = [
@@ -486,39 +437,32 @@
       "../common_video",
     ]
 
-    if (!build_with_chromium && is_clang) {
-      # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
-      suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
-    }
-
     libs = [ "CoreVideo.framework" ]
   }
 
-  rtc_static_library("objc_videotoolbox") {
+  rtc_static_library("webrtc_h264_video_toolbox") {
     sources = [
-      "objc/Framework/Classes/VideoToolbox/decoder.cc",
-      "objc/Framework/Classes/VideoToolbox/decoder.h",
-      "objc/Framework/Classes/VideoToolbox/encoder.h",
-      "objc/Framework/Classes/VideoToolbox/encoder.mm",
-      "objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc",
-      "objc/Framework/Classes/VideoToolbox/nalu_rewriter.h",
-      "objc/Framework/Classes/VideoToolbox/videocodecfactory.cc",
-      "objc/Framework/Classes/VideoToolbox/videocodecfactory.h",
+      "objc/Framework/Classes/h264_video_toolbox_decoder.cc",
+      "objc/Framework/Classes/h264_video_toolbox_decoder.h",
+      "objc/Framework/Classes/h264_video_toolbox_encoder.h",
+      "objc/Framework/Classes/h264_video_toolbox_encoder.mm",
+      "objc/Framework/Classes/h264_video_toolbox_nalu.cc",
+      "objc/Framework/Classes/h264_video_toolbox_nalu.h",
     ]
 
     configs += [ "//webrtc:common_objc" ]
 
     deps = [
-      ":objc_common",
-      ":objc_corevideoframebuffer",
+      ":rtc_sdk_common_objc",
+      ":rtc_sdk_corevideoframebuffer",
+      "../api:video_frame_api",
       "../base:rtc_base_approved",
-      "//webrtc/common_video",
-      "//webrtc/media:rtc_media",
-      "//webrtc/media:rtc_media_base",
-      "//webrtc/modules:module_api",
-      "//webrtc/modules/video_coding:video_coding_utility",
-      "//webrtc/modules/video_coding:webrtc_h264",
-      "//webrtc/system_wrappers",
+      "../common_video",
+      "../media:rtc_media_base",
+      "../modules:module_api",
+      "../modules/video_coding:video_coding_utility",
+      "../modules/video_coding:webrtc_h264",
+      "../system_wrappers",
     ]
 
     libs = [
diff --git a/webrtc/sdk/objc/DEPS b/webrtc/sdk/objc/DEPS
index ac54cc0..dcb040e 100644
--- a/webrtc/sdk/objc/DEPS
+++ b/webrtc/sdk/objc/DEPS
@@ -1,12 +1,5 @@
 include_rules = [
   "+WebRTC",
-  "+Common",
-  "+Video",
-  "+Audio",
-  "+UI",
-  "+PeerConnection",
-  "+VideoToolbox",
-  "+Metal",
   "+webrtc/api",
   "+webrtc/common_video/h264",
   "+webrtc/common_video/include",
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/NSString+StdString.h b/webrtc/sdk/objc/Framework/Classes/NSString+StdString.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Common/NSString+StdString.h
rename to webrtc/sdk/objc/Framework/Classes/NSString+StdString.h
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/NSString+StdString.mm b/webrtc/sdk/objc/Framework/Classes/NSString+StdString.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Common/NSString+StdString.mm
rename to webrtc/sdk/objc/Framework/Classes/NSString+StdString.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.h b/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.h
rename to webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.h
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.mm b/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCAVFoundationVideoCapturerInternal.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoCapturerInternal.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource.mm b/webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAVFoundationVideoSource.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCAVFoundationVideoSource.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAudioSource+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCAudioSource+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAudioSource+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCAudioSource+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAudioSource.mm b/webrtc/sdk/objc/Framework/Classes/RTCAudioSource.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAudioSource.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCAudioSource.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAudioTrack+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAudioTrack+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCAudioTrack+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAudioTrack.mm b/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAudioTrack.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/UI/RTCCameraPreviewView.m b/webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/UI/RTCCameraPreviewView.m
rename to webrtc/sdk/objc/Framework/Classes/RTCCameraPreviewView.m
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m b/webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCCameraVideoCapturer.m
rename to webrtc/sdk/objc/Framework/Classes/RTCCameraVideoCapturer.m
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCConfiguration+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCConfiguration+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCConfiguration+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCConfiguration+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCConfiguration.mm b/webrtc/sdk/objc/Framework/Classes/RTCConfiguration.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCConfiguration.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCConfiguration.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDataChannel+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDataChannel+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCDataChannel+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDataChannel.mm b/webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDataChannel.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCDataChannel.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration.mm b/webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCDataChannelConfiguration.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCDataChannelConfiguration.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/RTCDispatcher+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCDispatcher+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Common/RTCDispatcher+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCDispatcher+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/RTCDispatcher.m b/webrtc/sdk/objc/Framework/Classes/RTCDispatcher.m
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Common/RTCDispatcher.m
rename to webrtc/sdk/objc/Framework/Classes/RTCDispatcher.m
diff --git a/webrtc/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m b/webrtc/sdk/objc/Framework/Classes/RTCEAGLVideoView.m
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/UI/RTCEAGLVideoView.m
rename to webrtc/sdk/objc/Framework/Classes/RTCEAGLVideoView.m
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/RTCFieldTrials.mm b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
similarity index 96%
rename from webrtc/sdk/objc/Framework/Classes/Common/RTCFieldTrials.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
index 854bc7c..28ce541 100644
--- a/webrtc/sdk/objc/Framework/Classes/Common/RTCFieldTrials.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCFieldTrials.mm
@@ -27,8 +27,6 @@
 NSString * const kRTCFieldTrialMedianSlopeFilterKey = @"WebRTC-BweMedianSlopeFilter";
 NSString * const kRTCFieldTrialTrendlineFilterKey = @"WebRTC-BweTrendlineFilter";
 NSString * const kRTCFieldTrialH264HighProfileKey = @"WebRTC-H264HighProfile";
-NSString * const kRTCFieldTrialMinimizeResamplingOnMobileKey =
-    @"WebRTC-Audio-MinimizeResamplingOnMobile";
 NSString * const kRTCFieldTrialEnabledValue = @"Enabled";
 
 static std::unique_ptr<char[]> gFieldTrialInitString;
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/RTCFileLogger.mm b/webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Common/RTCFileLogger.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCFileLogger.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCI420Shader.mm b/webrtc/sdk/objc/Framework/Classes/RTCI420Shader.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCI420Shader.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCI420Shader.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCI420TextureCache.h b/webrtc/sdk/objc/Framework/Classes/RTCI420TextureCache.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCI420TextureCache.h
rename to webrtc/sdk/objc/Framework/Classes/RTCI420TextureCache.h
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCI420TextureCache.mm b/webrtc/sdk/objc/Framework/Classes/RTCI420TextureCache.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCI420TextureCache.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCI420TextureCache.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceCandidate+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceCandidate+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCIceCandidate+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceCandidate.mm b/webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceCandidate.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCIceCandidate.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCIceServer+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCIceServer+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm b/webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCIceServer.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCIceServer.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCLegacyStatsReport+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCLegacyStatsReport+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport.mm b/webrtc/sdk/objc/Framework/Classes/RTCLegacyStatsReport.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCLegacyStatsReport.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCLegacyStatsReport.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/RTCLogging.mm b/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Common/RTCLogging.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCLogging.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaConstraints+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaConstraints+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaConstraints.mm b/webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaConstraints.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaConstraints.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaSource+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMediaSource+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaSource+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaSource+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaSource.mm b/webrtc/sdk/objc/Framework/Classes/RTCMediaSource.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaSource.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaSource.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStream+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMediaStream+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStream+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaStream+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStream.mm b/webrtc/sdk/objc/Framework/Classes/RTCMediaStream.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStream.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaStream.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack.mm b/webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMediaStreamTrack.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCMediaStreamTrack.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMetrics.mm b/webrtc/sdk/objc/Framework/Classes/RTCMetrics.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMetrics.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCMetrics.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCMetricsSampleInfo+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCMetricsSampleInfo+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo.mm b/webrtc/sdk/objc/Framework/Classes/RTCMetricsSampleInfo.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCMetricsSampleInfo.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCMetricsSampleInfo.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/UI/RTCNSGLVideoView.m b/webrtc/sdk/objc/Framework/Classes/RTCNSGLVideoView.m
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/UI/RTCNSGLVideoView.m
rename to webrtc/sdk/objc/Framework/Classes/RTCNSGLVideoView.m
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCNV12TextureCache.h b/webrtc/sdk/objc/Framework/Classes/RTCNV12TextureCache.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCNV12TextureCache.h
rename to webrtc/sdk/objc/Framework/Classes/RTCNV12TextureCache.h
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCNV12TextureCache.m b/webrtc/sdk/objc/Framework/Classes/RTCNV12TextureCache.m
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCNV12TextureCache.m
rename to webrtc/sdk/objc/Framework/Classes/RTCNV12TextureCache.m
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCNativeNV12Shader.mm b/webrtc/sdk/objc/Framework/Classes/RTCNativeNV12Shader.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCNativeNV12Shader.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCNativeNV12Shader.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCOpenGLDefines.h b/webrtc/sdk/objc/Framework/Classes/RTCOpenGLDefines.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCOpenGLDefines.h
rename to webrtc/sdk/objc/Framework/Classes/RTCOpenGLDefines.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+DataChannel.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+DataChannel.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+DataChannel.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+DataChannel.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Stats.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Stats.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection+Stats.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnection+Stats.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnection.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnection.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory.mm b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
similarity index 98%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
index 72a97ea..18a707c 100644
--- a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCPeerConnectionFactory.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCPeerConnectionFactory.mm
@@ -11,6 +11,7 @@
 #import "RTCPeerConnectionFactory+Private.h"
 
 #import "NSString+StdString.h"
+#import "RTCAVFoundationVideoSource+Private.h"
 #import "RTCAudioSource+Private.h"
 #import "RTCAudioTrack+Private.h"
 #import "RTCMediaConstraints+Private.h"
@@ -18,11 +19,10 @@
 #import "RTCPeerConnection+Private.h"
 #import "RTCVideoSource+Private.h"
 #import "RTCVideoTrack+Private.h"
-#import "RTCAVFoundationVideoSource+Private.h"
 #import "WebRTC/RTCLogging.h"
 
-#include "Video/objcvideotracksource.h"
-#include "VideoToolbox/videocodecfactory.h"
+#include "objcvideotracksource.h"
+#include "videotoolboxvideocodecfactory.h"
 
 @implementation RTCPeerConnectionFactory {
   std::unique_ptr<rtc::Thread> _networkThread;
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpCodecParameters.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpCodecParameters.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpEncodingParameters.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpEncodingParameters.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpParameters+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCRtpParameters+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpParameters+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpParameters+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpParameters.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpParameters.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpParameters.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpParameters.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpReceiver+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpReceiver+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpReceiver.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpReceiver.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpReceiver.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpSender+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCRtpSender+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpSender+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpSender+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpSender.mm b/webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCRtpSender.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCRtpSender.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCSSLAdapter.mm b/webrtc/sdk/objc/Framework/Classes/RTCSSLAdapter.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCSSLAdapter.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCSSLAdapter.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCSessionDescription+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCSessionDescription+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCSessionDescription+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCSessionDescription+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCSessionDescription.mm b/webrtc/sdk/objc/Framework/Classes/RTCSessionDescription.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCSessionDescription.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCSessionDescription.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCShader+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCShader+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCShader+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCShader+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCShader.h b/webrtc/sdk/objc/Framework/Classes/RTCShader.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCShader.h
rename to webrtc/sdk/objc/Framework/Classes/RTCShader.h
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/RTCShader.mm b/webrtc/sdk/objc/Framework/Classes/RTCShader.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/RTCShader.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCShader.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCTracing.mm b/webrtc/sdk/objc/Framework/Classes/RTCTracing.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCTracing.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCTracing.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplication.h b/webrtc/sdk/objc/Framework/Classes/RTCUIApplication.h
similarity index 75%
rename from webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplication.h
rename to webrtc/sdk/objc/Framework/Classes/RTCUIApplication.h
index 3df6d53..fb11ede 100644
--- a/webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplication.h
+++ b/webrtc/sdk/objc/Framework/Classes/RTCUIApplication.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_UI_RTCUIAPPLICATION_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_UI_RTCUIAPPLICATION_H_
+#ifndef WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
+#define WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
 
 #include "WebRTC/RTCMacros.h"
 
@@ -18,4 +18,4 @@
 RTC_EXTERN bool RTCIsUIApplicationActive();
 #endif  // WEBRTC_IOS
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_UI_RTCUIAPPLICATION_H_
+#endif  // WEBRTC_BASE_OBJC_RTC_UI_APPLICATION_H_
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplication.mm b/webrtc/sdk/objc/Framework/Classes/RTCUIApplication.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplication.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCUIApplication.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCapturer.m b/webrtc/sdk/objc/Framework/Classes/RTCVideoCapturer.m
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCapturer.m
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoCapturer.m
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoFrame+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoFrame+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoFrame+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoFrame.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
similarity index 97%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoFrame.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
index bad3dc8..ed6c288 100644
--- a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoFrame.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoFrame.mm
@@ -10,7 +10,7 @@
 
 #import "RTCVideoFrame+Private.h"
 
-#include "webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
+#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h"
 
 @implementation RTCVideoFrame {
   rtc::scoped_refptr<webrtc::VideoFrameBuffer> _videoBuffer;
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoRendererAdapter.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoRendererAdapter.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoSource+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoSource+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoSource+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoSource+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoSource.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoSource.mm
similarity index 96%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoSource.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoSource.mm
index ef95e65..6748580 100644
--- a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoSource.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCVideoSource.mm
@@ -11,7 +11,7 @@
 #import "RTCVideoSource+Private.h"
 
 #include "webrtc/base/checks.h"
-#include "webrtc/sdk/objc/Framework/Classes/Video/objcvideotracksource.h"
+#include "webrtc/sdk/objc/Framework/Classes/objcvideotracksource.h"
 
 // TODO(magjed): Refactor this class and target ObjcVideoTrackSource only once
 // RTCAVFoundationVideoSource is gone. See http://crbug/webrtc/7177 for more
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoTrack+Private.h b/webrtc/sdk/objc/Framework/Classes/RTCVideoTrack+Private.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoTrack+Private.h
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoTrack+Private.h
diff --git a/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoTrack.mm b/webrtc/sdk/objc/Framework/Classes/RTCVideoTrack.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoTrack.mm
rename to webrtc/sdk/objc/Framework/Classes/RTCVideoTrack.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/UIDevice+RTCDevice.mm b/webrtc/sdk/objc/Framework/Classes/UIDevice+RTCDevice.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Common/UIDevice+RTCDevice.mm
rename to webrtc/sdk/objc/Framework/Classes/UIDevice+RTCDevice.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/avfoundationformatmapper.h b/webrtc/sdk/objc/Framework/Classes/avfoundationformatmapper.h
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/avfoundationformatmapper.h
rename to webrtc/sdk/objc/Framework/Classes/avfoundationformatmapper.h
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/avfoundationformatmapper.mm b/webrtc/sdk/objc/Framework/Classes/avfoundationformatmapper.mm
similarity index 100%
rename from webrtc/sdk/objc/Framework/Classes/Video/avfoundationformatmapper.mm
rename to webrtc/sdk/objc/Framework/Classes/avfoundationformatmapper.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/avfoundationvideocapturer.h b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.h
similarity index 90%
rename from webrtc/sdk/objc/Framework/Classes/Video/avfoundationvideocapturer.h
rename to webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.h
index 45161b6..6253405 100644
--- a/webrtc/sdk/objc/Framework/Classes/Video/avfoundationvideocapturer.h
+++ b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_AVFOUNDATIONVIDEOCAPTURER_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_AVFOUNDATIONVIDEOCAPTURER_H_
+#ifndef WEBRTC_API_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
+#define WEBRTC_API_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
 
 #import <AVFoundation/AVFoundation.h>
 
@@ -69,4 +69,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_AVFOUNDATIONVIDEOCAPTURER_H_
+#endif  // WEBRTC_API_OBJC_AVFOUNDATION_VIDEO_CAPTURER_H_
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/avfoundationvideocapturer.mm b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
similarity index 98%
rename from webrtc/sdk/objc/Framework/Classes/Video/avfoundationvideocapturer.mm
rename to webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
index 2b2ea2a..72117f5 100644
--- a/webrtc/sdk/objc/Framework/Classes/Video/avfoundationvideocapturer.mm
+++ b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm
@@ -23,7 +23,7 @@
 #include "webrtc/base/checks.h"
 #include "webrtc/base/logging.h"
 #include "webrtc/base/thread.h"
-#include "webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
+#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h"
 
 namespace webrtc {
 
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.cc b/webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.cc
similarity index 98%
rename from webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.cc
rename to webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.cc
index 9593d13..3e98cb4 100644
--- a/webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.cc
+++ b/webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
+#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h"
 
 #include "libyuv/convert.h"
 #include "webrtc/api/video/i420_buffer.h"
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h b/webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h
similarity index 89%
rename from webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h
rename to webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h
index fc8c171..3bf6498 100644
--- a/webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h
+++ b/webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_COREVIDEO_FRAME_BUFFER_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_COREVIDEO_FRAME_BUFFER_H_
+#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COREVIDEO_FRAME_BUFFER_H_
+#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COREVIDEO_FRAME_BUFFER_H_
 
 #include <CoreVideo/CoreVideo.h>
 
@@ -56,4 +56,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_COREVIDEO_FRAME_BUFFER_H_
+#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COREVIDEO_FRAME_BUFFER_H_
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.cc b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc
similarity index 96%
rename from webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.cc
rename to webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc
index 9c2509f..efaaeeb 100644
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.cc
+++ b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc
@@ -9,20 +9,20 @@
  *
  */
 
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.h"
 
 #include <memory>
 
 #if defined(WEBRTC_IOS)
-#include "Common/RTCUIApplication.h"
+#include "RTCUIApplication.h"
 #endif
 #include "libyuv/convert.h"
 #include "webrtc/api/video/video_frame.h"
 #include "webrtc/base/checks.h"
 #include "webrtc/base/logging.h"
 #include "webrtc/common_video/include/video_frame.h"
-#include "webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h"
+#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.h"
 
 namespace webrtc {
 namespace {
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.h
similarity index 88%
rename from webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h
rename to webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.h
index f2252da..d81c112 100644
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h
+++ b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.h
@@ -9,8 +9,8 @@
  *
  */
 
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_DECODER_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_DECODER_H_
+#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_H264_VIDEO_TOOLBOX_DECODER_H_
+#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_H264_VIDEO_TOOLBOX_DECODER_H_
 
 #include "webrtc/modules/video_coding/codecs/h264/include/h264.h"
 
@@ -56,4 +56,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_DECODER_H_
+#endif // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_H264_VIDEO_TOOLBOX_DECODER_H_
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.h
similarity index 93%
rename from webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h
rename to webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.h
index 92cd6b7..09aa7db 100644
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h
+++ b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.h
@@ -9,8 +9,8 @@
  *
  */
 
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_ENCODER_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_ENCODER_H_
+#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_H264_VIDEO_TOOLBOX_ENCODER_H_
+#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_H264_VIDEO_TOOLBOX_ENCODER_H_
 
 #include "webrtc/api/video/video_rotation.h"
 #include "webrtc/base/criticalsection.h"
@@ -94,4 +94,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_ENCODER_H_
+#endif // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_H264_VIDEO_TOOLBOX_ENCODER_H_
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm
similarity index 98%
rename from webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm
rename to webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm
index 8ff27f8..596a727 100644
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm
+++ b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm
@@ -9,7 +9,7 @@
  *
  */
 
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.h"
 
 #include <memory>
 #include <string>
@@ -17,14 +17,14 @@
 
 #if defined(WEBRTC_IOS)
 #import "WebRTC/UIDevice+RTCDevice.h"
-#include "Common/RTCUIApplication.h"
+#include "RTCUIApplication.h"
 #endif
 #include "libyuv/convert_from.h"
 #include "webrtc/base/checks.h"
 #include "webrtc/base/logging.h"
 #include "webrtc/common_video/h264/profile_level_id.h"
-#include "webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h"
+#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.h"
 #include "webrtc/system_wrappers/include/clock.h"
 
 namespace internal {
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.cc
similarity index 98%
rename from webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc
rename to webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.cc
index 81f51d8..d48e990 100644
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.cc
+++ b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.cc
@@ -9,7 +9,7 @@
  *
  */
 
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.h"
 
 #include <CoreFoundation/CoreFoundation.h>
 #include <memory>
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.h
similarity index 94%
rename from webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h
rename to webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.h
index 530fbe2..23e9f7f 100644
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h
+++ b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.h
@@ -9,8 +9,8 @@
  *
  */
 
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_NALU_REWRITER_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_NALU_REWRITER_H_
+#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_H264_VIDEO_TOOLBOX_NALU_H_
+#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_H264_VIDEO_TOOLBOX_NALU_H_
 
 #include "webrtc/modules/video_coding/codecs/h264/include/h264.h"
 
@@ -109,4 +109,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_NALU_REWRITER_H_
+#endif // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_H264_VIDEO_TOOLBOX_NALU_H_
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter_unittest.cc b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu_unittest.cc
similarity index 98%
rename from webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter_unittest.cc
rename to webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu_unittest.cc
index ba3a3d1..bc4efa04 100644
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter_unittest.cc
+++ b/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu_unittest.cc
@@ -12,7 +12,7 @@
 #include <memory>
 
 #include "webrtc/base/arraysize.h"
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/nalu_rewriter.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_nalu.h"
 #include "webrtc/test/gtest.h"
 
 namespace webrtc {
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/helpers.h b/webrtc/sdk/objc/Framework/Classes/helpers.h
similarity index 91%
rename from webrtc/sdk/objc/Framework/Classes/Common/helpers.h
rename to webrtc/sdk/objc/Framework/Classes/helpers.h
index d9e1d7f..35a228f 100644
--- a/webrtc/sdk/objc/Framework/Classes/Common/helpers.h
+++ b/webrtc/sdk/objc/Framework/Classes/helpers.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COMMON_HELPERS_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COMMON_HELPERS_H_
+#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_HELPERS_H_
+#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_HELPERS_H_
 
 #if defined(WEBRTC_IOS)
 
@@ -33,6 +33,8 @@
 // Example: <NSThread: 0x170066d80>{number = 1, name = main}
 std::string GetCurrentThreadDescription();
 
+std::string GetAudioSessionCategory();
+
 // Returns the current name of the operating system.
 std::string GetSystemName();
 
@@ -73,4 +75,4 @@
 
 #endif  // defined(WEBRTC_IOS)
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_COMMON_HELPERS_H_
+#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_HELPERS_H_
diff --git a/webrtc/sdk/objc/Framework/Classes/Common/helpers.mm b/webrtc/sdk/objc/Framework/Classes/helpers.mm
similarity index 93%
rename from webrtc/sdk/objc/Framework/Classes/Common/helpers.mm
rename to webrtc/sdk/objc/Framework/Classes/helpers.mm
index fef75a5..c0e5f1e 100644
--- a/webrtc/sdk/objc/Framework/Classes/Common/helpers.mm
+++ b/webrtc/sdk/objc/Framework/Classes/helpers.mm
@@ -9,6 +9,7 @@
  */
 
 
+#import <AVFoundation/AVFoundation.h>
 #import <Foundation/Foundation.h>
 #import <sys/sysctl.h>
 #if defined(WEBRTC_IOS)
@@ -19,7 +20,7 @@
 
 #include "webrtc/base/checks.h"
 #include "webrtc/base/logging.h"
-#include "webrtc/sdk/objc/Framework/Classes/Common/helpers.h"
+#include "webrtc/sdk/objc/Framework/Classes/helpers.h"
 
 namespace webrtc {
 namespace ios {
@@ -64,6 +65,11 @@
 }
 
 #if defined(WEBRTC_IOS)
+std::string GetAudioSessionCategory() {
+  NSString* category = [[AVAudioSession sharedInstance] category];
+  return StdStringFromNSString(category);
+}
+
 std::string GetSystemName() {
   NSString* osName = [[UIDevice currentDevice] systemName];
   return StdStringFromNSString(osName);
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/objcvideotracksource.h b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.h
similarity index 87%
rename from webrtc/sdk/objc/Framework/Classes/Video/objcvideotracksource.h
rename to webrtc/sdk/objc/Framework/Classes/objcvideotracksource.h
index 133c8c6..9bde63f 100644
--- a/webrtc/sdk/objc/Framework/Classes/Video/objcvideotracksource.h
+++ b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_OBJCVIDEOTRACKSOURCE_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_OBJCVIDEOTRACKSOURCE_H_
+#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_OBJCVIDEOTRACKSOURCE_H_
+#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_OBJCVIDEOTRACKSOURCE_H_
 
 #include "WebRTC/RTCMacros.h"
 #include "webrtc/base/timestampaligner.h"
@@ -49,4 +49,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEO_OBJCVIDEOTRACKSOURCE_H_
+#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_OBJCVIDEOTRACKSOURCE_H_
diff --git a/webrtc/sdk/objc/Framework/Classes/Video/objcvideotracksource.mm b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm
similarity index 94%
rename from webrtc/sdk/objc/Framework/Classes/Video/objcvideotracksource.mm
rename to webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm
index 1cc772f..fc71085 100644
--- a/webrtc/sdk/objc/Framework/Classes/Video/objcvideotracksource.mm
+++ b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm
@@ -8,12 +8,12 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/sdk/objc/Framework/Classes/Video/objcvideotracksource.h"
+#include "webrtc/sdk/objc/Framework/Classes/objcvideotracksource.h"
 
 #import "RTCVideoFrame+Private.h"
 
 #include "webrtc/api/video/i420_buffer.h"
-#include "webrtc/sdk/objc/Framework/Classes/Video/corevideo_frame_buffer.h"
+#include "webrtc/sdk/objc/Framework/Classes/corevideo_frame_buffer.h"
 
 namespace webrtc {
 
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.cc b/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.cc
similarity index 93%
rename from webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.cc
rename to webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.cc
index 05806cd..6fcb182 100644
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.cc
+++ b/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.cc
@@ -7,13 +7,13 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h"
+#include "webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h"
 
 #include "webrtc/base/logging.h"
 #include "webrtc/common_video/h264/profile_level_id.h"
 #include "webrtc/media/base/codec.h"
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h"
-#include "webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.h"
+#include "webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.h"
 #include "webrtc/system_wrappers/include/field_trial.h"
 
 namespace webrtc {
diff --git a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h b/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h
similarity index 87%
rename from webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h
rename to webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h
index 2332bbc..8acd9dd 100644
--- a/webrtc/sdk/objc/Framework/Classes/VideoToolbox/videocodecfactory.h
+++ b/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  *
  */
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_VIDEOCODECFACTORY_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_VIDEOCODECFACTORY_H_
+#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOXVIDEOCODECFACTORY_H_
+#define WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOXVIDEOCODECFACTORY_H_
 
 #include "webrtc/media/engine/webrtcvideoencoderfactory.h"
 #include "webrtc/media/engine/webrtcvideodecoderfactory.h"
@@ -49,4 +49,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOX_VIDEOCODECFACTORY_H_
+#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_CLASSES_VIDEOTOOLBOXVIDEOCODECFACTORY_H_
diff --git a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMacros.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMacros.h
index a989074..f9f15c3 100644
--- a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMacros.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMacros.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_HEADERS_WEBRTC_RTCMACROS_H_
-#define WEBRTC_SDK_OBJC_FRAMEWORK_HEADERS_WEBRTC_RTCMACROS_H_
+#ifndef WEBRTC_BASE_OBJC_RTC_MACROS_H_
+#define WEBRTC_BASE_OBJC_RTC_MACROS_H_
 
 #define RTC_EXPORT __attribute__((visibility("default")))
 
@@ -25,4 +25,4 @@
 #define RTC_FWD_DECL_OBJC_CLASS(classname) typedef struct objc_object classname
 #endif
 
-#endif  // WEBRTC_SDK_OBJC_FRAMEWORK_HEADERS_WEBRTC_RTCMACROS_H_
+#endif  // WEBRTC_BASE_OBJC_RTC_MACROS_H_
diff --git a/webrtc/sdk/objc/Framework/UnitTests/avformatmappertests.mm b/webrtc/sdk/objc/Framework/UnitTests/avformatmappertests.mm
index 4221a7c..cbc2e50 100644
--- a/webrtc/sdk/objc/Framework/UnitTests/avformatmappertests.mm
+++ b/webrtc/sdk/objc/Framework/UnitTests/avformatmappertests.mm
@@ -13,7 +13,7 @@
 
 #include "webrtc/base/gunit.h"
 
-#include "Video/avfoundationformatmapper.h"
+#include "avfoundationformatmapper.h"
 
 
 // Width and height don't play any role so lets use predefined values throughout
diff --git a/webrtc/test/BUILD.gn b/webrtc/test/BUILD.gn
index 252e638..728269b 100644
--- a/webrtc/test/BUILD.gn
+++ b/webrtc/test/BUILD.gn
@@ -140,7 +140,7 @@
   }
 
   if (is_ios && !build_with_chromium) {
-    deps += [ "//webrtc/sdk:objc_common" ]
+    deps += [ "//webrtc/sdk:rtc_sdk_common_objc" ]
   }
 
   if (rtc_use_memcheck) {
@@ -210,7 +210,7 @@
     }
 
     if (is_ios) {
-      deps += [ "//webrtc/sdk:objc_common" ]
+      deps += [ "//webrtc/sdk:rtc_sdk_common_objc" ]
     }
 
     if (rtc_use_memcheck) {
@@ -316,9 +316,6 @@
   ]
   if (is_ios) {
     sources += [ "testsupport/iosfileutils.mm" ]
-    deps = [
-      "//webrtc/sdk:objc_common",
-    ]
   }
   visibility = [ ":*" ]
 }
diff --git a/webrtc/test/testsupport/iosfileutils.mm b/webrtc/test/testsupport/iosfileutils.mm
index 7d530ec..adf17a6 100644
--- a/webrtc/test/testsupport/iosfileutils.mm
+++ b/webrtc/test/testsupport/iosfileutils.mm
@@ -15,7 +15,7 @@
 
 #include "webrtc/base/checks.h"
 #include "webrtc/typedefs.h"
-#include "webrtc/sdk/objc/Framework/Classes/Common/helpers.h"
+#include "webrtc/sdk/objc/Framework/Classes/helpers.h"
 
 namespace webrtc {
 namespace test {