Mark public ObjC APIs as explicitly visible.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12431}
diff --git a/webrtc/api/objc/RTCAVFoundationVideoSource.h b/webrtc/api/objc/RTCAVFoundationVideoSource.h
index 8c0232a..73e5585 100644
--- a/webrtc/api/objc/RTCAVFoundationVideoSource.h
+++ b/webrtc/api/objc/RTCAVFoundationVideoSource.h
@@ -9,6 +9,7 @@
  */
 
 #import "webrtc/api/objc/RTCVideoSource.h"
+#import "webrtc/base/objc/RTCMacros.h"
 
 @class AVCaptureSession;
 @class RTCMediaConstraints;
@@ -23,6 +24,7 @@
  * guarantee its lifetime. Instead, we expose its properties through the ref
  * counted video source interface.
  */
+RTC_EXPORT
 @interface RTCAVFoundationVideoSource : RTCVideoSource
 
 - (instancetype)init NS_UNAVAILABLE;
diff --git a/webrtc/api/objc/RTCAudioTrack.h b/webrtc/api/objc/RTCAudioTrack.h
index b5ea649..0f4b69d 100644
--- a/webrtc/api/objc/RTCAudioTrack.h
+++ b/webrtc/api/objc/RTCAudioTrack.h
@@ -9,9 +9,11 @@
  */
 
 #import "webrtc/api/objc/RTCMediaStreamTrack.h"
+#import "webrtc/base/objc/RTCMacros.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCAudioTrack : RTCMediaStreamTrack
 
 - (instancetype)init NS_UNAVAILABLE;
diff --git a/webrtc/api/objc/RTCConfiguration.h b/webrtc/api/objc/RTCConfiguration.h
index 144c8d3..38ae88d 100644
--- a/webrtc/api/objc/RTCConfiguration.h
+++ b/webrtc/api/objc/RTCConfiguration.h
@@ -10,6 +10,8 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 @class RTCIceServer;
 
 /**
@@ -50,6 +52,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCConfiguration : NSObject
 
 /** An array of Ice Servers available to be used by ICE. */
diff --git a/webrtc/api/objc/RTCDataChannel.h b/webrtc/api/objc/RTCDataChannel.h
index 59ab2b8..43d4663 100644
--- a/webrtc/api/objc/RTCDataChannel.h
+++ b/webrtc/api/objc/RTCDataChannel.h
@@ -11,8 +11,11 @@
 #import <AvailabilityMacros.h>
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCDataBuffer : NSObject
 
 /** NSData representation of the underlying buffer. */
@@ -33,6 +36,7 @@
 
 
 @class RTCDataChannel;
+RTC_EXPORT
 @protocol RTCDataChannelDelegate <NSObject>
 
 /** The data channel state changed. */
@@ -58,7 +62,7 @@
   RTCDataChannelStateClosed,
 };
 
-
+RTC_EXPORT
 @interface RTCDataChannel : NSObject
 
 /**
diff --git a/webrtc/api/objc/RTCDataChannelConfiguration.h b/webrtc/api/objc/RTCDataChannelConfiguration.h
index fbe342d..d9e7059 100644
--- a/webrtc/api/objc/RTCDataChannelConfiguration.h
+++ b/webrtc/api/objc/RTCDataChannelConfiguration.h
@@ -11,8 +11,11 @@
 #import <AvailabilityMacros.h>
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCDataChannelConfiguration : NSObject
 
 /** Set to YES if ordered delivery is required. */
diff --git a/webrtc/api/objc/RTCEAGLVideoView.h b/webrtc/api/objc/RTCEAGLVideoView.h
index cd39881..afb092e 100644
--- a/webrtc/api/objc/RTCEAGLVideoView.h
+++ b/webrtc/api/objc/RTCEAGLVideoView.h
@@ -12,10 +12,12 @@
 #import <UIKit/UIKit.h>
 
 #import "webrtc/api/objc/RTCVideoRenderer.h"
+#import "webrtc/base/objc/RTCMacros.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
 @class RTCEAGLVideoView;
+RTC_EXPORT
 @protocol RTCEAGLVideoViewDelegate
 
 - (void)videoView:(RTCEAGLVideoView *)videoView didChangeVideoSize:(CGSize)size;
@@ -26,6 +28,7 @@
  * RTCEAGLVideoView is an RTCVideoRenderer which renders video frames in its
  * bounds using OpenGLES 2.0.
  */
+RTC_EXPORT
 @interface RTCEAGLVideoView : UIView <RTCVideoRenderer>
 
 @property(nonatomic, weak) id<RTCEAGLVideoViewDelegate> delegate;
diff --git a/webrtc/api/objc/RTCIceCandidate.h b/webrtc/api/objc/RTCIceCandidate.h
index e521ae0..c1aa060 100644
--- a/webrtc/api/objc/RTCIceCandidate.h
+++ b/webrtc/api/objc/RTCIceCandidate.h
@@ -10,8 +10,11 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCIceCandidate : NSObject
 
 /**
diff --git a/webrtc/api/objc/RTCIceServer.h b/webrtc/api/objc/RTCIceServer.h
index 487588e..fe9076c 100644
--- a/webrtc/api/objc/RTCIceServer.h
+++ b/webrtc/api/objc/RTCIceServer.h
@@ -10,8 +10,11 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCIceServer : NSObject
 
 /** URI(s) for this server represented as NSStrings. */
