Compare commits
1 Commits
master
...
mkirk/webr
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae02f18e8b |
@ -1,55 +0,0 @@
|
||||
/*
|
||||
* 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
|
||||
|
||||
/**
|
||||
* DEPRECATED Use RTCCameraVideoCapturer instead.
|
||||
*
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* Calling this function will cause frames to be scaled down to the
|
||||
* requested resolution. Also, frames will be cropped to match the
|
||||
* requested aspect ratio, and frames will be dropped to match the
|
||||
* requested fps. The requested aspect ratio is orientation agnostic and
|
||||
* will be adjusted to maintain the input orientation, so it doesn't
|
||||
* matter if e.g. 1280x720 or 720x1280 is requested.
|
||||
*/
|
||||
- (void)adaptOutputFormatToWidth:(int)width height:(int)height fps:(int)fps;
|
||||
|
||||
/** 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
|
||||
35
Build/iOS/WebRTC.framework/Headers/RTCCallbackLogger.h
Normal file
35
Build/iOS/WebRTC.framework/Headers/RTCCallbackLogger.h
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright 2018 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/RTCLogging.h>
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
// This class intercepts WebRTC logs and forwards them to a registered block.
|
||||
// This class is not threadsafe.
|
||||
RTC_EXPORT
|
||||
@interface RTCCallbackLogger : NSObject
|
||||
|
||||
// The severity level to capture. The default is kRTCLoggingSeverityInfo.
|
||||
@property(nonatomic, assign) RTCLoggingSeverity severity;
|
||||
|
||||
// The callback will be called on the same thread that does the logging, so
|
||||
// if the logging callback can be slow it may be a good idea to implement
|
||||
// dispatching to some other queue.
|
||||
- (void)start:(nullable void (^)(NSString*))callback;
|
||||
|
||||
- (void)stop;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -14,7 +14,6 @@
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
@class AVCaptureSession;
|
||||
@class RTCAVFoundationVideoSource;
|
||||
|
||||
/** RTCCameraPreviewView is a view that renders local video from an
|
||||
* AVCaptureSession.
|
||||
|
||||
@ -29,7 +29,21 @@ RTC_EXPORT
|
||||
// Returns list of formats that are supported by this class for this device.
|
||||
+ (NSArray<AVCaptureDeviceFormat *> *)supportedFormatsForDevice:(AVCaptureDevice *)device;
|
||||
|
||||
// Starts and stops the capture session asynchronously.
|
||||
// Returns the most efficient supported output pixel format for this capturer.
|
||||
- (FourCharCode)preferredOutputPixelFormat;
|
||||
|
||||
// Starts the capture session asynchronously and notifies callback on completion.
|
||||
// The device will capture video in the format given in the `format` parameter. If the pixel format
|
||||
// in `format` is supported by the WebRTC pipeline, the same pixel format will be used for the
|
||||
// output. Otherwise, the format returned by `preferredOutputPixelFormat` will be used.
|
||||
- (void)startCaptureWithDevice:(AVCaptureDevice *)device
|
||||
format:(AVCaptureDeviceFormat *)format
|
||||
fps:(NSInteger)fps
|
||||
completionHandler:(nullable void (^)(NSError *))completionHandler;
|
||||
// Stops the capture session asynchronously and notifies callback on completion.
|
||||
- (void)stopCaptureWithCompletionHandler:(nullable void (^)(void))completionHandler;
|
||||
|
||||
// Starts the capture session asynchronously.
|
||||
- (void)startCaptureWithDevice:(AVCaptureDevice *)device
|
||||
format:(AVCaptureDeviceFormat *)format
|
||||
fps:(NSInteger)fps;
|
||||
|
||||
@ -63,6 +63,13 @@ typedef NS_ENUM(NSInteger, RTCEncryptionKeyType) {
|
||||
RTCEncryptionKeyTypeECDSA,
|
||||
};
|
||||
|
||||
/** Represents the chosen SDP semantics for the RTCPeerConnection. */
|
||||
typedef NS_ENUM(NSInteger, RTCSdpSemantics) {
|
||||
RTCSdpSemanticsDefault,
|
||||
RTCSdpSemanticsPlanB,
|
||||
RTCSdpSemanticsUnifiedPlan,
|
||||
};
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT
|
||||
@ -93,6 +100,12 @@ RTC_EXPORT
|
||||
*/
|
||||
@property(nonatomic, assign) int maxIPv6Networks;
|
||||
|
||||
/** Exclude link-local network interfaces
|
||||
* from considertaion for gathering ICE candidates.
|
||||
* Defaults to NO.
|
||||
*/
|
||||
@property(nonatomic, assign) BOOL disableLinkLocalNetworks;
|
||||
|
||||
@property(nonatomic, assign) int audioJitterBufferMaxPackets;
|
||||
@property(nonatomic, assign) BOOL audioJitterBufferFastAccelerate;
|
||||
@property(nonatomic, assign) int iceConnectionReceivingTimeout;
|
||||
@ -126,6 +139,33 @@ RTC_EXPORT
|
||||
*/
|
||||
@property(nonatomic, strong, nullable) RTCIntervalRange *iceRegatherIntervalRange;
|
||||
|
||||
/** Configure the SDP semantics used by this PeerConnection. Note that the
|
||||
* WebRTC 1.0 specification requires UnifiedPlan semantics. The
|
||||
* RTCRtpTransceiver API is only available with UnifiedPlan semantics.
|
||||
*
|
||||
* PlanB will cause RTCPeerConnection to create offers and answers with at
|
||||
* most one audio and one video m= section with multiple RTCRtpSenders and
|
||||
* RTCRtpReceivers specified as multiple a=ssrc lines within the section. This
|
||||
* will also cause RTCPeerConnection to ignore all but the first m= section of
|
||||
* the same media type.
|
||||
*
|
||||
* UnifiedPlan will cause RTCPeerConnection to create offers and answers with
|
||||
* multiple m= sections where each m= section maps to one RTCRtpSender and one
|
||||
* RTCRtpReceiver (an RTCRtpTransceiver), either both audio or both video. This
|
||||
* will also cause RTCPeerConnection to ignore all but the first a=ssrc lines
|
||||
* that form a Plan B stream.
|
||||
*
|
||||
* For users who only send at most one audio and one video track, this
|
||||
* choice does not matter and should be left as Default.
|
||||
*
|
||||
* For users who wish to send multiple audio/video streams and need to stay
|
||||
* interoperable with legacy WebRTC implementations, specify PlanB.
|
||||
*
|
||||
* For users who wish to send multiple audio/video streams and/or wish to
|
||||
* use the new RTCRtpTransceiver API, specify UnifiedPlan.
|
||||
*/
|
||||
@property(nonatomic, assign) RTCSdpSemantics sdpSemantics;
|
||||
|
||||
- (instancetype)init;
|
||||
|
||||
@end
|
||||
|
||||
70
Build/iOS/WebRTC.framework/Headers/RTCDtmfSender.h
Normal file
70
Build/iOS/WebRTC.framework/Headers/RTCDtmfSender.h
Normal file
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Copyright 2017 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
|
||||
@protocol RTCDtmfSender <NSObject>
|
||||
|
||||
/**
|
||||
* Returns true if this RTCDtmfSender is capable of sending DTMF. Otherwise
|
||||
* returns false. To be able to send DTMF, the associated RTCRtpSender must be
|
||||
* able to send packets, and a "telephone-event" codec must be negotiated.
|
||||
*/
|
||||
@property(nonatomic, readonly) BOOL canInsertDtmf;
|
||||
|
||||
/**
|
||||
* Queues a task that sends the DTMF tones. The tones parameter is treated
|
||||
* as a series of characters. The characters 0 through 9, A through D, #, and *
|
||||
* generate the associated DTMF tones. The characters a to d are equivalent
|
||||
* to A to D. The character ',' indicates a delay of 2 seconds before
|
||||
* processing the next character in the tones parameter.
|
||||
*
|
||||
* Unrecognized characters are ignored.
|
||||
*
|
||||
* @param duration The parameter indicates the duration to use for each
|
||||
* character passed in the tones parameter. The duration cannot be more
|
||||
* than 6000 or less than 70 ms.
|
||||
*
|
||||
* @param interToneGap The parameter indicates the gap between tones.
|
||||
* This parameter must be at least 50 ms but should be as short as
|
||||
* possible.
|
||||
*
|
||||
* If InsertDtmf is called on the same object while an existing task for this
|
||||
* object to generate DTMF is still running, the previous task is canceled.
|
||||
* Returns true on success and false on failure.
|
||||
*/
|
||||
- (BOOL)insertDtmf:(nonnull NSString *)tones
|
||||
duration:(NSTimeInterval)duration
|
||||
interToneGap:(NSTimeInterval)interToneGap;
|
||||
|
||||
/** The tones remaining to be played out */
|
||||
- (nonnull NSString *)remainingTones;
|
||||
|
||||
/**
|
||||
* The current tone duration value. This value will be the value last set via the
|
||||
* insertDtmf method, or the default value of 100 ms if insertDtmf was never called.
|
||||
*/
|
||||
- (NSTimeInterval)duration;
|
||||
|
||||
/**
|
||||
* The current value of the between-tone gap. This value will be the value last set
|
||||
* via the insertDtmf() method, or the default value of 50 ms if insertDtmf() was never
|
||||
* called.
|
||||
*/
|
||||
- (NSTimeInterval)interToneGap;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -69,7 +69,7 @@ RTC_EXPORT
|
||||
|
||||
// Returns the current contents of the logs, or nil if start has been called
|
||||
// without a stop.
|
||||
- (NSData *)logData;
|
||||
- (nullable NSData *)logData;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
50
Build/iOS/WebRTC.framework/Headers/RTCFileVideoCapturer.h
Normal file
50
Build/iOS/WebRTC.framework/Headers/RTCFileVideoCapturer.h
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright 2017 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/RTCVideoCapturer.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/**
|
||||
* Error passing block.
|
||||
*/
|
||||
typedef void (^RTCFileVideoCapturerErrorBlock)(NSError *error);
|
||||
|
||||
/**
|
||||
* Captures buffers from bundled video file.
|
||||
*
|
||||
* See @c RTCVideoCapturer for more info on capturers.
|
||||
*/
|
||||
RTC_EXPORT
|
||||
|
||||
NS_CLASS_AVAILABLE_IOS(10)
|
||||
@interface RTCFileVideoCapturer : RTCVideoCapturer
|
||||
|
||||
/**
|
||||
* Starts asynchronous capture of frames from video file.
|
||||
*
|
||||
* Capturing is not started if error occurs. Underlying error will be
|
||||
* relayed in the errorBlock if one is provided.
|
||||
* Successfully captured video frames will be passed to the delegate.
|
||||
*
|
||||
* @param nameOfFile The name of the bundled video file to be read.
|
||||
* @errorBlock block to be executed upon error.
|
||||
*/
|
||||
- (void)startCapturingFromFileNamed:(NSString *)nameOfFile
|
||||
onError:(__nullable RTCFileVideoCapturerErrorBlock)errorBlock;
|
||||
|
||||
/**
|
||||
* Immediately stops capture.
|
||||
*/
|
||||
- (void)stopCapture;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -20,7 +20,7 @@ typedef NS_ENUM(NSInteger, RTCLoggingSeverity) {
|
||||
RTCLoggingSeverityError,
|
||||
};
|
||||
|
||||
// Wrapper for C++ LOG(sev) macros.
|
||||
// Wrapper for C++ RTC_LOG(sev) macros.
|
||||
// Logs the log string to the webrtc logstream for the given severity.
|
||||
RTC_EXTERN void RTCLogEx(RTCLoggingSeverity severity, NSString* log_string);
|
||||
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Copyright 2017 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/RTCVideoRenderer.h"
|
||||
|
||||
// Check if metal is supported in WebRTC.
|
||||
// NOTE: Currently arm64 == Metal.
|
||||
#if defined(__aarch64__)
|
||||
#define RTC_SUPPORTS_METAL
|
||||
#endif
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/**
|
||||
* RTCMTLVideoView is thin wrapper around MTKView.
|
||||
*
|
||||
* It has id<RTCVideoRenderer> property that renders video frames in the view's
|
||||
* bounds using Metal.
|
||||
* NOTE: always check if metal is available on the running device via
|
||||
* RTC_SUPPORTS_METAL macro before initializing this class.
|
||||
*/
|
||||
NS_CLASS_AVAILABLE_IOS(9)
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCMTLVideoView : UIView <RTCVideoRenderer>
|
||||
|
||||
@end
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -17,7 +17,8 @@
|
||||
* Enables gathering of metrics (which can be fetched with
|
||||
* RTCGetAndResetMetrics). Must be called before any other call into WebRTC.
|
||||
*/
|
||||
RTC_EXTERN void RTCEnableMetrics();
|
||||
RTC_EXTERN void RTCEnableMetrics(void);
|
||||
|
||||
/** Gets and clears native histograms. */
|
||||
RTC_EXTERN NSArray<RTCMetricsSampleInfo *> *RTCGetAndResetMetrics();
|
||||
RTC_EXTERN NSArray<RTCMetricsSampleInfo *> *RTCGetAndResetMetrics(void);
|
||||
|
||||
|
||||
@ -22,9 +22,13 @@
|
||||
@class RTCPeerConnectionFactory;
|
||||
@class RTCRtpReceiver;
|
||||
@class RTCRtpSender;
|
||||
@class RTCRtpTransceiver;
|
||||
@class RTCRtpTransceiverInit;
|
||||
@class RTCSessionDescription;
|
||||
@class RTCLegacyStatsReport;
|
||||
|
||||
typedef NS_ENUM(NSInteger, RTCRtpMediaType);
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
extern NSString * const kRTCPeerConnectionErrorDomain;
|
||||
@ -79,7 +83,9 @@ RTC_EXPORT
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didAddStream:(RTCMediaStream *)stream;
|
||||
|
||||
/** Called when a remote peer closes a stream. */
|
||||
/** Called when a remote peer closes a stream.
|
||||
* This is not called when RTCSdpSemanticsUnifiedPlan is specified.
|
||||
*/
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didRemoveStream:(RTCMediaStream *)stream;
|
||||
|
||||
@ -106,6 +112,14 @@ RTC_EXPORT
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didOpenDataChannel:(RTCDataChannel *)dataChannel;
|
||||
|
||||
/** Called when signaling indicates a transceiver will be receiving media from
|
||||
* the remote endpoint.
|
||||
* This is only called with RTCSdpSemanticsUnifiedPlan specified.
|
||||
*/
|
||||
@optional
|
||||
- (void)peerConnection:(RTCPeerConnection *)peerConnection
|
||||
didStartReceivingOnTransceiver:(RTCRtpTransceiver *)transceiver;
|
||||
|
||||
@end
|
||||
|
||||
RTC_EXPORT
|
||||
@ -115,6 +129,9 @@ RTC_EXPORT
|
||||
* streams being added or removed.
|
||||
*/
|
||||
@property(nonatomic, weak, nullable) id<RTCPeerConnectionDelegate> delegate;
|
||||
/** This property is not available with RTCSdpSemanticsUnifiedPlan. Please use
|
||||
* |senders| instead.
|
||||
*/
|
||||
@property(nonatomic, readonly) NSArray<RTCMediaStream *> *localStreams;
|
||||
@property(nonatomic, readonly, nullable)
|
||||
RTCSessionDescription *localDescription;
|
||||
@ -137,6 +154,14 @@ RTC_EXPORT
|
||||
*/
|
||||
@property(nonatomic, readonly) NSArray<RTCRtpReceiver *> *receivers;
|
||||
|
||||
/** Gets all RTCRtpTransceivers associated with this peer connection.
|
||||
* Note: reading this property returns different instances of
|
||||
* RTCRtpTransceiver. Use isEqual: instead of == to compare RTCRtpTransceiver
|
||||
* instances.
|
||||
* This is only available with RTCSdpSemanticsUnifiedPlan specified.
|
||||
*/
|
||||
@property(nonatomic, readonly) NSArray<RTCRtpTransceiver *> *transceivers;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
/** Sets the PeerConnection's global configuration to |configuration|.
|
||||
@ -156,12 +181,70 @@ RTC_EXPORT
|
||||
/** Remove a group of remote candidates from the ICE Agent. */
|
||||
- (void)removeIceCandidates:(NSArray<RTCIceCandidate *> *)candidates;
|
||||
|
||||
/** Add a new media stream to be sent on this peer connection. */
|
||||
/** Add a new media stream to be sent on this peer connection.
|
||||
* This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use
|
||||
* addTrack instead.
|
||||
*/
|
||||
- (void)addStream:(RTCMediaStream *)stream;
|
||||
|
||||
/** Remove the given media stream from this peer connection. */
|
||||
/** Remove the given media stream from this peer connection.
|
||||
* This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use
|
||||
* removeTrack instead.
|
||||
*/
|
||||
- (void)removeStream:(RTCMediaStream *)stream;
|
||||
|
||||
/** Add a new media stream track to be sent on this peer connection, and return
|
||||
* the newly created RTCRtpSender. The RTCRtpSender will be associated with
|
||||
* the streams specified in the |streamLabels| list.
|
||||
*
|
||||
* Errors: If an error occurs, returns nil. An error can occur if:
|
||||
* - A sender already exists for the track.
|
||||
* - The peer connection is closed.
|
||||
*/
|
||||
- (RTCRtpSender *)addTrack:(RTCMediaStreamTrack *)track
|
||||
streamLabels:(NSArray<NSString *> *)streamLabels;
|
||||
|
||||
/** With PlanB semantics, removes an RTCRtpSender from this peer connection.
|
||||
*
|
||||
* With UnifiedPlan semantics, sets sender's track to null and removes the
|
||||
* send component from the associated RTCRtpTransceiver's direction.
|
||||
*
|
||||
* Returns YES on success.
|
||||
*/
|
||||
- (BOOL)removeTrack:(RTCRtpSender *)sender;
|
||||
|
||||
/** addTransceiver creates a new RTCRtpTransceiver and adds it to the set of
|
||||
* transceivers. Adding a transceiver will cause future calls to CreateOffer
|
||||
* to add a media description for the corresponding transceiver.
|
||||
*
|
||||
* The initial value of |mid| in the returned transceiver is nil. Setting a
|
||||
* new session description may change it to a non-nil value.
|
||||
*
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtransceiver
|
||||
*
|
||||
* Optionally, an RtpTransceiverInit structure can be specified to configure
|
||||
* the transceiver from construction. If not specified, the transceiver will
|
||||
* default to having a direction of kSendRecv and not be part of any streams.
|
||||
*
|
||||
* These methods are only available when Unified Plan is enabled (see
|
||||
* RTCConfiguration).
|
||||
*/
|
||||
|
||||
/** Adds a transceiver with a sender set to transmit the given track. The kind
|
||||
* of the transceiver (and sender/receiver) will be derived from the kind of
|
||||
* the track.
|
||||
*/
|
||||
- (RTCRtpTransceiver *)addTransceiverWithTrack:(RTCMediaStreamTrack *)track;
|
||||
- (RTCRtpTransceiver *)addTransceiverWithTrack:(RTCMediaStreamTrack *)track
|
||||
init:(RTCRtpTransceiverInit *)init;
|
||||
|
||||
/** Adds a transceiver with the given kind. Can either be RTCRtpMediaTypeAudio
|
||||
* or RTCRtpMediaTypeVideo.
|
||||
*/
|
||||
- (RTCRtpTransceiver *)addTransceiverOfType:(RTCRtpMediaType)mediaType;
|
||||
- (RTCRtpTransceiver *)addTransceiverOfType:(RTCRtpMediaType)mediaType
|
||||
init:(RTCRtpTransceiverInit *)init;
|
||||
|
||||
/** Generate an SDP offer. */
|
||||
- (void)offerForConstraints:(RTCMediaConstraints *)constraints
|
||||
completionHandler:(nullable void (^)
|
||||
@ -204,6 +287,8 @@ RTC_EXPORT
|
||||
|
||||
/** Create an RTCRtpSender with the specified kind and media stream ID.
|
||||
* See RTCMediaStreamTrack.h for available kinds.
|
||||
* This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use
|
||||
* addTransceiver instead.
|
||||
*/
|
||||
- (RTCRtpSender *)senderWithKind:(NSString *)kind streamId:(NSString *)streamId;
|
||||
|
||||
@ -212,8 +297,8 @@ RTC_EXPORT
|
||||
@interface RTCPeerConnection (DataChannel)
|
||||
|
||||
/** Create a new data channel with the given label and configuration. */
|
||||
- (RTCDataChannel *)dataChannelForLabel:(NSString *)label
|
||||
configuration:(RTCDataChannelConfiguration *)configuration;
|
||||
- (nullable RTCDataChannel *)dataChannelForLabel:(NSString *)label
|
||||
configuration:(RTCDataChannelConfiguration *)configuration;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@ -14,7 +14,6 @@
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class RTCAVFoundationVideoSource;
|
||||
@class RTCAudioSource;
|
||||
@class RTCAudioTrack;
|
||||
@class RTCConfiguration;
|
||||
@ -23,6 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@class RTCPeerConnection;
|
||||
@class RTCVideoSource;
|
||||
@class RTCVideoTrack;
|
||||
@class RTCPeerConnectionFactoryOptions;
|
||||
@protocol RTCPeerConnectionDelegate;
|
||||
@protocol RTCVideoDecoderFactory;
|
||||
@protocol RTCVideoEncoderFactory;
|
||||
@ -49,10 +49,6 @@ RTC_EXPORT
|
||||
- (RTCAudioTrack *)audioTrackWithSource:(RTCAudioSource *)source
|
||||
trackId:(NSString *)trackId;
|
||||
|
||||
/** Initialize an RTCAVFoundationVideoSource with constraints. */
|
||||
- (RTCAVFoundationVideoSource *)avFoundationVideoSourceWithConstraints:
|
||||
(nullable RTCMediaConstraints *)constraints;
|
||||
|
||||
/** Initialize a generic RTCVideoSource. The RTCVideoSource should be passed to a RTCVideoCapturer
|
||||
* implementation, e.g. RTCCameraVideoCapturer, in order to produce frames.
|
||||
*/
|
||||
@ -75,6 +71,9 @@ RTC_EXPORT
|
||||
delegate:
|
||||
(nullable id<RTCPeerConnectionDelegate>)delegate;
|
||||
|
||||
/** Set the options to be used for subsequently created RTCPeerConnections */
|
||||
- (void)setOptions:(nonnull RTCPeerConnectionFactoryOptions *)options;
|
||||
|
||||
/** Start an AecDump recording. This API call will likely change in the future. */
|
||||
- (BOOL)startAecDumpWithFilePath:(NSString *)filePath
|
||||
maxSizeInBytes:(int64_t)maxSizeInBytes;
|
||||
|
||||
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2017 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 RTCPeerConnectionFactoryOptions : NSObject
|
||||
|
||||
@property(nonatomic, assign) BOOL disableEncryption;
|
||||
|
||||
@property(nonatomic, assign) BOOL disableNetworkMonitor;
|
||||
|
||||
@property(nonatomic, assign) BOOL ignoreLoopbackNetworkAdapter;
|
||||
|
||||
@property(nonatomic, assign) BOOL ignoreVPNNetworkAdapter;
|
||||
|
||||
@property(nonatomic, assign) BOOL ignoreCellularNetworkAdapter;
|
||||
|
||||
@property(nonatomic, assign) BOOL ignoreWiFiNetworkAdapter;
|
||||
|
||||
@property(nonatomic, assign) BOOL ignoreEthernetNetworkAdapter;
|
||||
|
||||
- (instancetype)init NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -65,7 +65,7 @@ RTC_EXPORT
|
||||
* RTCMediaStreamTrack. Use isEqual: instead of == to compare
|
||||
* RTCMediaStreamTrack instances.
|
||||
*/
|
||||
@property(nonatomic, readonly) RTCMediaStreamTrack *track;
|
||||
@property(nonatomic, readonly, nullable) RTCMediaStreamTrack *track;
|
||||
|
||||
/** The delegate for this RtpReceiver. */
|
||||
@property(nonatomic, weak) id<RTCRtpReceiverDelegate> delegate;
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <WebRTC/RTCDtmfSender.h>
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
#import <WebRTC/RTCMediaStreamTrack.h>
|
||||
#import <WebRTC/RTCRtpParameters.h>
|
||||
@ -34,6 +35,9 @@ RTC_EXPORT
|
||||
*/
|
||||
@property(nonatomic, copy, nullable) RTCMediaStreamTrack *track;
|
||||
|
||||
/** The RTCDtmfSender accociated with the RTP sender. */
|
||||
@property(nonatomic, readonly, nullable) id<RTCDtmfSender> dtmfSender;
|
||||
|
||||
@end
|
||||
|
||||
RTC_EXPORT
|
||||
|
||||
128
Build/iOS/WebRTC.framework/Headers/RTCRtpTransceiver.h
Normal file
128
Build/iOS/WebRTC.framework/Headers/RTCRtpTransceiver.h
Normal file
@ -0,0 +1,128 @@
|
||||
/*
|
||||
* Copyright 2018 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/RTCRtpReceiver.h>
|
||||
#import <WebRTC/RTCRtpSender.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/** https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiverdirection */
|
||||
typedef NS_ENUM(NSInteger, RTCRtpTransceiverDirection) {
|
||||
RTCRtpTransceiverDirectionSendRecv,
|
||||
RTCRtpTransceiverDirectionSendOnly,
|
||||
RTCRtpTransceiverDirectionRecvOnly,
|
||||
RTCRtpTransceiverDirectionInactive,
|
||||
};
|
||||
|
||||
/** Structure for initializing an RTCRtpTransceiver in a call to
|
||||
* RTCPeerConnection.addTransceiver.
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiverinit
|
||||
*/
|
||||
@interface RTCRtpTransceiverInit : NSObject
|
||||
|
||||
/** Direction of the RTCRtpTransceiver. See RTCRtpTransceiver.direction. */
|
||||
@property(nonatomic) RTCRtpTransceiverDirection direction;
|
||||
|
||||
/** The added RTCRtpTransceiver will be added to these streams. */
|
||||
@property(nonatomic) NSArray<NSString *> *streamLabels;
|
||||
|
||||
/** TODO(bugs.webrtc.org/7600): Not implemented. */
|
||||
@property(nonatomic) NSArray<RTCRtpEncodingParameters *> *sendEncodings;
|
||||
|
||||
@end
|
||||
|
||||
@class RTCRtpTransceiver;
|
||||
|
||||
/** The RTCRtpTransceiver maps to the RTCRtpTransceiver defined by the WebRTC
|
||||
* specification. A transceiver represents a combination of an RTCRtpSender
|
||||
* and an RTCRtpReceiver that share a common mid. As defined in JSEP, an
|
||||
* RTCRtpTransceiver is said to be associated with a media description if its
|
||||
* mid property is non-nil; otherwise, it is said to be disassociated.
|
||||
* JSEP: https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24
|
||||
*
|
||||
* Note that RTCRtpTransceivers are only supported when using
|
||||
* RTCPeerConnection with Unified Plan SDP.
|
||||
*
|
||||
* WebRTC specification for RTCRtpTransceiver, the JavaScript analog:
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver
|
||||
*/
|
||||
RTC_EXPORT
|
||||
@protocol RTCRtpTransceiver <NSObject>
|
||||
|
||||
/** Media type of the transceiver. The sender and receiver will also have this
|
||||
* type.
|
||||
*/
|
||||
@property(nonatomic, readonly) RTCRtpMediaType mediaType;
|
||||
|
||||
/** The mid attribute is the mid negotiated and present in the local and
|
||||
* remote descriptions. Before negotiation is complete, the mid value may be
|
||||
* nil. After rollbacks, the value may change from a non-nil value to nil.
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-mid
|
||||
*/
|
||||
@property(nonatomic, readonly) NSString *mid;
|
||||
|
||||
/** The sender attribute exposes the RTCRtpSender corresponding to the RTP
|
||||
* media that may be sent with the transceiver's mid. The sender is always
|
||||
* present, regardless of the direction of media.
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-sender
|
||||
*/
|
||||
@property(nonatomic, readonly) RTCRtpSender *sender;
|
||||
|
||||
/** The receiver attribute exposes the RTCRtpReceiver corresponding to the RTP
|
||||
* media that may be received with the transceiver's mid. The receiver is
|
||||
* always present, regardless of the direction of media.
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-receiver
|
||||
*/
|
||||
@property(nonatomic, readonly) RTCRtpReceiver *receiver;
|
||||
|
||||
/** The isStopped attribute indicates that the sender of this transceiver will
|
||||
* no longer send, and that the receiver will no longer receive. It is true if
|
||||
* either stop has been called or if setting the local or remote description
|
||||
* has caused the RTCRtpTransceiver to be stopped.
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stopped
|
||||
*/
|
||||
@property(nonatomic, readonly) BOOL isStopped;
|
||||
|
||||
/** The direction attribute indicates the preferred direction of this
|
||||
* transceiver, which will be used in calls to createOffer and createAnswer.
|
||||
* An update of directionality does not take effect immediately. Instead,
|
||||
* future calls to createOffer and createAnswer mark the corresponding media
|
||||
* descriptions as sendrecv, sendonly, recvonly, or inactive.
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction
|
||||
*/
|
||||
@property(nonatomic) RTCRtpTransceiverDirection direction;
|
||||
|
||||
/** The currentDirection attribute indicates the current direction negotiated
|
||||
* for this transceiver. If this transceiver has never been represented in an
|
||||
* offer/answer exchange, or if the transceiver is stopped, the value is not
|
||||
* present and this method returns NO.
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-currentdirection
|
||||
*/
|
||||
- (BOOL)currentDirection:(RTCRtpTransceiverDirection *)currentDirectionOut;
|
||||
|
||||
/** The stop method irreversibly stops the RTCRtpTransceiver. The sender of
|
||||
* this transceiver will no longer send, the receiver will no longer receive.
|
||||
* https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stop
|
||||
*/
|
||||
- (void)stop;
|
||||
|
||||
@end
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCRtpTransceiver : NSObject <RTCRtpTransceiver>
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@ -16,5 +16,5 @@
|
||||
* Initialize and clean up the SSL library. Failure is fatal. These call the
|
||||
* corresponding functions in webrtc/rtc_base/ssladapter.h.
|
||||
*/
|
||||
RTC_EXTERN BOOL RTCInitializeSSL();
|
||||
RTC_EXTERN BOOL RTCCleanupSSL();
|
||||
RTC_EXTERN BOOL RTCInitializeSSL(void);
|
||||
RTC_EXTERN BOOL RTCCleanupSSL(void);
|
||||
|
||||
@ -12,10 +12,10 @@
|
||||
|
||||
#import <WebRTC/RTCMacros.h>
|
||||
|
||||
RTC_EXTERN void RTCSetupInternalTracer();
|
||||
RTC_EXTERN void RTCSetupInternalTracer(void);
|
||||
/** 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();
|
||||
RTC_EXTERN void RTCStopInternalCapture(void);
|
||||
RTC_EXTERN void RTCShutdownInternalTracer(void);
|
||||
|
||||
@ -15,6 +15,12 @@
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
RTC_EXPORT extern NSString *const kRTCVideoCodecVp8Name;
|
||||
RTC_EXPORT extern NSString *const kRTCVideoCodecVp9Name;
|
||||
RTC_EXPORT extern NSString *const kRTCVideoCodecH264Name;
|
||||
RTC_EXPORT extern NSString *const kRTCLevel31ConstrainedHigh;
|
||||
RTC_EXPORT extern NSString *const kRTCLevel31ConstrainedBaseline;
|
||||
|
||||
/** Represents an encoded frame's type. */
|
||||
typedef NS_ENUM(NSUInteger, RTCFrameType) {
|
||||
RTCFrameTypeEmptyFrame = 0,
|
||||
@ -84,7 +90,7 @@ typedef NS_ENUM(NSUInteger, RTCVideoCodecMode) {
|
||||
|
||||
/** Holds information to identify a codec. Corresponds to cricket::VideoCodec. */
|
||||
RTC_EXPORT
|
||||
@interface RTCVideoCodecInfo : NSObject
|
||||
@interface RTCVideoCodecInfo : NSObject <NSCoding>
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
|
||||
@ -142,7 +148,7 @@ RTC_EXPORT
|
||||
numberOfCores:(int)numberOfCores;
|
||||
- (NSInteger)releaseEncoder;
|
||||
- (NSInteger)encode:(RTCVideoFrame *)frame
|
||||
codecSpecificInfo:(id<RTCCodecSpecificInfo>)info
|
||||
codecSpecificInfo:(nullable id<RTCCodecSpecificInfo>)info
|
||||
frameTypes:(NSArray<NSNumber *> *)frameTypes;
|
||||
- (int)setBitrate:(uint32_t)bitrateKbit framerate:(uint32_t)framerate;
|
||||
- (NSString *)implementationName;
|
||||
@ -165,7 +171,7 @@ RTC_EXPORT
|
||||
- (NSInteger)decode:(RTCEncodedImage *)encodedImage
|
||||
missingFrames:(BOOL)missingFrames
|
||||
fragmentationHeader:(RTCRtpFragmentationHeader *)fragmentationHeader
|
||||
codecSpecificInfo:(__nullable id<RTCCodecSpecificInfo>)info
|
||||
codecSpecificInfo:(nullable id<RTCCodecSpecificInfo>)info
|
||||
renderTimeMs:(int64_t)renderTimeMs;
|
||||
- (NSString *)implementationName;
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
RTC_EXPORT
|
||||
@protocol RTCVideoEncoderFactory <NSObject>
|
||||
|
||||
- (id<RTCVideoEncoder>)createEncoder:(RTCVideoCodecInfo *)info;
|
||||
- (nullable id<RTCVideoEncoder>)createEncoder:(RTCVideoCodecInfo *)info;
|
||||
- (NSArray<RTCVideoCodecInfo *> *)supportedCodecs; // TODO(andersc): "supportedFormats" instead?
|
||||
|
||||
@end
|
||||
@ -28,9 +28,27 @@ RTC_EXPORT
|
||||
RTC_EXPORT
|
||||
@protocol RTCVideoDecoderFactory <NSObject>
|
||||
|
||||
- (id<RTCVideoDecoder>)createDecoder:(RTCVideoCodecInfo *)info;
|
||||
- (nullable id<RTCVideoDecoder>)createDecoder:(RTCVideoCodecInfo *)info;
|
||||
- (NSArray<RTCVideoCodecInfo *> *)supportedCodecs; // TODO(andersc): "supportedFormats" instead?
|
||||
|
||||
@end
|
||||
|
||||
#pragma mark - Default factories
|
||||
|
||||
/** These codec factories include support for all codecs bundled with WebRTC. If using custom
|
||||
* codecs, create custom implementations of RTCVideoEncoderFactory and RTCVideoDecoderFactory.
|
||||
*/
|
||||
RTC_EXPORT
|
||||
@interface RTCDefaultVideoEncoderFactory : NSObject <RTCVideoEncoderFactory>
|
||||
|
||||
@property(nonatomic, retain) RTCVideoCodecInfo *preferredCodec;
|
||||
|
||||
+ (NSArray<RTCVideoCodecInfo *> *)supportedCodecs;
|
||||
|
||||
@end
|
||||
|
||||
RTC_EXPORT
|
||||
@interface RTCDefaultVideoDecoderFactory : NSObject <RTCVideoDecoderFactory>
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@ -72,6 +72,8 @@ RTC_EXPORT
|
||||
@property(nonatomic, readonly) int cropX;
|
||||
@property(nonatomic, readonly) int cropY;
|
||||
|
||||
+ (NSSet<NSNumber *> *)supportedPixelFormats;
|
||||
|
||||
- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer;
|
||||
- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer
|
||||
adaptedWidth:(int)adaptedWidth
|
||||
|
||||
@ -28,6 +28,11 @@ typedef NS_ENUM(NSInteger, RTCDeviceType) {
|
||||
RTCDeviceTypeIPhone6,
|
||||
RTCDeviceTypeIPhone6S,
|
||||
RTCDeviceTypeIPhone6SPlus,
|
||||
RTCDeviceTypeIPhone7,
|
||||
RTCDeviceTypeIPhone7Plus,
|
||||
RTCDeviceTypeIPhone8,
|
||||
RTCDeviceTypeIPhone8Plus,
|
||||
RTCDeviceTypeIPhoneX,
|
||||
RTCDeviceTypeIPodTouch1G,
|
||||
RTCDeviceTypeIPodTouch2G,
|
||||
RTCDeviceTypeIPodTouch3G,
|
||||
@ -58,8 +63,6 @@ typedef NS_ENUM(NSInteger, RTCDeviceType) {
|
||||
@interface UIDevice (RTCDevice)
|
||||
|
||||
+ (RTCDeviceType)deviceType;
|
||||
+ (NSString *)stringForDeviceType:(RTCDeviceType)deviceType;
|
||||
+ (BOOL)isIOS9OrLater;
|
||||
+ (BOOL)isIOS11OrLater;
|
||||
|
||||
@end
|
||||
|
||||
@ -1,36 +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.
|
||||
*/
|
||||
* Copyright 2018 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>
|
||||
#if TARGET_OS_IPHONE
|
||||
#import <WebRTC/RTCAudioSession.h>
|
||||
#import <WebRTC/RTCVideoCodec.h>
|
||||
#import <WebRTC/RTCVideoCodecFactory.h>
|
||||
#import <WebRTC/RTCAudioSessionConfiguration.h>
|
||||
#endif
|
||||
#import <WebRTC/RTCAudioSource.h>
|
||||
#import <WebRTC/RTCAudioTrack.h>
|
||||
#import <WebRTC/RTCCameraVideoCapturer.h>
|
||||
#import <WebRTC/RTCVideoCapturer.h>
|
||||
#if TARGET_OS_IPHONE
|
||||
#import <WebRTC/RTCCameraPreviewView.h>
|
||||
#endif
|
||||
#import <WebRTC/RTCConfiguration.h>
|
||||
#import <WebRTC/RTCDataChannel.h>
|
||||
#import <WebRTC/RTCDataChannelConfiguration.h>
|
||||
#import <WebRTC/RTCDispatcher.h>
|
||||
#if TARGET_OS_IPHONE
|
||||
#import <WebRTC/RTCEAGLVideoView.h>
|
||||
#import <WebRTC/RTCMTLVideoView.h>
|
||||
#import <WebRTC/RTCVideoViewShading.h>
|
||||
#endif
|
||||
#import <WebRTC/RTCFieldTrials.h>
|
||||
#import <WebRTC/RTCFileLogger.h>
|
||||
#import <WebRTC/RTCFileVideoCapturer.h>
|
||||
#import <WebRTC/RTCIceCandidate.h>
|
||||
#import <WebRTC/RTCIceServer.h>
|
||||
#import <WebRTC/RTCIntervalRange.h>
|
||||
@ -45,22 +37,29 @@
|
||||
#import <WebRTC/RTCMetricsSampleInfo.h>
|
||||
#import <WebRTC/RTCPeerConnection.h>
|
||||
#import <WebRTC/RTCPeerConnectionFactory.h>
|
||||
#import <WebRTC/RTCPeerConnectionFactoryOptions.h>
|
||||
#import <WebRTC/RTCRtpCodecParameters.h>
|
||||
#import <WebRTC/RTCRtpEncodingParameters.h>
|
||||
#import <WebRTC/RTCRtpParameters.h>
|
||||
#import <WebRTC/RTCRtpReceiver.h>
|
||||
#import <WebRTC/RTCRtpSender.h>
|
||||
#import <WebRTC/RTCRtpTransceiver.h>
|
||||
#import <WebRTC/RTCDtmfSender.h>
|
||||
#import <WebRTC/RTCSSLAdapter.h>
|
||||
#import <WebRTC/RTCSessionDescription.h>
|
||||
#import <WebRTC/RTCTracing.h>
|
||||
#import <WebRTC/RTCVideoCodec.h>
|
||||
#import <WebRTC/RTCVideoCodecFactory.h>
|
||||
#import <WebRTC/RTCVideoCapturer.h>
|
||||
#import <WebRTC/RTCVideoCodecH264.h>
|
||||
#import <WebRTC/RTCVideoFrame.h>
|
||||
#import <WebRTC/RTCVideoFrameBuffer.h>
|
||||
#import <WebRTC/RTCVideoRenderer.h>
|
||||
#import <WebRTC/RTCVideoSource.h>
|
||||
#import <WebRTC/RTCVideoTrack.h>
|
||||
#if TARGET_OS_IPHONE
|
||||
#import <WebRTC/RTCVideoViewShading.h>
|
||||
#import <WebRTC/UIDevice+RTCDevice.h>
|
||||
#endif
|
||||
#import <WebRTC/RTCVideoDecoderVP8.h>
|
||||
#import <WebRTC/RTCVideoDecoderVP9.h>
|
||||
#import <WebRTC/RTCVideoEncoderVP8.h>
|
||||
#import <WebRTC/RTCVideoEncoderVP9.h>
|
||||
#import <WebRTC/RTCCallbackLogger.h>
|
||||
#import <WebRTC/RTCFileLogger.h>
|
||||
|
||||
Binary file not shown.
@ -36,10 +36,6 @@ party licenses. Paths to the files and associated licenses are collected here.
|
||||
Files governed by third party licenses:
|
||||
base/base64.cc
|
||||
base/base64.h
|
||||
base/md5.cc
|
||||
base/md5.h
|
||||
base/sha1.cc
|
||||
base/sha1.h
|
||||
base/sigslot.cc
|
||||
base/sigslot.h
|
||||
common_audio/fft4g.c
|
||||
@ -81,34 +77,6 @@ License:
|
||||
//*********************************************************************
|
||||
-------------------------------------------------------------------------------
|
||||
Files:
|
||||
base/md5.cc
|
||||
base/md5.h
|
||||
|
||||
License:
|
||||
/*
|
||||
* This code implements the MD5 message-digest algorithm.
|
||||
* The algorithm is due to Ron Rivest. This code was
|
||||
* written by Colin Plumb in 1993, no copyright is claimed.
|
||||
* This code is in the public domain; do with it what you wish.
|
||||
*
|
||||
-------------------------------------------------------------------------------
|
||||
Files:
|
||||
base/sha1.cc
|
||||
base/sha1.h
|
||||
|
||||
License:
|
||||
/*
|
||||
* SHA-1 in C
|
||||
* By Steve Reid <sreid@sea-to-sky.net>
|
||||
* 100% Public Domain
|
||||
*
|
||||
* -----------------
|
||||
* Modified 7/98
|
||||
* By James H. Brown <jbrown@burgoyne.com>
|
||||
* Still 100% Public Domain
|
||||
*
|
||||
-------------------------------------------------------------------------------
|
||||
Files:
|
||||
base/sigslot.cc
|
||||
base/sigslot.h
|
||||
|
||||
@ -500,8 +468,9 @@ license. This license is reproduced at the bottom of this file.
|
||||
Contributors to BoringSSL are required to follow the CLA rules for Chromium:
|
||||
https://cla.developers.google.com/clas
|
||||
|
||||
Some files from Intel are under yet another license, which is also included
|
||||
underneath.
|
||||
Files in third_party/ have their own licenses, as described therein. The MIT
|
||||
license, for third_party/fiat, which, unlike other third_party directories, is
|
||||
compiled into non-test libraries, is included below.
|
||||
|
||||
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the
|
||||
OpenSSL License and the original SSLeay license apply to the toolkit. See below
|
||||
@ -651,40 +620,55 @@ ISC license used for completely new code in BoringSSL:
|
||||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
|
||||
|
||||
|
||||
Some files from Intel carry the following license:
|
||||
The code in third_party/fiat carries the MIT license:
|
||||
|
||||
# Copyright (c) 2012, Intel Corporation
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
#
|
||||
# * Neither the name of the Intel Corporation nor the names of its
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION ""AS IS"" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL CORPORATION OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
Copyright (c) 2015-2016 the fiat-crypto authors (see
|
||||
https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS).
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
```
|
||||
|
||||
# fiat
|
||||
```
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2016 the fiat-crypto authors (see
|
||||
https://github.com/mit-plv/fiat-crypto/blob/master/AUTHORS).
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
```
|
||||
|
||||
@ -929,3 +913,57 @@ SUCH DAMAGE.
|
||||
|
||||
```
|
||||
|
||||
# zlib
|
||||
```
|
||||
Copyright (c) 2011, The WebRTC project authors. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
* Neither the name of Google nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
version 1.2.11, January 15th, 2017
|
||||
|
||||
Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
```
|
||||
|
||||
|
||||
Binary file not shown.
@ -1,35 +0,0 @@
|
||||
## WebRTC Build Details
|
||||
|
||||
To track down potential future issues, we log some of our build environment details.
|
||||
|
||||
webrtc git branch:
|
||||
(HEAD detached at dc5904661)
|
||||
|
||||
webrtc git sha:
|
||||
dc5904661c4c8b357e19595d80b2881db3f4a71b
|
||||
|
||||
build_script git sha:
|
||||
2a793074f4cfd6f9ed121724b52963de68134372
|
||||
|
||||
xcodebuild -version:
|
||||
Xcode 9.2
|
||||
Build version 9C40b
|
||||
|
||||
xcode-select -p:
|
||||
/Applications/Xcode.app/Contents/Developer
|
||||
|
||||
gcc -v:
|
||||
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
|
||||
Apple LLVM version 9.0.0 (clang-900.0.39.2)
|
||||
Target: x86_64-apple-darwin16.7.0
|
||||
Thread model: posix
|
||||
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
|
||||
|
||||
osx_version_details:
|
||||
ProductName: Mac OS X
|
||||
ProductVersion: 10.12.6
|
||||
BuildVersion: 16G1212
|
||||
|
||||
hostname:
|
||||
oak.local
|
||||
|
||||
Loading…
Reference in New Issue
Block a user