Obj-C SDK Cleanup
This CL separates the files under sdk/objc into logical directories, replacing
the previous file layout under Framework/.
A long term goal is to have some system set up to generate the files under
sdk/objc/api (the PeerConnection API wrappers) from the C++ code. In the shorter
term the goal is to abstract out shared concepts from these classes in order to
make them as uniform as possible.
The separation into base/, components/, and helpers/ are to differentiate between
the base layer's common protocols, various utilities and the actual platform
specific components.
The old directory layout that resembled a framework's internal layout is not
necessary, since it is generated by the framework target when building it.
Bug: webrtc:9627
Change-Id: Ib084fd83f050ae980649ca99e841f4fb0580bd8f
Reviewed-on: https://webrtc-review.googlesource.com/94142
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24493}
diff --git a/examples/BUILD.gn b/examples/BUILD.gn
index 76526eb..05ddef8 100644
--- a/examples/BUILD.gn
+++ b/examples/BUILD.gn
@@ -205,19 +205,15 @@
if (is_ios) {
# iOS must use WebRTC.framework which is dynamically linked.
- # 'gn check' is disabled in order to avoid confusion and
- # errors caused by multiple implementations.
- check_includes = false
deps = [
- "../sdk:framework_objc",
+ "../sdk:framework_objc+link",
"../system_wrappers:field_trial_default",
"../system_wrappers:runtime_enabled_features_default",
]
} else {
deps = [
- "../sdk:common_objc",
+ "../sdk:mac_framework_objc+link",
"../system_wrappers:field_trial_default",
- "../system_wrappers:metrics_default",
"../system_wrappers:runtime_enabled_features_default",
]
}
@@ -279,23 +275,12 @@
]
if (is_ios) {
# iOS must use WebRTC.framework which is dynamically linked.
- # 'gn check' is disabled in order to avoid confusion and
- # errors caused by multiple implementations.
- check_includes = false
deps += [
- ":AppRTCMobile_ios_frameworks",
- "../sdk:framework_objc",
+ "../sdk:framework_objc+link",
+ "../sdk:ios_framework_bundle",
]
} else {
- deps += [
- "../sdk:common_objc",
- "../sdk:mediaconstraints_objc",
- "../sdk:peerconnectionfactory_base_objc",
- "../sdk:videocapture_objc",
- "../sdk:videocodec_objc",
- "../sdk:videoframebuffer_objc",
- "../sdk:videosource_objc",
- ]
+ deps += [ "../sdk:mac_framework_objc+link" ]
}
libs = [ "QuartzCore.framework" ]
}
@@ -303,9 +288,6 @@
if (is_ios) {
rtc_static_library("AppRTCMobile_lib") {
# iOS must use WebRTC.framework which is dynamically linked.
- # 'gn check' is disabled in order to avoid confusion and
- # errors caused by multiple implementations.
- check_includes = false
testonly = true
sources = [
"objc/AppRTCMobile/ios/ARDAppDelegate.h",
@@ -331,10 +313,10 @@
]
deps = [
- ":AppRTCMobile_ios_frameworks",
":apprtc_common",
":apprtc_signaling",
- "../sdk:framework_objc",
+ "../sdk:framework_objc+link",
+ "../sdk:ios_framework_bundle",
]
}
@@ -351,9 +333,9 @@
deps = [
":AppRTCMobile_ios_bundle_data",
- ":AppRTCMobile_ios_frameworks",
":AppRTCMobile_lib",
"../sdk:framework_objc",
+ "../sdk:ios_framework_bundle",
]
if (rtc_apprtcmobile_broadcast_extension) {
@@ -396,7 +378,6 @@
}
rtc_static_library("AppRTCMobileBroadcastUpload_lib") {
- check_includes = false
testonly = true
sources = [
"objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSampleHandler.h",
@@ -404,9 +385,9 @@
]
deps = [
- ":AppRTCMobile_ios_frameworks",
":apprtc_signaling",
- "../sdk:framework_objc",
+ "../sdk:framework_objc+link",
+ "../sdk:ios_framework_bundle",
]
libs = [ "ReplayKit.framework" ]
@@ -441,18 +422,6 @@
}
}
- bundle_data("AppRTCMobile_ios_frameworks") {
- deps = [
- "../sdk:framework_objc+link",
- ]
- sources = [
- "$root_build_dir/WebRTC.framework",
- ]
- outputs = [
- "{{bundle_resources_dir}}/Frameworks/{{source_file_part}}",
- ]
- }
-
bundle_data("AppRTCMobile_ios_bundle_data") {
sources = [
"objc/AppRTCMobile/ios/resources/Roboto-Regular.ttf",
@@ -507,10 +476,12 @@
"../modules/audio_processing:audio_processing",
"../pc:libjingle_peerconnection",
"../rtc_base:rtc_base",
+ "../sdk:base_objc",
"../sdk:default_codec_factory_objc",
- "../sdk:framework_objc",
+ "../sdk:helpers_objc",
"../sdk:native_api",
"../sdk:ui_objc",
+ "../sdk:videocapture_objc",
"../sdk:videotoolbox_objc",
"../system_wrappers:field_trial_default",
"../system_wrappers:metrics_default",
@@ -557,14 +528,7 @@
deps = [
":apprtc_common",
":apprtc_signaling",
- "../sdk:default_codec_factory_objc",
- "../sdk:metal_objc",
- "../sdk:peerconnectionfactory_base_objc",
- "../sdk:ui_objc",
- "../sdk:videocapture_objc",
- "../sdk:videocodec_objc",
- "../sdk:videocodec_objc",
- "../sdk:videotoolbox_objc",
+ "../sdk:mac_framework_objc+link",
]
}
@@ -584,6 +548,8 @@
deps = [
":AppRTCMobile_lib",
+ "../sdk:mac_framework_bundle",
+ "../sdk:mac_framework_objc+link",
]
}
}
@@ -629,26 +595,22 @@
if (is_ios) {
rtc_source_set("apprtcmobile_test_sources") {
# iOS must use WebRTC.framework which is dynamically linked.
- # 'gn check' is disabled in order to avoid confusion and
- # errors caused by multiple implementations.
- check_includes = false
testonly = true
include_dirs = [
"objc/AppRTCMobile",
"objc/AppRTCMobile/ios",
]
- testonly = true
sources = [
"objc/AppRTCMobile/tests/ARDAppClient_xctest.mm",
"objc/AppRTCMobile/tests/ARDFileCaptureController_xctest.mm",
"objc/AppRTCMobile/tests/ARDSettingsModel_xctest.mm",
]
deps = [
- ":AppRTCMobile_ios_frameworks",
":AppRTCMobile_lib",
":apprtc_signaling",
"../rtc_base:rtc_base",
- "../sdk:framework_objc",
+ "../sdk:framework_objc+link",
+ "../sdk:ios_framework_bundle",
"//build/config/ios:xctest",
"//third_party/ocmock",
]
diff --git a/examples/DEPS b/examples/DEPS
index 1570220..6a9a9f0 100644
--- a/examples/DEPS
+++ b/examples/DEPS
@@ -1,5 +1,4 @@
include_rules = [
- "+WebRTC",
"+api",
"+common_video",
"+media",
@@ -8,6 +7,6 @@
"+modules/audio_processing",
"+p2p",
"+pc",
- "+sdk/objc/Framework/Native/api",
+ "+sdk/objc",
"+third_party/libyuv",
]
diff --git a/examples/objc/AppRTCMobile/ARDAppClient+Internal.h b/examples/objc/AppRTCMobile/ARDAppClient+Internal.h
index 8e96b16..96103c2 100644
--- a/examples/objc/AppRTCMobile/ARDAppClient+Internal.h
+++ b/examples/objc/AppRTCMobile/ARDAppClient+Internal.h
@@ -10,7 +10,7 @@
#import "ARDAppClient.h"
-#import "WebRTC/RTCPeerConnection.h"
+#import <WebRTC/RTCPeerConnection.h>
#import "ARDRoomServerClient.h"
#import "ARDSignalingChannel.h"
diff --git a/examples/objc/AppRTCMobile/ARDAppClient.h b/examples/objc/AppRTCMobile/ARDAppClient.h
index 07cd53d..5e9c4cb 100644
--- a/examples/objc/AppRTCMobile/ARDAppClient.h
+++ b/examples/objc/AppRTCMobile/ARDAppClient.h
@@ -9,8 +9,8 @@
*/
#import <Foundation/Foundation.h>
-#import "WebRTC/RTCPeerConnection.h"
-#import "WebRTC/RTCVideoTrack.h"
+#import <WebRTC/RTCPeerConnection.h>
+#import <WebRTC/RTCVideoTrack.h>
typedef NS_ENUM(NSInteger, ARDAppClientState) {
// Disconnected from servers.
diff --git a/examples/objc/AppRTCMobile/ARDAppClient.m b/examples/objc/AppRTCMobile/ARDAppClient.m
index 465ce8c..9a0d369 100644
--- a/examples/objc/AppRTCMobile/ARDAppClient.m
+++ b/examples/objc/AppRTCMobile/ARDAppClient.m
@@ -10,22 +10,23 @@
#import "ARDAppClient+Internal.h"
-#import "WebRTC/RTCAudioTrack.h"
-#import "WebRTC/RTCCameraVideoCapturer.h"
-#import "WebRTC/RTCConfiguration.h"
-#import "WebRTC/RTCFileLogger.h"
-#import "WebRTC/RTCFileVideoCapturer.h"
-#import "WebRTC/RTCIceServer.h"
-#import "WebRTC/RTCLogging.h"
-#import "WebRTC/RTCMediaConstraints.h"
-#import "WebRTC/RTCMediaStream.h"
-#import "WebRTC/RTCPeerConnectionFactory.h"
-#import "WebRTC/RTCRtpSender.h"
-#import "WebRTC/RTCRtpTransceiver.h"
-#import "WebRTC/RTCTracing.h"
-#import "WebRTC/RTCVideoCodecFactory.h"
-#import "WebRTC/RTCVideoSource.h"
-#import "WebRTC/RTCVideoTrack.h"
+#import <WebRTC/RTCAudioTrack.h>
+#import <WebRTC/RTCCameraVideoCapturer.h>
+#import <WebRTC/RTCConfiguration.h>
+#import <WebRTC/RTCDefaultVideoDecoderFactory.h>
+#import <WebRTC/RTCDefaultVideoEncoderFactory.h>
+#import <WebRTC/RTCFileLogger.h>
+#import <WebRTC/RTCFileVideoCapturer.h>
+#import <WebRTC/RTCIceServer.h>
+#import <WebRTC/RTCLogging.h>
+#import <WebRTC/RTCMediaConstraints.h>
+#import <WebRTC/RTCMediaStream.h>
+#import <WebRTC/RTCPeerConnectionFactory.h>
+#import <WebRTC/RTCRtpSender.h>
+#import <WebRTC/RTCRtpTransceiver.h>
+#import <WebRTC/RTCTracing.h>
+#import <WebRTC/RTCVideoSource.h>
+#import <WebRTC/RTCVideoTrack.h>
#import "ARDAppEngineClient.h"
#import "ARDExternalSampleCapturer.h"
diff --git a/examples/objc/AppRTCMobile/ARDAppEngineClient.m b/examples/objc/AppRTCMobile/ARDAppEngineClient.m
index 0c22ea4..a392c65 100644
--- a/examples/objc/AppRTCMobile/ARDAppEngineClient.m
+++ b/examples/objc/AppRTCMobile/ARDAppEngineClient.m
@@ -10,7 +10,7 @@
#import "ARDAppEngineClient.h"
-#import "WebRTC/RTCLogging.h"
+#import <WebRTC/RTCLogging.h>
#import "ARDJoinResponse.h"
#import "ARDMessageResponse.h"
diff --git a/examples/objc/AppRTCMobile/ARDCaptureController.h b/examples/objc/AppRTCMobile/ARDCaptureController.h
index bdae93a..0150bed 100644
--- a/examples/objc/AppRTCMobile/ARDCaptureController.h
+++ b/examples/objc/AppRTCMobile/ARDCaptureController.h
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include <WebRTC/RTCCameraVideoCapturer.h>
+#import <WebRTC/RTCCameraVideoCapturer.h>
@class ARDSettingsModel;
diff --git a/examples/objc/AppRTCMobile/ARDCaptureController.m b/examples/objc/AppRTCMobile/ARDCaptureController.m
index 068e18e..6afc6c8 100644
--- a/examples/objc/AppRTCMobile/ARDCaptureController.m
+++ b/examples/objc/AppRTCMobile/ARDCaptureController.m
@@ -10,8 +10,9 @@
#import "ARDCaptureController.h"
+#import <WebRTC/RTCLogging.h>
+
#import "ARDSettingsModel.h"
-#import "WebRTC/RTCLogging.h"
const Float64 kFramerateLimit = 30.0;
diff --git a/examples/objc/AppRTCMobile/ARDExternalSampleCapturer.m b/examples/objc/AppRTCMobile/ARDExternalSampleCapturer.m
index d377033..9d93ea1 100644
--- a/examples/objc/AppRTCMobile/ARDExternalSampleCapturer.m
+++ b/examples/objc/AppRTCMobile/ARDExternalSampleCapturer.m
@@ -10,7 +10,8 @@
#import "ARDExternalSampleCapturer.h"
-#import "WebRTC/RTCVideoFrameBuffer.h"
+#import <WebRTC/RTCCVPixelBuffer.h>
+#import <WebRTC/RTCVideoFrameBuffer.h>
@implementation ARDExternalSampleCapturer
diff --git a/examples/objc/AppRTCMobile/ARDSettingsModel+Private.h b/examples/objc/AppRTCMobile/ARDSettingsModel+Private.h
index 08d863d..dc3f24c 100644
--- a/examples/objc/AppRTCMobile/ARDSettingsModel+Private.h
+++ b/examples/objc/AppRTCMobile/ARDSettingsModel+Private.h
@@ -9,6 +9,7 @@
*/
#import <Foundation/Foundation.h>
+
#import "ARDSettingsModel.h"
@class ARDSettingsStore;
diff --git a/examples/objc/AppRTCMobile/ARDSettingsModel.h b/examples/objc/AppRTCMobile/ARDSettingsModel.h
index 597ab38..bac762c 100644
--- a/examples/objc/AppRTCMobile/ARDSettingsModel.h
+++ b/examples/objc/AppRTCMobile/ARDSettingsModel.h
@@ -10,7 +10,7 @@
#import <Foundation/Foundation.h>
-#import "WebRTC/RTCVideoCodec.h"
+#import <WebRTC/RTCVideoCodecInfo.h>
NS_ASSUME_NONNULL_BEGIN
diff --git a/examples/objc/AppRTCMobile/ARDSettingsModel.m b/examples/objc/AppRTCMobile/ARDSettingsModel.m
index 34a47a4..fb3ef7e 100644
--- a/examples/objc/AppRTCMobile/ARDSettingsModel.m
+++ b/examples/objc/AppRTCMobile/ARDSettingsModel.m
@@ -10,9 +10,10 @@
#import "ARDSettingsModel+Private.h"
#import "ARDSettingsStore.h"
-#import "WebRTC/RTCCameraVideoCapturer.h"
-#import "WebRTC/RTCMediaConstraints.h"
-#import "WebRTC/RTCVideoCodecFactory.h"
+
+#import <WebRTC/RTCCameraVideoCapturer.h>
+#import <WebRTC/RTCDefaultVideoEncoderFactory.h>
+#import <WebRTC/RTCMediaConstraints.h>
NS_ASSUME_NONNULL_BEGIN
diff --git a/examples/objc/AppRTCMobile/ARDSignalingMessage.h b/examples/objc/AppRTCMobile/ARDSignalingMessage.h
index 93ff486..89b2f55 100644
--- a/examples/objc/AppRTCMobile/ARDSignalingMessage.h
+++ b/examples/objc/AppRTCMobile/ARDSignalingMessage.h
@@ -10,8 +10,8 @@
#import <Foundation/Foundation.h>
-#import "WebRTC/RTCIceCandidate.h"
-#import "WebRTC/RTCSessionDescription.h"
+#import <WebRTC/RTCIceCandidate.h>
+#import <WebRTC/RTCSessionDescription.h>
typedef enum {
kARDSignalingMessageTypeCandidate,
diff --git a/examples/objc/AppRTCMobile/ARDSignalingMessage.m b/examples/objc/AppRTCMobile/ARDSignalingMessage.m
index 3fab185..3efc502 100644
--- a/examples/objc/AppRTCMobile/ARDSignalingMessage.m
+++ b/examples/objc/AppRTCMobile/ARDSignalingMessage.m
@@ -10,7 +10,7 @@
#import "ARDSignalingMessage.h"
-#import "WebRTC/RTCLogging.h"
+#import <WebRTC/RTCLogging.h>
#import "ARDUtilities.h"
#import "RTCIceCandidate+JSON.h"
diff --git a/examples/objc/AppRTCMobile/ARDStatsBuilder.m b/examples/objc/AppRTCMobile/ARDStatsBuilder.m
index 370b72e..cfe2ec5 100644
--- a/examples/objc/AppRTCMobile/ARDStatsBuilder.m
+++ b/examples/objc/AppRTCMobile/ARDStatsBuilder.m
@@ -10,7 +10,7 @@
#import "ARDStatsBuilder.h"
-#import "WebRTC/RTCLegacyStatsReport.h"
+#import <WebRTC/RTCLegacyStatsReport.h>
#import "ARDBitrateTracker.h"
#import "ARDUtilities.h"
diff --git a/examples/objc/AppRTCMobile/ARDWebSocketChannel.m b/examples/objc/AppRTCMobile/ARDWebSocketChannel.m
index 6f60380..19a60d4 100644
--- a/examples/objc/AppRTCMobile/ARDWebSocketChannel.m
+++ b/examples/objc/AppRTCMobile/ARDWebSocketChannel.m
@@ -10,7 +10,7 @@
#import "ARDWebSocketChannel.h"
-#import "WebRTC/RTCLogging.h"
+#import <WebRTC/RTCLogging.h>
#import "SRWebSocket.h"
#import "ARDSignalingMessage.h"
diff --git a/examples/objc/AppRTCMobile/RTCIceCandidate+JSON.h b/examples/objc/AppRTCMobile/RTCIceCandidate+JSON.h
index 1826555..facfb7a 100644
--- a/examples/objc/AppRTCMobile/RTCIceCandidate+JSON.h
+++ b/examples/objc/AppRTCMobile/RTCIceCandidate+JSON.h
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#import "WebRTC/RTCIceCandidate.h"
+#import <WebRTC/RTCIceCandidate.h>
@interface RTCIceCandidate (JSON)
diff --git a/examples/objc/AppRTCMobile/RTCIceCandidate+JSON.m b/examples/objc/AppRTCMobile/RTCIceCandidate+JSON.m
index b1be7fb..e88ca11 100644
--- a/examples/objc/AppRTCMobile/RTCIceCandidate+JSON.m
+++ b/examples/objc/AppRTCMobile/RTCIceCandidate+JSON.m
@@ -10,7 +10,7 @@
#import "RTCIceCandidate+JSON.h"
-#import "WebRTC/RTCLogging.h"
+#import <WebRTC/RTCLogging.h>
static NSString const *kRTCICECandidateTypeKey = @"type";
static NSString const *kRTCICECandidateTypeValue = @"candidate";
diff --git a/examples/objc/AppRTCMobile/RTCIceServer+JSON.h b/examples/objc/AppRTCMobile/RTCIceServer+JSON.h
index dbc702d..3f85806 100644
--- a/examples/objc/AppRTCMobile/RTCIceServer+JSON.h
+++ b/examples/objc/AppRTCMobile/RTCIceServer+JSON.h
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#import "WebRTC/RTCIceServer.h"
+#import <WebRTC/RTCIceServer.h>
@interface RTCIceServer (JSON)
diff --git a/examples/objc/AppRTCMobile/RTCMediaConstraints+JSON.h b/examples/objc/AppRTCMobile/RTCMediaConstraints+JSON.h
index 42d7ab0..5f16a2a 100644
--- a/examples/objc/AppRTCMobile/RTCMediaConstraints+JSON.h
+++ b/examples/objc/AppRTCMobile/RTCMediaConstraints+JSON.h
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#import "WebRTC/RTCMediaConstraints.h"
+#import <WebRTC/RTCMediaConstraints.h>
@interface RTCMediaConstraints (JSON)
diff --git a/examples/objc/AppRTCMobile/RTCSessionDescription+JSON.h b/examples/objc/AppRTCMobile/RTCSessionDescription+JSON.h
index f567121..07bc270 100644
--- a/examples/objc/AppRTCMobile/RTCSessionDescription+JSON.h
+++ b/examples/objc/AppRTCMobile/RTCSessionDescription+JSON.h
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#import "WebRTC/RTCSessionDescription.h"
+#import <WebRTC/RTCSessionDescription.h>
@interface RTCSessionDescription (JSON)
diff --git a/examples/objc/AppRTCMobile/common/ARDUtilities.m b/examples/objc/AppRTCMobile/common/ARDUtilities.m
index 0ae44da..aabc453 100644
--- a/examples/objc/AppRTCMobile/common/ARDUtilities.m
+++ b/examples/objc/AppRTCMobile/common/ARDUtilities.m
@@ -12,7 +12,7 @@
#import <mach/mach.h>
-#import "WebRTC/RTCLogging.h"
+#import <WebRTC/RTCLogging.h>
@implementation NSDictionary (ARDUtilites)
diff --git a/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m b/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m
index 4f444e4..16af444 100644
--- a/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m
+++ b/examples/objc/AppRTCMobile/ios/ARDAppDelegate.m
@@ -10,10 +10,10 @@
#import "ARDAppDelegate.h"
-#import "WebRTC/RTCFieldTrials.h"
-#import "WebRTC/RTCLogging.h"
-#import "WebRTC/RTCSSLAdapter.h"
-#import "WebRTC/RTCTracing.h"
+#import <WebRTC/RTCFieldTrials.h>
+#import <WebRTC/RTCLogging.h>
+#import <WebRTC/RTCSSLAdapter.h>
+#import <WebRTC/RTCTracing.h>
#import "ARDMainViewController.h"
diff --git a/examples/objc/AppRTCMobile/ios/ARDFileCaptureController.m b/examples/objc/AppRTCMobile/ios/ARDFileCaptureController.m
index d61bfe2..1f0276f 100644
--- a/examples/objc/AppRTCMobile/ios/ARDFileCaptureController.m
+++ b/examples/objc/AppRTCMobile/ios/ARDFileCaptureController.m
@@ -10,7 +10,7 @@
#import "ARDFileCaptureController.h"
-#import "WebRTC/RTCFileVideoCapturer.h"
+#import <WebRTC/RTCFileVideoCapturer.h>
@interface ARDFileCaptureController ()
diff --git a/examples/objc/AppRTCMobile/ios/ARDMainViewController.m b/examples/objc/AppRTCMobile/ios/ARDMainViewController.m
index 174514f..fae3f7b 100644
--- a/examples/objc/AppRTCMobile/ios/ARDMainViewController.m
+++ b/examples/objc/AppRTCMobile/ios/ARDMainViewController.m
@@ -12,11 +12,10 @@
#import <AVFoundation/AVFoundation.h>
-#import "WebRTC/RTCAudioSession.h"
-#import "WebRTC/RTCAudioSessionConfiguration.h"
-#import "WebRTC/RTCDispatcher.h"
-#import "WebRTC/RTCLogging.h"
-
+#import <WebRTC/RTCAudioSession.h>
+#import <WebRTC/RTCAudioSessionConfiguration.h>
+#import <WebRTC/RTCDispatcher.h>
+#import <WebRTC/RTCLogging.h>
#import "ARDAppClient.h"
#import "ARDMainView.h"
diff --git a/examples/objc/AppRTCMobile/ios/ARDStatsView.m b/examples/objc/AppRTCMobile/ios/ARDStatsView.m
index 39067e0..05d91b2 100644
--- a/examples/objc/AppRTCMobile/ios/ARDStatsView.m
+++ b/examples/objc/AppRTCMobile/ios/ARDStatsView.m
@@ -10,7 +10,7 @@
#import "ARDStatsView.h"
-#import "WebRTC/RTCLegacyStatsReport.h"
+#import <WebRTC/RTCLegacyStatsReport.h>
#import "ARDStatsBuilder.h"
diff --git a/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m b/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m
index dbd78ea..2827bf9 100644
--- a/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m
+++ b/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m
@@ -10,17 +10,17 @@
#import "ARDVideoCallViewController.h"
-#import "WebRTC/RTCAudioSession.h"
-#import "WebRTC/RTCCameraVideoCapturer.h"
+#import <WebRTC/RTCAudioSession.h>
+#import <WebRTC/RTCCameraVideoCapturer.h>
+#import <WebRTC/RTCDispatcher.h>
+#import <WebRTC/RTCLogging.h>
+#import <WebRTC/RTCMediaConstraints.h>
#import "ARDAppClient.h"
#import "ARDCaptureController.h"
#import "ARDFileCaptureController.h"
#import "ARDSettingsModel.h"
#import "ARDVideoCallView.h"
-#import "WebRTC/RTCDispatcher.h"
-#import "WebRTC/RTCLogging.h"
-#import "WebRTC/RTCMediaConstraints.h"
@interface ARDVideoCallViewController () <ARDAppClientDelegate,
ARDVideoCallViewDelegate,
diff --git a/examples/objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.h b/examples/objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.h
index 9c88993..c037285 100644
--- a/examples/objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.h
+++ b/examples/objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.h
@@ -8,7 +8,7 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#import "WebRTC/RTCVideoCodec.h"
+#import <WebRTC/RTCVideoCodecInfo.h>
@interface RTCVideoCodecInfo (HumanReadable)
diff --git a/examples/objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.m b/examples/objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.m
index 6c18cf3..d0bf1b5 100644
--- a/examples/objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.m
+++ b/examples/objc/AppRTCMobile/ios/RTCVideoCodecInfo+HumanReadable.m
@@ -9,7 +9,8 @@
*/
#import "RTCVideoCodecInfo+HumanReadable.h"
-#import "WebRTC/RTCVideoCodecH264.h"
+
+#import <WebRTC/RTCH264ProfileLevelId.h>
@implementation RTCVideoCodecInfo (HumanReadable)
diff --git a/examples/objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSampleHandler.h b/examples/objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSampleHandler.h
index 2218261..42a908d 100644
--- a/examples/objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSampleHandler.h
+++ b/examples/objc/AppRTCMobile/ios/broadcast_extension/ARDBroadcastSampleHandler.h
@@ -10,7 +10,7 @@
#import <ReplayKit/ReplayKit.h>
-#import "WebRTC/RTCLogging.h"
+#import <WebRTC/RTCLogging.h>
#import "ARDAppClient.h"
diff --git a/examples/objc/AppRTCMobile/mac/APPRTCAppDelegate.m b/examples/objc/AppRTCMobile/mac/APPRTCAppDelegate.m
index dd3f192..ea6fd73 100644
--- a/examples/objc/AppRTCMobile/mac/APPRTCAppDelegate.m
+++ b/examples/objc/AppRTCMobile/mac/APPRTCAppDelegate.m
@@ -10,7 +10,7 @@
#import "APPRTCAppDelegate.h"
#import "APPRTCViewController.h"
-#import "WebRTC/RTCSSLAdapter.h"
+#import <WebRTC/RTCSSLAdapter.h>
@interface APPRTCAppDelegate () <NSWindowDelegate>
@end
diff --git a/examples/objc/AppRTCMobile/mac/APPRTCViewController.m b/examples/objc/AppRTCMobile/mac/APPRTCViewController.m
index cb82e888..9f5ed40 100644
--- a/examples/objc/AppRTCMobile/mac/APPRTCViewController.m
+++ b/examples/objc/AppRTCMobile/mac/APPRTCViewController.m
@@ -12,9 +12,9 @@
#import <AVFoundation/AVFoundation.h>
-#import "WebRTC/RTCMTLNSVideoView.h"
-#import "WebRTC/RTCNSGLVideoView.h"
-#import "WebRTC/RTCVideoTrack.h"
+#import <WebRTC/RTCMTLNSVideoView.h>
+#import <WebRTC/RTCNSGLVideoView.h>
+#import <WebRTC/RTCVideoTrack.h>
#import "ARDAppClient.h"
#import "ARDCaptureController.h"
diff --git a/examples/objc/AppRTCMobile/tests/ARDAppClient_xctest.mm b/examples/objc/AppRTCMobile/tests/ARDAppClient_xctest.mm
index f332a0f..8c29401 100644
--- a/examples/objc/AppRTCMobile/tests/ARDAppClient_xctest.mm
+++ b/examples/objc/AppRTCMobile/tests/ARDAppClient_xctest.mm
@@ -15,8 +15,8 @@
#include "rtc_base/ssladapter.h"
-#import "WebRTC/RTCMediaConstraints.h"
-#import "WebRTC/RTCPeerConnectionFactory.h"
+#import <WebRTC/RTCMediaConstraints.h>
+#import <WebRTC/RTCPeerConnectionFactory.h>
#import "ARDAppClient+Internal.h"
#import "ARDJoinResponse+Internal.h"
diff --git a/examples/objc/AppRTCMobile/tests/ARDFileCaptureController_xctest.mm b/examples/objc/AppRTCMobile/tests/ARDFileCaptureController_xctest.mm
index e734f10..e3942c7 100644
--- a/examples/objc/AppRTCMobile/tests/ARDFileCaptureController_xctest.mm
+++ b/examples/objc/AppRTCMobile/tests/ARDFileCaptureController_xctest.mm
@@ -14,7 +14,7 @@
#import "ARDFileCaptureController.h"
-#import "WebRTC/RTCFileVideoCapturer.h"
+#import <WebRTC/RTCFileVideoCapturer.h>
NS_CLASS_AVAILABLE_IOS(10)
@interface ARDFileCaptureControllerTests : XCTestCase
diff --git a/examples/objc/AppRTCMobile/tests/ARDSettingsModel_xctest.mm b/examples/objc/AppRTCMobile/tests/ARDSettingsModel_xctest.mm
index b44f935..7c34d0a 100644
--- a/examples/objc/AppRTCMobile/tests/ARDSettingsModel_xctest.mm
+++ b/examples/objc/AppRTCMobile/tests/ARDSettingsModel_xctest.mm
@@ -12,7 +12,7 @@
#import <OCMock/OCMock.h>
#import <XCTest/XCTest.h>
-#import "WebRTC/RTCMediaConstraints.h"
+#import <WebRTC/RTCMediaConstraints.h>
#import "ARDSettingsModel+Private.h"
#import "ARDSettingsStore.h"
diff --git a/examples/objcnativeapi/objc/NADViewController.mm b/examples/objcnativeapi/objc/NADViewController.mm
index 0d5ac9a..34f5467 100644
--- a/examples/objcnativeapi/objc/NADViewController.mm
+++ b/examples/objcnativeapi/objc/NADViewController.mm
@@ -10,11 +10,14 @@
#import "NADViewController.h"
-#import <WebRTC/RTCCameraPreviewView.h>
-#import <WebRTC/RTCCameraVideoCapturer.h>
-#import <WebRTC/RTCEAGLVideoView.h>
-#import <WebRTC/RTCMTLVideoView.h>
-#import <WebRTC/RTCVideoRenderer.h>
+#import "sdk/objc/base/RTCVideoRenderer.h"
+#import "sdk/objc/components/capturer/RTCCameraVideoCapturer.h"
+#if defined(RTC_SUPPORTS_METAL)
+#import "sdk/objc/components/renderer/metal/RTCMTLVideoView.h" // nogncheck
+#endif
+#import "sdk/objc/components/renderer/opengl/RTCEAGLVideoView.h"
+#import "sdk/objc/helpers/RTCCameraPreviewView.h"
+
#include <memory>
#include "objccallclient.h"
diff --git a/examples/objcnativeapi/objc/objccallclient.mm b/examples/objcnativeapi/objc/objccallclient.mm
index 0e3b8e0..c384da3 100644
--- a/examples/objcnativeapi/objc/objccallclient.mm
+++ b/examples/objcnativeapi/objc/objccallclient.mm
@@ -12,9 +12,10 @@
#include <utility>
-#import <WebRTC/RTCCameraPreviewView.h>
-#import <WebRTC/RTCVideoCodecFactory.h>
-#import <WebRTC/RTCVideoRenderer.h>
+#import "sdk/objc/base/RTCVideoRenderer.h"
+#import "sdk/objc/components/video_codec/RTCDefaultVideoDecoderFactory.h"
+#import "sdk/objc/components/video_codec/RTCDefaultVideoEncoderFactory.h"
+#import "sdk/objc/helpers/RTCCameraPreviewView.h"
#include "absl/memory/memory.h"
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
@@ -22,10 +23,10 @@
#include "api/peerconnectioninterface.h"
#include "media/engine/webrtcmediaengine.h"
#include "modules/audio_processing/include/audio_processing.h"
-#include "sdk/objc/Framework/Native/api/video_capturer.h"
-#include "sdk/objc/Framework/Native/api/video_decoder_factory.h"
-#include "sdk/objc/Framework/Native/api/video_encoder_factory.h"
-#include "sdk/objc/Framework/Native/api/video_renderer.h"
+#include "sdk/objc/native/api/video_capturer.h"
+#include "sdk/objc/native/api/video_decoder_factory.h"
+#include "sdk/objc/native/api/video_encoder_factory.h"
+#include "sdk/objc/native/api/video_renderer.h"
namespace webrtc_examples {