diff --git a/webrtc/api/objc/RTCMediaConstraints.h b/webrtc/api/objc/RTCMediaConstraints.h
index a8ad391..d726f7d 100644
--- a/webrtc/api/objc/RTCMediaConstraints.h
+++ b/webrtc/api/objc/RTCMediaConstraints.h
@@ -10,8 +10,11 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCMediaConstraints : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
diff --git a/webrtc/api/objc/RTCMediaStream.h b/webrtc/api/objc/RTCMediaStream.h
index 50ae7df..d5de6d3 100644
--- a/webrtc/api/objc/RTCMediaStream.h
+++ b/webrtc/api/objc/RTCMediaStream.h
@@ -10,12 +10,15 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
 @class RTCAudioTrack;
 @class RTCPeerConnectionFactory;
 @class RTCVideoTrack;
 
+RTC_EXPORT
 @interface RTCMediaStream : NSObject
 
 /** The audio tracks in this stream. */
diff --git a/webrtc/api/objc/RTCMediaStreamTrack.h b/webrtc/api/objc/RTCMediaStreamTrack.h
index b8576bd..5a0dcbf 100644
--- a/webrtc/api/objc/RTCMediaStreamTrack.h
+++ b/webrtc/api/objc/RTCMediaStreamTrack.h
@@ -10,6 +10,8 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 /**
  * Represents the state of the track. This exposes the same states in C++.
  */
@@ -20,6 +22,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCMediaStreamTrack : NSObject
 
 /**
diff --git a/webrtc/api/objc/RTCOpenGLVideoRenderer.h b/webrtc/api/objc/RTCOpenGLVideoRenderer.h
index 729839c..7a8d3fe 100644
--- a/webrtc/api/objc/RTCOpenGLVideoRenderer.h
+++ b/webrtc/api/objc/RTCOpenGLVideoRenderer.h
@@ -15,6 +15,8 @@
 #import <AppKit/NSOpenGL.h>
 #endif
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
 @class RTCVideoFrame;
@@ -23,6 +25,7 @@
 // the currently bound framebuffer. Supports OpenGL 3.2 and OpenGLES 2.0. OpenGL
 // framebuffer creation and management should be handled elsewhere using the
 // same context used to initialize this class.
+RTC_EXPORT
 @interface RTCOpenGLVideoRenderer : NSObject
 
 // The last successfully drawn frame. Used to avoid drawing frames unnecessarily
diff --git a/webrtc/api/objc/RTCPeerConnection.h b/webrtc/api/objc/RTCPeerConnection.h
index 471a8de..5acaa80 100644
--- a/webrtc/api/objc/RTCPeerConnection.h
+++ b/webrtc/api/objc/RTCPeerConnection.h
@@ -10,6 +10,8 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 @class RTCConfiguration;
 @class RTCDataChannel;
 @class RTCDataChannelConfiguration;
@@ -65,6 +67,7 @@
 
 @class RTCPeerConnection;
 
+RTC_EXPORT
 @protocol RTCPeerConnectionDelegate <NSObject>
 
 /** Called when the SignalingState changed. */
@@ -100,7 +103,7 @@
 
 @end
 
-
+RTC_EXPORT
 @interface RTCPeerConnection : NSObject
 
 /** The object that will be notifed about events such as state changes and
diff --git a/webrtc/api/objc/RTCPeerConnectionFactory.h b/webrtc/api/objc/RTCPeerConnectionFactory.h
index f98a551..2a53cab 100644
--- a/webrtc/api/objc/RTCPeerConnectionFactory.h
+++ b/webrtc/api/objc/RTCPeerConnectionFactory.h
@@ -10,6 +10,8 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
 @class RTCAVFoundationVideoSource;
@@ -22,6 +24,7 @@
 @class RTCVideoTrack;
 @protocol RTCPeerConnectionDelegate;
 
+RTC_EXPORT
 @interface RTCPeerConnectionFactory : NSObject
 
 - (instancetype)init NS_DESIGNATED_INITIALIZER;
diff --git a/webrtc/api/objc/RTCRtpEncodingParameters.h b/webrtc/api/objc/RTCRtpEncodingParameters.h
index 8f7f22e..0fb17b2 100644
--- a/webrtc/api/objc/RTCRtpEncodingParameters.h
+++ b/webrtc/api/objc/RTCRtpEncodingParameters.h
@@ -10,8 +10,11 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCRtpEncodingParameters : NSObject
 
 /** Controls whether the encoding is currently transmitted. */
