Build dynamic iOS SDK.
- Places most ObjC code into webrtc/sdk/objc instead. - New gyp targets to build, strip and export symbols for dylib. - Removes old script used to generate dylib. BUG= Review URL: https://codereview.webrtc.org/1903663002 Cr-Commit-Position: refs/heads/master@{#12524}
This commit is contained in:
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
#import <WebRTC/RTCVideoSource.h>
|
||||
|
||||
@class AVCaptureSession;
|
||||
@class RTCMediaConstraints;
|
||||
@class RTCPeerConnectionFactory;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/**
|
||||
* RTCAVFoundationVideoSource is a video source that uses
|
||||
* webrtc::AVFoundationVideoCapturer. We do not currently provide a wrapper for
|
||||
* that capturer because cricket::VideoCapturer is not ref counted and we cannot
|
||||
* guarantee its lifetime. Instead, we expose its properties through the ref
|
||||
* counted video source interface.
|
||||
*/
|
||||
RTC_EXPORT
|
||||
@interface RTCAVFoundationVideoSource : RTCVideoSource
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Returns whether rear-facing camera is available for use. */
|
||||
@property(nonatomic, readonly) BOOL canUseBackCamera;
|
||||
|
||||
/** Switches the camera being used (either front or back). */
|
||||
@property(nonatomic, assign) BOOL useBackCamera;
|
||||
|
||||
/** Returns the active capture session. */
|
||||
@property(nonatomic, readonly) AVCaptureSession *captureSession;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
23
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h
Normal file
23
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCAudioTrack.h
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
#import <WebRTC/RTCMediaStreamTrack.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCAudioTrack : RTCMediaStreamTrack
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC Project Authors. All rights reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
@class AVCaptureSession;
|
||||
@class RTCAVFoundationVideoSource;
|
||||
|
||||
/** RTCCameraPreviewView is a view that renders local video from an
|
||||
* AVCaptureSession.
|
||||
*/
|
||||
RTC_EXPORT
|
||||
@interface RTCCameraPreviewView : UIView
|
||||
|
||||
/** The capture session being rendered in the view. Capture session
|
||||
* is assigned to AVCaptureVideoPreviewLayer async in the same
|
||||
* queue that the AVCaptureSession is started/stopped.
|
||||
*/
|
||||
@property(nonatomic, strong) AVCaptureSession *captureSession;
|
||||
|
||||
@end
|
||||
82
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h
Normal file
82
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCConfiguration.h
Normal file
@ -0,0 +1,82 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
@class RTCIceServer;
|
||||
|
||||
/**
|
||||
* Represents the ice transport policy. This exposes the same states in C++,
|
||||
* which include one more state than what exists in the W3C spec.
|
||||
*/
|
||||
typedef NS_ENUM(NSInteger, RTCIceTransportPolicy) {
|
||||
RTCIceTransportPolicyNone,
|
||||
RTCIceTransportPolicyRelay,
|
||||
RTCIceTransportPolicyNoHost,
|
||||
RTCIceTransportPolicyAll
|
||||
};
|
||||
|
||||
/** Represents the bundle policy. */
|
||||
typedef NS_ENUM(NSInteger, RTCBundlePolicy) {
|
||||
RTCBundlePolicyBalanced,
|
||||
RTCBundlePolicyMaxCompat,
|
||||
RTCBundlePolicyMaxBundle
|
||||
};
|
||||
|
||||
/** Represents the rtcp mux policy. */
|
||||
typedef NS_ENUM(NSInteger, RTCRtcpMuxPolicy) {
|
||||
RTCRtcpMuxPolicyNegotiate,
|
||||
RTCRtcpMuxPolicyRequire
|
||||
};
|
||||
|
||||
/** Represents the tcp candidate policy. */
|
||||
typedef NS_ENUM(NSInteger, RTCTcpCandidatePolicy) {
|
||||
RTCTcpCandidatePolicyEnabled,
|
||||
RTCTcpCandidatePolicyDisabled
|
||||
};
|
||||
|
||||
/** Represents the encryption key type. */
|
||||
typedef NS_ENUM(NSInteger, RTCEncryptionKeyType) {
|
||||
RTCEncryptionKeyTypeRSA,
|
||||
RTCEncryptionKeyTypeECDSA,
|
||||
};
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCConfiguration : NSObject
|
||||
|
||||
/** An array of Ice Servers available to be used by ICE. */
|
||||
@property(nonatomic, copy) NSArray<RTCIceServer *> *iceServers;
|
||||
|
||||
/** Which candidates the ICE agent is allowed to use. The W3C calls it
|
||||
* |iceTransportPolicy|, while in C++ it is called |type|. */
|
||||
@property(nonatomic, assign) RTCIceTransportPolicy iceTransportPolicy;
|
||||
|
||||
/** The media-bundling policy to use when gathering ICE candidates. */
|
||||
@property(nonatomic, assign) RTCBundlePolicy bundlePolicy;
|
||||
|
||||
/** The rtcp-mux policy to use when gathering ICE candidates. */
|
||||
@property(nonatomic, assign) RTCRtcpMuxPolicy rtcpMuxPolicy;
|
||||
@property(nonatomic, assign) RTCTcpCandidatePolicy tcpCandidatePolicy;
|
||||
@property(nonatomic, assign) int audioJitterBufferMaxPackets;
|
||||
@property(nonatomic, assign) int iceConnectionReceivingTimeout;
|
||||
@property(nonatomic, assign) int iceBackupCandidatePairPingInterval;
|
||||
|
||||
/** Key type used to generate SSL identity. Default is ECDSA. */
|
||||
@property(nonatomic, assign) RTCEncryptionKeyType keyType;
|
||||
|
||||
- (instancetype)init NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
134
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannel.h
Normal file
134
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDataChannel.h
Normal file
@ -0,0 +1,134 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <AvailabilityMacros.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCDataBuffer : NSObject
|
||||
|
||||
/** NSData representation of the underlying buffer. */
|
||||
@property(nonatomic, readonly) NSData *data;
|
||||
|
||||
/** Indicates whether |data| contains UTF-8 or binary data. */
|
||||
@property(nonatomic, readonly) BOOL isBinary;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/**
|
||||
* Initialize an RTCDataBuffer from NSData. |isBinary| indicates whether |data|
|
||||
* contains UTF-8 or binary data.
|
||||
*/
|
||||
- (instancetype)initWithData:(NSData *)data isBinary:(BOOL)isBinary;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@class RTCDataChannel;
|
||||
RTC_EXPORT
|
||||
@protocol RTCDataChannelDelegate <NSObject>
|
||||
|
||||
/** The data channel state changed. */
|
||||
- (void)dataChannelDidChangeState:(RTCDataChannel *)dataChannel;
|
||||
|
||||
/** The data channel successfully received a data buffer. */
|
||||
- (void)dataChannel:(RTCDataChannel *)dataChannel
|
||||
didReceiveMessageWithBuffer:(RTCDataBuffer *)buffer;
|
||||
|
||||
@optional
|
||||
/** The data channel's |bufferedAmount| changed. */
|
||||
- (void)dataChannel:(RTCDataChannel *)dataChannel
|
||||
didChangeBufferedAmount:(uint64_t)amount;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/** Represents the state of the data channel. */
|
||||
typedef NS_ENUM(NSInteger, RTCDataChannelState) {
|
||||
RTCDataChannelStateConnecting,
|
||||
RTCDataChannelStateOpen,
|
||||
RTCDataChannelStateClosing,
|
||||
RTCDataChannelStateClosed,
|
||||
};
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCDataChannel : NSObject
|
||||
|
||||
/**
|
||||
* A label that can be used to distinguish this data channel from other data
|
||||
* channel objects.
|
||||
*/
|
||||
@property(nonatomic, readonly) NSString *label;
|
||||
|
||||
/** Whether the data channel can send messages in unreliable mode. */
|
||||
@property(nonatomic, readonly) BOOL isReliable DEPRECATED_ATTRIBUTE;
|
||||
|
||||
/** Returns whether this data channel is ordered or not. */
|
||||
@property(nonatomic, readonly) BOOL isOrdered;
|
||||
|
||||
/** Deprecated. Use maxPacketLifeTime. */
|
||||
@property(nonatomic, readonly) NSUInteger maxRetransmitTime
|
||||
DEPRECATED_ATTRIBUTE;
|
||||
|
||||
/**
|
||||
* The length of the time window (in milliseconds) during which transmissions
|
||||
* and retransmissions may occur in unreliable mode.
|
||||
*/
|
||||
@property(nonatomic, readonly) uint16_t maxPacketLifeTime;
|
||||
|
||||
/**
|
||||
* The maximum number of retransmissions that are attempted in unreliable mode.
|
||||
*/
|
||||
@property(nonatomic, readonly) uint16_t maxRetransmits;
|
||||
|
||||
/**
|
||||
* The name of the sub-protocol used with this data channel, if any. Otherwise
|
||||
* this returns an empty string.
|
||||
*/
|
||||
@property(nonatomic, readonly) NSString *protocol;
|
||||
|
||||
/**
|
||||
* Returns whether this data channel was negotiated by the application or not.
|
||||
*/
|
||||
@property(nonatomic, readonly) BOOL isNegotiated;
|
||||
|
||||
/** Deprecated. Use channelId. */
|
||||
@property(nonatomic, readonly) NSInteger streamId DEPRECATED_ATTRIBUTE;
|
||||
|
||||
/** The identifier for this data channel. */
|
||||
@property(nonatomic, readonly) int channelId;
|
||||
|
||||
/** The state of the data channel. */
|
||||
@property(nonatomic, readonly) RTCDataChannelState readyState;
|
||||
|
||||
/**
|
||||
* The number of bytes of application data that have been queued using
|
||||
* |sendData:| but that have not yet been transmitted to the network.
|
||||
*/
|
||||
@property(nonatomic, readonly) uint64_t bufferedAmount;
|
||||
|
||||
/** The delegate for this data channel. */
|
||||
@property(nonatomic, weak) id<RTCDataChannelDelegate> delegate;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Closes the data channel. */
|
||||
- (void)close;
|
||||
|
||||
/** Attempt to send |data| on this data channel's underlying data transport. */
|
||||
- (BOOL)sendData:(RTCDataBuffer *)data;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <AvailabilityMacros.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCDataChannelConfiguration : NSObject
|
||||
|
||||
/** Set to YES if ordered delivery is required. */
|
||||
@property(nonatomic, assign) BOOL isOrdered;
|
||||
|
||||
/** Deprecated. Use maxPacketLifeTime. */
|
||||
@property(nonatomic, assign) NSInteger maxRetransmitTimeMs DEPRECATED_ATTRIBUTE;
|
||||
|
||||
/**
|
||||
* Max period in milliseconds in which retransmissions will be sent. After this
|
||||
* time, no more retransmissions will be sent. -1 if unset.
|
||||
*/
|
||||
@property(nonatomic, assign) int maxPacketLifeTime;
|
||||
|
||||
/** The max number of retransmissions. -1 if unset. */
|
||||
@property(nonatomic, assign) int maxRetransmits;
|
||||
|
||||
/** Set to YES if the channel has been externally negotiated and we do not send
|
||||
* an in-band signalling in the form of an "open" message.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL isNegotiated;
|
||||
|
||||
/** Deprecated. Use channelId. */
|
||||
@property(nonatomic, assign) int streamId DEPRECATED_ATTRIBUTE;
|
||||
|
||||
/** The id of the data channel. */
|
||||
@property(nonatomic, assign) int channelId;
|
||||
|
||||
/** Set by the application and opaque to the WebRTC implementation. */
|
||||
@property(nonatomic) NSString *protocol;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
40
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDispatcher.h
Normal file
40
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCDispatcher.h
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
typedef NS_ENUM(NSInteger, RTCDispatcherQueueType) {
|
||||
// Main dispatcher queue.
|
||||
RTCDispatcherTypeMain,
|
||||
// Used for starting/stopping AVCaptureSession, and assigning
|
||||
// capture session to AVCaptureVideoPreviewLayer.
|
||||
RTCDispatcherTypeCaptureSession,
|
||||
// Used for operations on AVAudioSession.
|
||||
RTCDispatcherTypeAudioSession,
|
||||
};
|
||||
|
||||
/** Dispatcher that asynchronously dispatches blocks to a specific
|
||||
* shared dispatch queue.
|
||||
*/
|
||||
RTC_EXPORT
|
||||
@interface RTCDispatcher : NSObject
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Dispatch the block asynchronously on the queue for dispatchType.
|
||||
* @param dispatchType The queue type to dispatch on.
|
||||
* @param block The block to dispatch asynchronously.
|
||||
*/
|
||||
+ (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType
|
||||
block:(dispatch_block_t)block;
|
||||
|
||||
@end
|
||||
38
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h
Normal file
38
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCEAGLVideoView.h
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
#import <WebRTC/RTCVideoRenderer.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class RTCEAGLVideoView;
|
||||
RTC_EXPORT
|
||||
@protocol RTCEAGLVideoViewDelegate
|
||||
|
||||
- (void)videoView:(RTCEAGLVideoView *)videoView didChangeVideoSize:(CGSize)size;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 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;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
23
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h
Normal file
23
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFieldTrials.h
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2016 The WebRTC Project Authors. All rights reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
typedef NS_OPTIONS(NSUInteger, RTCFieldTrialOptions) {
|
||||
RTCFieldTrialOptionsNone = 0,
|
||||
RTCFieldTrialOptionsSendSideBwe = 1 << 0,
|
||||
};
|
||||
|
||||
/** Must be called before any other call into WebRTC. See:
|
||||
* webrtc/system_wrappers/include/field_trial_default.h
|
||||
*/
|
||||
RTC_EXTERN void RTCInitFieldTrials(RTCFieldTrialOptions options);
|
||||
77
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h
Normal file
77
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCFileLogger.h
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
typedef NS_ENUM(NSUInteger, RTCFileLoggerSeverity) {
|
||||
RTCFileLoggerSeverityVerbose,
|
||||
RTCFileLoggerSeverityInfo,
|
||||
RTCFileLoggerSeverityWarning,
|
||||
RTCFileLoggerSeverityError
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSUInteger, RTCFileLoggerRotationType) {
|
||||
RTCFileLoggerTypeCall,
|
||||
RTCFileLoggerTypeApp,
|
||||
};
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
// This class intercepts WebRTC logs and saves them to a file. The file size
|
||||
// will not exceed the given maximum bytesize. When the maximum bytesize is
|
||||
// reached, logs are rotated according to the rotationType specified.
|
||||
// For kRTCFileLoggerTypeCall, logs from the beginning and the end
|
||||
// are preserved while the middle section is overwritten instead.
|
||||
// For kRTCFileLoggerTypeApp, the oldest log is overwritten.
|
||||
// This class is not threadsafe.
|
||||
RTC_EXPORT
|
||||
@interface RTCFileLogger : NSObject
|
||||
|
||||
// The severity level to capture. The default is kRTCFileLoggerSeverityInfo.
|
||||
@property(nonatomic, assign) RTCFileLoggerSeverity severity;
|
||||
|
||||
// The rotation type for this file logger. The default is
|
||||
// kRTCFileLoggerTypeCall.
|
||||
@property(nonatomic, readonly) RTCFileLoggerRotationType rotationType;
|
||||
|
||||
// Disables buffering disk writes. Should be set before |start|. Buffering
|
||||
// is enabled by default for performance.
|
||||
@property(nonatomic, assign) BOOL shouldDisableBuffering;
|
||||
|
||||
// Default constructor provides default settings for dir path, file size and
|
||||
// rotation type.
|
||||
- (instancetype)init;
|
||||
|
||||
// Create file logger with default rotation type.
|
||||
- (instancetype)initWithDirPath:(NSString *)dirPath
|
||||
maxFileSize:(NSUInteger)maxFileSize;
|
||||
|
||||
- (instancetype)initWithDirPath:(NSString *)dirPath
|
||||
maxFileSize:(NSUInteger)maxFileSize
|
||||
rotationType:(RTCFileLoggerRotationType)rotationType
|
||||
NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
// Starts writing WebRTC logs to disk if not already started. Overwrites any
|
||||
// existing file(s).
|
||||
- (void)start;
|
||||
|
||||
// Stops writing WebRTC logs to disk. This method is also called on dealloc.
|
||||
- (void)stop;
|
||||
|
||||
// Returns the current contents of the logs, or nil if start has been called
|
||||
// without a stop.
|
||||
- (NSData *)logData;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
47
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h
Normal file
47
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceCandidate.h
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCIceCandidate : NSObject
|
||||
|
||||
/**
|
||||
* If present, the identifier of the "media stream identification" for the media
|
||||
* component this candidate is associated with.
|
||||
*/
|
||||
@property(nonatomic, readonly, nullable) NSString *sdpMid;
|
||||
|
||||
/**
|
||||
* The index (starting at zero) of the media description this candidate is
|
||||
* associated with in the SDP.
|
||||
*/
|
||||
@property(nonatomic, readonly) int sdpMLineIndex;
|
||||
|
||||
/** The SDP string for this candidate. */
|
||||
@property(nonatomic, readonly) NSString *sdp;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/**
|
||||
* Initialize an RTCIceCandidate from SDP.
|
||||
*/
|
||||
- (instancetype)initWithSdp:(NSString *)sdp
|
||||
sdpMLineIndex:(int)sdpMLineIndex
|
||||
sdpMid:(nullable NSString *)sdpMid
|
||||
NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
45
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h
Normal file
45
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCIceServer.h
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCIceServer : NSObject
|
||||
|
||||
/** URI(s) for this server represented as NSStrings. */
|
||||
@property(nonatomic, readonly) NSArray<NSString *> *urlStrings;
|
||||
|
||||
/** Username to use if this RTCIceServer object is a TURN server. */
|
||||
@property(nonatomic, readonly, nullable) NSString *username;
|
||||
|
||||
/** Credential to use if this RTCIceServer object is a TURN server. */
|
||||
@property(nonatomic, readonly, nullable) NSString *credential;
|
||||
|
||||
- (nonnull instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Convenience initializer for a server with no authentication (e.g. STUN). */
|
||||
- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings;
|
||||
|
||||
/**
|
||||
* Initialize an RTCIceServer with its associated URLs, optional username,
|
||||
* optional credential, and credentialType.
|
||||
*/
|
||||
- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings
|
||||
username:(nullable NSString *)username
|
||||
credential:(nullable NSString *)credential
|
||||
NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
69
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLogging.h
Normal file
69
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCLogging.h
Normal file
@ -0,0 +1,69 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
// Subset of rtc::LoggingSeverity.
|
||||
typedef NS_ENUM(NSInteger, RTCLoggingSeverity) {
|
||||
RTCLoggingSeverityVerbose,
|
||||
RTCLoggingSeverityInfo,
|
||||
RTCLoggingSeverityWarning,
|
||||
RTCLoggingSeverityError,
|
||||
};
|
||||
|
||||
// Wrapper for C++ LOG(sev) macros.
|
||||
// Logs the log string to the webrtc logstream for the given severity.
|
||||
RTC_EXTERN void RTCLogEx(RTCLoggingSeverity severity, NSString* log_string);
|
||||
|
||||
// Wrapper for rtc::LogMessage::LogToDebug.
|
||||
// Sets the minimum severity to be logged to console.
|
||||
RTC_EXTERN void RTCSetMinDebugLogLevel(RTCLoggingSeverity severity);
|
||||
|
||||
// Returns the filename with the path prefix removed.
|
||||
RTC_EXTERN NSString* RTCFileName(const char* filePath);
|
||||
|
||||
// Some convenience macros.
|
||||
|
||||
#define RTCLogString(format, ...) \
|
||||
[NSString stringWithFormat:@"(%@:%d %s): " format, \
|
||||
RTCFileName(__FILE__), \
|
||||
__LINE__, \
|
||||
__FUNCTION__, \
|
||||
##__VA_ARGS__]
|
||||
|
||||
#define RTCLogFormat(severity, format, ...) \
|
||||
do { \
|
||||
NSString* log_string = RTCLogString(format, ##__VA_ARGS__); \
|
||||
RTCLogEx(severity, log_string); \
|
||||
} while (false)
|
||||
|
||||
#define RTCLogVerbose(format, ...) \
|
||||
RTCLogFormat(RTCLoggingSeverityVerbose, format, ##__VA_ARGS__) \
|
||||
|
||||
#define RTCLogInfo(format, ...) \
|
||||
RTCLogFormat(RTCLoggingSeverityInfo, format, ##__VA_ARGS__) \
|
||||
|
||||
#define RTCLogWarning(format, ...) \
|
||||
RTCLogFormat(RTCLoggingSeverityWarning, format, ##__VA_ARGS__) \
|
||||
|
||||
#define RTCLogError(format, ...) \
|
||||
RTCLogFormat(RTCLoggingSeverityError, format, ##__VA_ARGS__) \
|
||||
|
||||
#if !defined(NDEBUG)
|
||||
#define RTCLogDebug(format, ...) RTCLogInfo(format, ##__VA_ARGS__)
|
||||
#else
|
||||
#define RTCLogDebug(format, ...) \
|
||||
do { \
|
||||
} while (false)
|
||||
#endif
|
||||
|
||||
#define RTCLog(format, ...) RTCLogInfo(format, ##__VA_ARGS__)
|
||||
28
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMacros.h
Normal file
28
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMacros.h
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright 2016 The WebRTC Project Authors. All rights reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#ifndef WEBRTC_BASE_OBJC_RTC_MACROS_H_
|
||||
#define WEBRTC_BASE_OBJC_RTC_MACROS_H_
|
||||
|
||||
#define RTC_EXPORT __attribute__((visibility("default")))
|
||||
|
||||
#if defined(__cplusplus)
|
||||
#define RTC_EXTERN extern "C" RTC_EXPORT
|
||||
#else
|
||||
#define RTC_EXTERN extern RTC_EXPORT
|
||||
#endif
|
||||
|
||||
#ifdef __OBJC__
|
||||
#define RTC_FWD_DECL_OBJC_CLASS(classname) @class classname
|
||||
#else
|
||||
#define RTC_FWD_DECL_OBJC_CLASS(classname) typedef struct objc_object classname
|
||||
#endif
|
||||
|
||||
#endif // WEBRTC_BASE_OBJC_RTC_MACROS_H_
|
||||
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCMediaConstraints : NSObject
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Initialize with mandatory and/or optional constraints. */
|
||||
- (instancetype)initWithMandatoryConstraints:
|
||||
(nullable NSDictionary<NSString *, NSString *> *)mandatory
|
||||
optionalConstraints:
|
||||
(nullable NSDictionary<NSString *, NSString *> *)optional
|
||||
NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
49
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h
Normal file
49
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCMediaStream.h
Normal file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class RTCAudioTrack;
|
||||
@class RTCPeerConnectionFactory;
|
||||
@class RTCVideoTrack;
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCMediaStream : NSObject
|
||||
|
||||
/** The audio tracks in this stream. */
|
||||
@property(nonatomic, strong, readonly) NSArray<RTCAudioTrack *> *audioTracks;
|
||||
|
||||
/** The video tracks in this stream. */
|
||||
@property(nonatomic, strong, readonly) NSArray<RTCVideoTrack *> *videoTracks;
|
||||
|
||||
/** An identifier for this media stream. */
|
||||
@property(nonatomic, readonly) NSString *streamId;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Adds the given audio track to this media stream. */
|
||||
- (void)addAudioTrack:(RTCAudioTrack *)audioTrack;
|
||||
|
||||
/** Adds the given video track to this media stream. */
|
||||
- (void)addVideoTrack:(RTCVideoTrack *)videoTrack;
|
||||
|
||||
/** Removes the given audio track to this media stream. */
|
||||
- (void)removeAudioTrack:(RTCAudioTrack *)audioTrack;
|
||||
|
||||
/** Removes the given video track to this media stream. */
|
||||
- (void)removeVideoTrack:(RTCVideoTrack *)videoTrack;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
/**
|
||||
* Represents the state of the track. This exposes the same states in C++.
|
||||
*/
|
||||
typedef NS_ENUM(NSInteger, RTCMediaStreamTrackState) {
|
||||
RTCMediaStreamTrackStateLive,
|
||||
RTCMediaStreamTrackStateEnded
|
||||
};
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCMediaStreamTrack : NSObject
|
||||
|
||||
/**
|
||||
* The kind of track. For example, "audio" if this track represents an audio
|
||||
* track and "video" if this track represents a video track.
|
||||
*/
|
||||
@property(nonatomic, readonly) NSString *kind;
|
||||
|
||||
/** An identifier string. */
|
||||
@property(nonatomic, readonly) NSString *trackId;
|
||||
|
||||
/** The enabled state of the track. */
|
||||
@property(nonatomic, assign) BOOL isEnabled;
|
||||
|
||||
/** The state of the track. */
|
||||
@property(nonatomic, readonly) RTCMediaStreamTrackState readyState;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
34
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h
Normal file
34
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCNSGLVideoView.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#if !TARGET_OS_IPHONE
|
||||
|
||||
#import <AppKit/NSOpenGLView.h>
|
||||
|
||||
#import <WebRTC/RTCVideoRenderer.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class RTCNSGLVideoView;
|
||||
@protocol RTCNSGLVideoViewDelegate
|
||||
|
||||
- (void)videoView:(RTCNSGLVideoView *)videoView didChangeVideoSize:(CGSize)size;
|
||||
|
||||
@end
|
||||
|
||||
@interface RTCNSGLVideoView : NSOpenGLView <RTCVideoRenderer>
|
||||
|
||||
@property(nonatomic, weak) id<RTCNSGLVideoViewDelegate> delegate;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif
|
||||
195
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h
Normal file
195
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCPeerConnection.h
Normal file
@ -0,0 +1,195 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
@class RTCConfiguration;
|
||||
@class RTCDataChannel;
|
||||
@class RTCDataChannelConfiguration;
|
||||
@class RTCIceCandidate;
|
||||
@class RTCMediaConstraints;
|
||||
@class RTCMediaStream;
|
||||
@class RTCMediaStreamTrack;
|
||||
@class RTCPeerConnectionFactory;
|
||||
@class RTCRtpSender;
|
||||
@class RTCSessionDescription;
|
||||
@class RTCStatsReport;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
extern NSString * const kRTCPeerConnectionErrorDomain;
|
||||
extern int const kRTCSessionDescriptionErrorCode;
|
||||
|
||||
/** Represents the signaling state of the peer connection. */
|
||||
typedef NS_ENUM(NSInteger, RTCSignalingState) {
|
||||
RTCSignalingStateStable,
|
||||
RTCSignalingStateHaveLocalOffer,
|
||||
RTCSignalingStateHaveLocalPrAnswer,
|
||||
RTCSignalingStateHaveRemoteOffer,
|
||||
RTCSignalingStateHaveRemotePrAnswer,
|
||||
// Not an actual state, represents the total number of states.
|
||||
RTCSignalingStateClosed,
|
||||
};
|
||||
|
||||
/** Represents the ice connection state of the peer connection. */
|
||||
typedef NS_ENUM(NSInteger, RTCIceConnectionState) {
|
||||
RTCIceConnectionStateNew,
|
||||
RTCIceConnectionStateChecking,
|
||||
RTCIceConnectionStateConnected,
|
||||
RTCIceConnectionStateCompleted,
|
||||
RTCIceConnectionStateFailed,
|
||||
RTCIceConnectionStateDisconnected,
|
||||
RTCIceConnectionStateClosed,
|
||||
RTCIceConnectionStateCount,
|
||||
};
|
||||
|
||||
/** Represents the ice gathering state of the peer connection. */
|
||||
typedef NS_ENUM(NSInteger, RTCIceGatheringState) {
|
||||
RTCIceGatheringStateNew,
|
||||
RTCIceGatheringStateGathering,
|
||||
RTCIceGatheringStateComplete,
|
||||
};
|
||||
|
||||
/** Represents the stats output level. */
|
||||
typedef NS_ENUM(NSInteger, RTCStatsOutputLevel) {
|
||||
RTCStatsOutputLevelStandard,
|
||||
RTCStatsOutputLevelDebug,
|
||||
};
|
||||
|
||||
@class RTCPeerConnection;
|
||||
|
||||
RTC_EXPORT
|
||||
@protocol RTCPeerConnectionDelegate <NSObject>
|
||||
|
||||
/** Called when the SignalingState changed. */
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didChangeSignalingState:(RTCSignalingState)stateChanged;
|
||||
|
||||
/** Called when media is received on a new stream from remote peer. */
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didAddStream:(RTCMediaStream *)stream;
|
||||
|
||||
/** Called when a remote peer closes a stream. */
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didRemoveStream:(RTCMediaStream *)stream;
|
||||
|
||||
/** Called when negotiation is needed, for example ICE has restarted. */
|
||||
- (void)peerConnectionShouldNegotiate:(RTCPeerConnection *)peerConnection;
|
||||
|
||||
/** Called any time the IceConnectionState changes. */
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didChangeIceConnectionState:(RTCIceConnectionState)newState;
|
||||
|
||||
/** Called any time the IceGatheringState changes. */
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didChangeIceGatheringState:(RTCIceGatheringState)newState;
|
||||
|
||||
/** New ice candidate has been found. */
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didGenerateIceCandidate:(RTCIceCandidate *)candidate;
|
||||
|
||||
/** New data channel has been opened. */
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didOpenDataChannel:(RTCDataChannel *)dataChannel;
|
||||
|
||||
@end
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCPeerConnection : NSObject
|
||||
|
||||
/** The object that will be notifed about events such as state changes and
|
||||
* streams being added or removed.
|
||||
*/
|
||||
@property(nonatomic, weak, nullable) id<RTCPeerConnectionDelegate> delegate;
|
||||
@property(nonatomic, readonly) NSArray *localStreams;
|
||||
@property(nonatomic, readonly, nullable)
|
||||
RTCSessionDescription *localDescription;
|
||||
@property(nonatomic, readonly, nullable)
|
||||
RTCSessionDescription *remoteDescription;
|
||||
@property(nonatomic, readonly) RTCSignalingState signalingState;
|
||||
@property(nonatomic, readonly) RTCIceConnectionState iceConnectionState;
|
||||
@property(nonatomic, readonly) RTCIceGatheringState iceGatheringState;
|
||||
|
||||
/** Gets all RTCRtpSenders associated with this peer connection.
|
||||
* Note: reading this property returns different instances of RTCRtpSender.
|
||||
* Use isEqual: instead of == to compare RTCRtpSender instances.
|
||||
*/
|
||||
@property(nonatomic, readonly) NSArray<RTCRtpSender *> *senders;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Sets the PeerConnection's global configuration to |configuration|.
|
||||
* Any changes to STUN/TURN servers or ICE candidate policy will affect the
|
||||
* next gathering phase, and cause the next call to createOffer to generate
|
||||
* new ICE credentials. Note that the BUNDLE and RTCP-multiplexing policies
|
||||
* cannot be changed with this method.
|
||||
*/
|
||||
- (BOOL)setConfiguration:(RTCConfiguration *)configuration;
|
||||
|
||||
/** Terminate all media and close the transport. */
|
||||
- (void)close;
|
||||
|
||||
/** Provide a remote candidate to the ICE Agent. */
|
||||
- (void)addIceCandidate:(RTCIceCandidate *)candidate;
|
||||
|
||||
/** Add a new media stream to be sent on this peer connection. */
|
||||
- (void)addStream:(RTCMediaStream *)stream;
|
||||
|
||||
/** Remove the given media stream from this peer connection. */
|
||||
- (void)removeStream:(RTCMediaStream *)stream;
|
||||
|
||||
/** Generate an SDP offer. */
|
||||
- (void)offerForConstraints:(RTCMediaConstraints *)constraints
|
||||
completionHandler:(nullable void (^)
|
||||
(RTCSessionDescription * _Nullable sdp,
|
||||
NSError * _Nullable error))completionHandler;
|
||||
|
||||
/** Generate an SDP answer. */
|
||||
- (void)answerForConstraints:(RTCMediaConstraints *)constraints
|
||||
completionHandler:(nullable void (^)
|
||||
(RTCSessionDescription * _Nullable sdp,
|
||||
NSError * _Nullable error))completionHandler;
|
||||
|
||||
/** Apply the supplied RTCSessionDescription as the local description. */
|
||||
- (void)setLocalDescription:(RTCSessionDescription *)sdp
|
||||
completionHandler:
|
||||
(nullable void (^)(NSError * _Nullable error))completionHandler;
|
||||
|
||||
/** Apply the supplied RTCSessionDescription as the remote description. */
|
||||
- (void)setRemoteDescription:(RTCSessionDescription *)sdp
|
||||
completionHandler:
|
||||
(nullable void (^)(NSError * _Nullable error))completionHandler;
|
||||
|
||||
@end
|
||||
|
||||
@interface RTCPeerConnection (DataChannel)
|
||||
|
||||
/** Create a new data channel with the given label and configuration. */
|
||||
- (RTCDataChannel *)dataChannelForLabel:(NSString *)label
|
||||
configuration:(RTCDataChannelConfiguration *)configuration;
|
||||
|
||||
@end
|
||||
|
||||
@interface RTCPeerConnection (Stats)
|
||||
|
||||
/** Gather stats for the given RTCMediaStreamTrack. If |mediaStreamTrack| is nil
|
||||
* statistics are gathered for all tracks.
|
||||
*/
|
||||
- (void)statsForTrack:
|
||||
(nullable RTCMediaStreamTrack *)mediaStreamTrack
|
||||
statsOutputLevel:(RTCStatsOutputLevel)statsOutputLevel
|
||||
completionHandler:
|
||||
(nullable void (^)(NSArray<RTCStatsReport *> *stats))completionHandler;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class RTCAVFoundationVideoSource;
|
||||
@class RTCAudioTrack;
|
||||
@class RTCConfiguration;
|
||||
@class RTCMediaConstraints;
|
||||
@class RTCMediaStream;
|
||||
@class RTCPeerConnection;
|
||||
@class RTCVideoSource;
|
||||
@class RTCVideoTrack;
|
||||
@protocol RTCPeerConnectionDelegate;
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCPeerConnectionFactory : NSObject
|
||||
|
||||
- (instancetype)init NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
/** Initialize an RTCAVFoundationVideoSource with constraints. */
|
||||
- (RTCAVFoundationVideoSource *)avFoundationVideoSourceWithConstraints:
|
||||
(nullable RTCMediaConstraints *)constraints;
|
||||
|
||||
/** Initialize an RTCAudioTrack with an id. */
|
||||
- (RTCAudioTrack *)audioTrackWithTrackId:(NSString *)trackId;
|
||||
|
||||
/** Initialize an RTCVideoTrack with a source and an id. */
|
||||
- (RTCVideoTrack *)videoTrackWithSource:(RTCVideoSource *)source
|
||||
trackId:(NSString *)trackId;
|
||||
|
||||
/** Initialize an RTCMediaStream with an id. */
|
||||
- (RTCMediaStream *)mediaStreamWithStreamId:(NSString *)streamId;
|
||||
|
||||
/** Initialize an RTCPeerConnection with a configuration, constraints, and
|
||||
* delegate.
|
||||
*/
|
||||
- (RTCPeerConnection *)peerConnectionWithConfiguration:
|
||||
(RTCConfiguration *)configuration
|
||||
constraints:
|
||||
(RTCMediaConstraints *)constraints
|
||||
delegate:
|
||||
(nullable id<RTCPeerConnectionDelegate>)delegate;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright 2016 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXTERN const NSString * const kRTCRtxCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCRedCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCUlpfecCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCOpusCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCIsacCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCL16CodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCG722CodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCIlbcCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCPcmuCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCPcmaCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCDtmfCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCComfortNoiseCodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCVp8CodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCVp9CodecMimeType;
|
||||
RTC_EXTERN const NSString * const kRTCH264CodecMimeType;
|
||||
|
||||
/** Defined in http://w3c.github.io/webrtc-pc/#idl-def-RTCRtpCodecParameters */
|
||||
RTC_EXPORT
|
||||
@interface RTCRtpCodecParameters : NSObject
|
||||
|
||||
/** The RTP payload type. */
|
||||
@property(nonatomic, assign) int payloadType;
|
||||
|
||||
/**
|
||||
* The codec MIME type. Valid types are listed in:
|
||||
* http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-2
|
||||
*
|
||||
* Several supported types are represented by the constants above.
|
||||
*/
|
||||
@property(nonatomic, nonnull) NSString *mimeType;
|
||||
|
||||
/** The codec clock rate expressed in Hertz. */
|
||||
@property(nonatomic, assign) int clockRate;
|
||||
|
||||
/** The number of channels (mono=1, stereo=2). */
|
||||
@property(nonatomic, assign) int channels;
|
||||
|
||||
- (instancetype)init NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 2016 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCRtpEncodingParameters : NSObject
|
||||
|
||||
/** Controls whether the encoding is currently transmitted. */
|
||||
@property(nonatomic, assign) BOOL isActive;
|
||||
|
||||
/** The maximum bitrate to use for the encoding, or nil if there is no
|
||||
* limit.
|
||||
*/
|
||||
@property(nonatomic, copy, nullable) NSNumber *maxBitrateBps;
|
||||
|
||||
- (instancetype)init NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
32
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h
Normal file
32
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpParameters.h
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 2016 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
#import <WebRTC/RTCRtpCodecParameters.h>
|
||||
#import <WebRTC/RTCRtpEncodingParameters.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCRtpParameters : NSObject
|
||||
|
||||
/** The currently active encodings in the order of preference. */
|
||||
@property(nonatomic, copy) NSArray<RTCRtpEncodingParameters *> *encodings;
|
||||
|
||||
/** The negotiated set of send codecs in order of preference. */
|
||||
@property(nonatomic, copy) NSArray<RTCRtpCodecParameters *> *codecs;
|
||||
|
||||
- (instancetype)init NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
48
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h
Normal file
48
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCRtpSender.h
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright 2016 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
#import <WebRTC/RTCMediaStreamTrack.h>
|
||||
#import <WebRTC/RTCRtpParameters.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@protocol RTCRtpSender <NSObject>
|
||||
|
||||
/** The currently active RTCRtpParameters, as defined in
|
||||
* https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters.
|
||||
*/
|
||||
@property(nonatomic, readonly) RTCRtpParameters *parameters;
|
||||
|
||||
/** The RTCMediaStreamTrack associated with the sender.
|
||||
* Note: reading this property returns a new instance of
|
||||
* RTCMediaStreamTrack. Use isEqual: instead of == to compare
|
||||
* RTCMediaStreamTrack instances.
|
||||
*/
|
||||
@property(nonatomic, readonly) RTCMediaStreamTrack *track;
|
||||
|
||||
/** Set the new RTCRtpParameters to be used by the sender.
|
||||
* Returns YES if the new parameters were applied, NO otherwise.
|
||||
*/
|
||||
- (BOOL)setParameters:(RTCRtpParameters *)parameters;
|
||||
|
||||
@end
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCRtpSender : NSObject <RTCRtpSender>
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
20
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSSLAdapter.h
Normal file
20
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCSSLAdapter.h
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* Copyright 2016 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
/**
|
||||
* Initialize and clean up the SSL library. Failure is fatal. These call the
|
||||
* corresponding functions in webrtc/base/ssladapter.h.
|
||||
*/
|
||||
RTC_EXTERN BOOL RTCInitializeSSL();
|
||||
RTC_EXTERN BOOL RTCCleanupSSL();
|
||||
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/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.
|
||||
*/
|
||||
typedef NS_ENUM(NSInteger, RTCSdpType) {
|
||||
RTCSdpTypeOffer,
|
||||
RTCSdpTypePrAnswer,
|
||||
RTCSdpTypeAnswer,
|
||||
};
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCSessionDescription : NSObject
|
||||
|
||||
/** The type of session description. */
|
||||
@property(nonatomic, readonly) RTCSdpType type;
|
||||
|
||||
/** The SDP string representation of this session description. */
|
||||
@property(nonatomic, readonly) NSString *sdp;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Initialize a session description with a type and SDP string. */
|
||||
- (instancetype)initWithType:(RTCSdpType)type sdp:(NSString *)sdp
|
||||
NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
+ (NSString *)stringForType:(RTCSdpType)type;
|
||||
|
||||
+ (RTCSdpType)typeForString:(NSString *)string;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
37
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCStatsReport.h
Normal file
37
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCStatsReport.h
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/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. */
|
||||
@property(nonatomic, readonly) CFTimeInterval timestamp;
|
||||
|
||||
/** The type of stats held by this object. */
|
||||
@property(nonatomic, readonly) NSString *type;
|
||||
|
||||
/** The identifier for this object. */
|
||||
@property(nonatomic, readonly) NSString *reportId;
|
||||
|
||||
/** A dictionary holding the actual stats. */
|
||||
@property(nonatomic, readonly) NSDictionary<NSString *, NSString *> *values;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
21
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCTracing.h
Normal file
21
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCTracing.h
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright 2016 The WebRTC Project Authors. All rights reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
RTC_EXTERN void RTCSetupInternalTracer();
|
||||
/** Starts capture to specified file. Must be a valid writable path.
|
||||
* Returns YES if capture starts.
|
||||
*/
|
||||
RTC_EXTERN BOOL RTCStartInternalCapture(NSString *filePath);
|
||||
RTC_EXTERN void RTCStopInternalCapture();
|
||||
RTC_EXTERN void RTCShutdownInternalTracer();
|
||||
52
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h
Normal file
52
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoFrame.h
Normal file
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
// RTCVideoFrame is an ObjectiveC version of cricket::VideoFrame.
|
||||
RTC_EXPORT
|
||||
@interface RTCVideoFrame : NSObject
|
||||
|
||||
/** Width without rotation applied. */
|
||||
@property(nonatomic, readonly) size_t width;
|
||||
|
||||
/** Height without rotation applied. */
|
||||
@property(nonatomic, readonly) size_t height;
|
||||
@property(nonatomic, readonly) size_t chromaWidth;
|
||||
@property(nonatomic, readonly) size_t chromaHeight;
|
||||
// These can return NULL if the object is not backed by a buffer.
|
||||
@property(nonatomic, readonly, nullable) const uint8_t *yPlane;
|
||||
@property(nonatomic, readonly, nullable) const uint8_t *uPlane;
|
||||
@property(nonatomic, readonly, nullable) const uint8_t *vPlane;
|
||||
@property(nonatomic, readonly) int32_t yPitch;
|
||||
@property(nonatomic, readonly) int32_t uPitch;
|
||||
@property(nonatomic, readonly) int32_t vPitch;
|
||||
|
||||
/** Timestamp in nanoseconds. */
|
||||
@property(nonatomic, readonly) int64_t timeStamp;
|
||||
|
||||
/** The native handle should be a pixel buffer on iOS. */
|
||||
@property(nonatomic, readonly) CVPixelBufferRef nativeHandle;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** If the frame is backed by a CVPixelBuffer, creates a backing i420 frame.
|
||||
* Calling the yuv plane properties will call this method if needed.
|
||||
*/
|
||||
- (void)convertBufferIfNeeded;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
33
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoRenderer.h
Normal file
33
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoRenderer.h
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#if TARGET_OS_IPHONE
|
||||
#import <UIKit/UIKit.h>
|
||||
#endif
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class RTCVideoFrame;
|
||||
|
||||
RTC_EXPORT
|
||||
@protocol RTCVideoRenderer <NSObject>
|
||||
|
||||
/** The size of the frame. */
|
||||
- (void)setSize:(CGSize)size;
|
||||
|
||||
/** The frame to be displayed. */
|
||||
- (void)renderFrame:(nullable RTCVideoFrame *)frame;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
34
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h
Normal file
34
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoSource.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
typedef NS_ENUM(NSInteger, RTCSourceState) {
|
||||
RTCSourceStateInitializing,
|
||||
RTCSourceStateLive,
|
||||
RTCSourceStateEnded,
|
||||
RTCSourceStateMuted,
|
||||
};
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCVideoSource : NSObject
|
||||
|
||||
/** The current state of the RTCVideoSource. */
|
||||
@property(nonatomic, readonly) RTCSourceState state;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
37
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h
Normal file
37
webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoTrack.h
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <WebRTC/RTCMediaStreamTrack.h>
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol RTCVideoRenderer;
|
||||
@class RTCPeerConnectionFactory;
|
||||
@class RTCVideoSource;
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCVideoTrack : RTCMediaStreamTrack
|
||||
|
||||
/** The video source for this video track. */
|
||||
@property(nonatomic, readonly) RTCVideoSource *source;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Register a renderer that will render all frames received on this track. */
|
||||
- (void)addRenderer:(id<RTCVideoRenderer>)renderer;
|
||||
|
||||
/** Deregister a renderer. */
|
||||
- (void)removeRenderer:(id<RTCVideoRenderer>)renderer;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
41
webrtc/sdk/objc/Framework/Headers/WebRTC/WebRTC.h
Normal file
41
webrtc/sdk/objc/Framework/Headers/WebRTC/WebRTC.h
Normal file
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Copyright 2016 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <WebRTC/RTCAVFoundationVideoSource.h>
|
||||
#import <WebRTC/RTCAudioTrack.h>
|
||||
#import <WebRTC/RTCCameraPreviewView.h>
|
||||
#import <WebRTC/RTCConfiguration.h>
|
||||
#import <WebRTC/RTCDataChannel.h>
|
||||
#import <WebRTC/RTCDataChannelConfiguration.h>
|
||||
#import <WebRTC/RTCDispatcher.h>
|
||||
#import <WebRTC/RTCEAGLVideoView.h>
|
||||
#import <WebRTC/RTCFieldTrials.h>
|
||||
#import <WebRTC/RTCFileLogger.h>
|
||||
#import <WebRTC/RTCIceCandidate.h>
|
||||
#import <WebRTC/RTCIceServer.h>
|
||||
#import <WebRTC/RTCLogging.h>
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
#import <WebRTC/RTCMediaConstraints.h>
|
||||
#import <WebRTC/RTCMediaStream.h>
|
||||
#import <WebRTC/RTCMediaStreamTrack.h>
|
||||
#import <WebRTC/RTCPeerConnection.h>
|
||||
#import <WebRTC/RTCPeerConnectionFactory.h>
|
||||
#import <WebRTC/RTCRtpCodecParameters.h>
|
||||
#import <WebRTC/RTCRtpEncodingParameters.h>
|
||||
#import <WebRTC/RTCRtpParameters.h>
|
||||
#import <WebRTC/RTCRtpSender.h>
|
||||
#import <WebRTC/RTCSSLAdapter.h>
|
||||
#import <WebRTC/RTCSessionDescription.h>
|
||||
#import <WebRTC/RTCStatsReport.h>
|
||||
#import <WebRTC/RTCTracing.h>
|
||||
#import <WebRTC/RTCVideoFrame.h>
|
||||
#import <WebRTC/RTCVideoRenderer.h>
|
||||
#import <WebRTC/RTCVideoSource.h>
|
||||
#import <WebRTC/RTCVideoTrack.h>
|
||||
Reference in New Issue
Block a user