diff --git a/webrtc/api/objc/RTCRtpParameters.h b/webrtc/api/objc/RTCRtpParameters.h
index d38e9ef..91d8108 100644
--- a/webrtc/api/objc/RTCRtpParameters.h
+++ b/webrtc/api/objc/RTCRtpParameters.h
@@ -11,9 +11,11 @@
 #import <Foundation/Foundation.h>
 
 #import "webrtc/api/objc/RTCRtpEncodingParameters.h"
+#import "webrtc/base/objc/RTCMacros.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCRtpParameters : NSObject
 
 /** The currently active encodings in the order of preference. */
diff --git a/webrtc/api/objc/RTCRtpSender.h b/webrtc/api/objc/RTCRtpSender.h
index 20d1db9..34a3d6c 100644
--- a/webrtc/api/objc/RTCRtpSender.h
+++ b/webrtc/api/objc/RTCRtpSender.h
@@ -12,9 +12,11 @@
 
 #import "webrtc/api/objc/RTCMediaStreamTrack.h"
 #import "webrtc/api/objc/RTCRtpParameters.h"
+#import "webrtc/base/objc/RTCMacros.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @protocol RTCRtpSender <NSObject>
 
 /** The currently active RTCRtpParameters, as defined in
@@ -36,6 +38,7 @@
 
 @end
 
+RTC_EXPORT
 @interface RTCRtpSender : NSObject <RTCRtpSender>
 
 - (instancetype)init NS_UNAVAILABLE;
diff --git a/webrtc/api/objc/RTCSessionDescription.h b/webrtc/api/objc/RTCSessionDescription.h
index 2635633..de927cf 100644
--- a/webrtc/api/objc/RTCSessionDescription.h
+++ b/webrtc/api/objc/RTCSessionDescription.h
@@ -10,6 +10,8 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 /**
  * Represents the session description type. This exposes the same types that are
  * in C++, which doesn't include the rollback type that is in the W3C spec.
@@ -22,6 +24,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCSessionDescription : NSObject
 
 /** The type of session description. */
diff --git a/webrtc/api/objc/RTCStatsReport.h b/webrtc/api/objc/RTCStatsReport.h
index f3f8907..de80dc3 100644
--- a/webrtc/api/objc/RTCStatsReport.h
+++ b/webrtc/api/objc/RTCStatsReport.h
@@ -10,9 +10,12 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
 /** This does not currently conform to the spec. */
+RTC_EXPORT
 @interface RTCStatsReport : NSObject
 
 /** Time since 1970-01-01T00:00:00Z in milliseconds. */
diff --git a/webrtc/api/objc/RTCVideoFrame.h b/webrtc/api/objc/RTCVideoFrame.h
index b44bf73..e76a9b3 100644
--- a/webrtc/api/objc/RTCVideoFrame.h
+++ b/webrtc/api/objc/RTCVideoFrame.h
@@ -11,9 +11,12 @@
 #import <AVFoundation/AVFoundation.h>
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
 // RTCVideoFrame is an ObjectiveC version of cricket::VideoFrame.
+RTC_EXPORT
 @interface RTCVideoFrame : NSObject
 
 /** Width without rotation applied. */
diff --git a/webrtc/api/objc/RTCVideoRenderer.h b/webrtc/api/objc/RTCVideoRenderer.h
index 2fe4efb..41c3e37 100644
--- a/webrtc/api/objc/RTCVideoRenderer.h
+++ b/webrtc/api/objc/RTCVideoRenderer.h
@@ -13,10 +13,13 @@
 #import <UIKit/UIKit.h>
 #endif
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
 @class RTCVideoFrame;
 
+RTC_EXPORT
 @protocol RTCVideoRenderer <NSObject>
 
 /** The size of the frame. */
diff --git a/webrtc/api/objc/RTCVideoSource.h b/webrtc/api/objc/RTCVideoSource.h
index a98fa6c..0269744 100644
--- a/webrtc/api/objc/RTCVideoSource.h
+++ b/webrtc/api/objc/RTCVideoSource.h
@@ -10,6 +10,8 @@
 
 #import <Foundation/Foundation.h>
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 typedef NS_ENUM(NSInteger, RTCSourceState) {
   RTCSourceStateInitializing,
   RTCSourceStateLive,
@@ -19,6 +21,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+RTC_EXPORT
 @interface RTCVideoSource : NSObject
 
 /** The current state of the RTCVideoSource. */
diff --git a/webrtc/api/objc/RTCVideoTrack.h b/webrtc/api/objc/RTCVideoTrack.h
index a7b6f0c..ff4196e 100644
--- a/webrtc/api/objc/RTCVideoTrack.h
+++ b/webrtc/api/objc/RTCVideoTrack.h
@@ -10,12 +10,15 @@
 
 #import "webrtc/api/objc/RTCMediaStreamTrack.h"
 
+#import "webrtc/base/objc/RTCMacros.h"
+
 NS_ASSUME_NONNULL_BEGIN
 
 @protocol RTCVideoRenderer;
 @class RTCPeerConnectionFactory;
 @class RTCVideoSource;
 
+RTC_EXPORT
 @interface RTCVideoTrack : RTCMediaStreamTrack
 
 /** The video source for this video track. */