Skip to content
This repository has been archived by the owner on Feb 12, 2022. It is now read-only.

Commit

Permalink
Update WebRTC to M61+Signal
Browse files Browse the repository at this point in the history
// FREEBIE
  • Loading branch information
michaelkirk committed Oct 5, 2017
1 parent c9f5152 commit a3eede2
Show file tree
Hide file tree
Showing 15 changed files with 86 additions and 104 deletions.
9 changes: 5 additions & 4 deletions Build/iOS/WebRTC.framework/Headers/RTCCameraVideoCapturer.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
*/

#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>

#import <WebRTC/RTCMacros.h>
#import <WebRTC/RTCVideoCapturer.h>
Expand All @@ -20,6 +21,9 @@ RTC_EXPORT
// (usually RTCVideoSource).
@interface RTCCameraVideoCapturer : RTCVideoCapturer

// Capture session that is used for capturing. Valid from initialization to dealloc.
@property(readonly, nonatomic) AVCaptureSession *captureSession;

// Returns list of available capture devices that support video capture.
+ (NSArray<AVCaptureDevice *> *)captureDevices;
// Returns list of formats that are supported by this class for this device.
Expand All @@ -28,13 +32,10 @@ RTC_EXPORT
// Starts and stops the capture session asynchronously.
- (void)startCaptureWithDevice:(AVCaptureDevice *)device
format:(AVCaptureDeviceFormat *)format
fps:(int)fps;
fps:(NSInteger)fps;
// Stops the capture session asynchronously.
- (void)stopCapture;

// Capture session that is used for capturing. Valid from initialization to dealloc.
@property(readonly, nonatomic) AVCaptureSession *captureSession;

@end

NS_ASSUME_NONNULL_END
8 changes: 8 additions & 0 deletions Build/iOS/WebRTC.framework/Headers/RTCConfiguration.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#import <WebRTC/RTCMacros.h>

@class RTCIceServer;
@class RTCIntervalRange;

/**
* Represents the ice transport policy. This exposes the same states in C++,
Expand Down Expand Up @@ -109,6 +110,13 @@ RTC_EXPORT
*/
@property(nonatomic, copy, nullable) NSNumber *iceCheckMinInterval;

/** ICE Periodic Regathering
* If set, WebRTC will periodically create and propose candidates without
* starting a new ICE generation. The regathering happens continuously with
* interval specified in milliseconds by the uniform distribution [a, b].
*/
@property(nonatomic, strong, nullable) RTCIntervalRange *iceRegatherIntervalRange;

- (instancetype)init;

@end
Expand Down
5 changes: 5 additions & 0 deletions Build/iOS/WebRTC.framework/Headers/RTCDispatcher.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,9 @@ RTC_EXPORT
+ (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType
block:(dispatch_block_t)block;

/** Returns YES if run on queue for the dispatchType otherwise NO.
* Useful for asserting that a method is run on a correct queue.
*/
+ (BOOL)isOnQueueForType:(RTCDispatcherQueueType)dispatchType;

@end
9 changes: 8 additions & 1 deletion Build/iOS/WebRTC.framework/Headers/RTCEAGLVideoView.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

#import <WebRTC/RTCMacros.h>
#import <WebRTC/RTCVideoRenderer.h>
#import <WebRTC/RTCVideoViewShading.h>

NS_ASSUME_NONNULL_BEGIN

Expand All @@ -26,13 +27,19 @@ RTC_EXPORT

/**
* RTCEAGLVideoView is an RTCVideoRenderer which renders video frames in its
* bounds using OpenGLES 2.0.
* bounds using OpenGLES 2.0 or OpenGLES 3.0.
*/
RTC_EXPORT
@interface RTCEAGLVideoView : UIView <RTCVideoRenderer>

@property(nonatomic, weak) id<RTCEAGLVideoViewDelegate> delegate;

- (instancetype)initWithFrame:(CGRect)frame
shader:(id<RTCVideoViewShading>)shader NS_DESIGNATED_INITIALIZER;

- (instancetype)initWithCoder:(NSCoder *)aDecoder
shader:(id<RTCVideoViewShading>)shader NS_DESIGNATED_INITIALIZER;

@end

NS_ASSUME_NONNULL_END
1 change: 1 addition & 0 deletions Build/iOS/WebRTC.framework/Headers/RTCFieldTrials.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03AdvertisedKey;
RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03Key;
RTC_EXTERN NSString * const kRTCFieldTrialImprovedBitrateEstimateKey;
RTC_EXTERN NSString * const kRTCFieldTrialH264HighProfileKey;
RTC_EXTERN NSString * const kRTCFieldTrialMinimizeResamplingOnMobileKey;

/** The valid value for field trials above. */
RTC_EXTERN NSString * const kRTCFieldTrialEnabledValue;
Expand Down
18 changes: 17 additions & 1 deletion Build/iOS/WebRTC.framework/Headers/RTCIceServer.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ RTC_EXPORT
*/
@property(nonatomic, readonly) RTCTlsCertPolicy tlsCertPolicy;

/**
If the URIs in |urls| only contain IP addresses, this field can be used
to indicate the hostname, which may be necessary for TLS (using the SNI
extension). If |urls| itself contains the hostname, this isn't necessary.
*/
@property(nonatomic, readonly, nullable) NSString *hostname;

- (nonnull instancetype)init NS_UNAVAILABLE;

/** Convenience initializer for a server with no authentication (e.g. STUN). */
Expand All @@ -53,11 +60,20 @@ RTC_EXPORT
* Initialize an RTCIceServer with its associated URLs, optional username,
* optional credential, and TLS cert policy.
*/
- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings
username:(nullable NSString *)username
credential:(nullable NSString *)credential
tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy;

/**
* Initialize an RTCIceServer with its associated URLs, optional username,
* optional credential, TLS cert policy and hostname.
*/
- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urlStrings
username:(nullable NSString *)username
credential:(nullable NSString *)credential
tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy
NS_DESIGNATED_INITIALIZER;
hostname:(nullable NSString *)hostname NS_DESIGNATED_INITIALIZER;

@end

Expand Down
2 changes: 2 additions & 0 deletions Build/iOS/WebRTC.framework/Headers/RTCMTLVideoView.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ NS_ASSUME_NONNULL_BEGIN
*
* 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)

Expand Down
6 changes: 3 additions & 3 deletions Build/iOS/WebRTC.framework/Headers/RTCMacros.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
* 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_
#ifndef WEBRTC_SDK_OBJC_FRAMEWORK_HEADERS_WEBRTC_RTCMACROS_H_
#define WEBRTC_SDK_OBJC_FRAMEWORK_HEADERS_WEBRTC_RTCMACROS_H_

#define RTC_EXPORT __attribute__((visibility("default")))

Expand All @@ -25,4 +25,4 @@
#define RTC_FWD_DECL_OBJC_CLASS(classname) typedef struct objc_object classname
#endif

#endif // WEBRTC_BASE_OBJC_RTC_MACROS_H_
#endif // WEBRTC_SDK_OBJC_FRAMEWORK_HEADERS_WEBRTC_RTCMACROS_H_
8 changes: 8 additions & 0 deletions Build/iOS/WebRTC.framework/Headers/RTCMediaConstraints.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

NS_ASSUME_NONNULL_BEGIN

/** Constraint keys for media sources. */
RTC_EXTERN NSString * const kRTCMediaConstraintsMinAspectRatio;
RTC_EXTERN NSString * const kRTCMediaConstraintsMaxAspectRatio;
RTC_EXTERN NSString * const kRTCMediaConstraintsMaxWidth;
Expand All @@ -28,6 +29,13 @@ RTC_EXTERN NSString * const kRTCMediaConstraintsLevelControl;
*/
RTC_EXTERN NSString * const kRTCMediaConstraintsAudioNetworkAdaptorConfig;

/** Constraint keys for generating offers and answers. */
RTC_EXTERN NSString * const kRTCMediaConstraintsIceRestart;
RTC_EXTERN NSString * const kRTCMediaConstraintsOfferToReceiveAudio;
RTC_EXTERN NSString * const kRTCMediaConstraintsOfferToReceiveVideo;
RTC_EXTERN NSString * const kRTCMediaConstraintsVoiceActivityDetection;

/** Constraint values for Boolean parameters. */
RTC_EXTERN NSString * const kRTCMediaConstraintsValueTrue;
RTC_EXTERN NSString * const kRTCMediaConstraintsValueFalse;

Expand Down
2 changes: 1 addition & 1 deletion Build/iOS/WebRTC.framework/Headers/RTCSSLAdapter.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

/**
* Initialize and clean up the SSL library. Failure is fatal. These call the
* corresponding functions in webrtc/base/ssladapter.h.
* corresponding functions in webrtc/rtc_base/ssladapter.h.
*/
RTC_EXTERN BOOL RTCInitializeSSL();
RTC_EXTERN BOOL RTCCleanupSSL();
35 changes: 26 additions & 9 deletions Build/iOS/WebRTC.framework/Headers/RTCVideoFrame.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ typedef NS_ENUM(NSInteger, RTCVideoRotation) {
RTCVideoRotation_270 = 270,
};

@protocol RTCVideoFrameBuffer;

// RTCVideoFrame is an ObjectiveC version of webrtc::VideoFrame.
RTC_EXPORT
@interface RTCVideoFrame : NSObject
Expand All @@ -36,27 +38,35 @@ RTC_EXPORT
* is null. It is always possible to get such a frame by calling
* newI420VideoFrame.
*/
@property(nonatomic, readonly, nullable) const uint8_t *dataY;
@property(nonatomic, readonly, nullable) const uint8_t *dataU;
@property(nonatomic, readonly, nullable) const uint8_t *dataV;
@property(nonatomic, readonly) int strideY;
@property(nonatomic, readonly) int strideU;
@property(nonatomic, readonly) int strideV;
@property(nonatomic, readonly, nullable)
const uint8_t *dataY DEPRECATED_MSG_ATTRIBUTE("use [buffer toI420]");
@property(nonatomic, readonly, nullable)
const uint8_t *dataU DEPRECATED_MSG_ATTRIBUTE("use [buffer toI420]");
@property(nonatomic, readonly, nullable)
const uint8_t *dataV DEPRECATED_MSG_ATTRIBUTE("use [buffer toI420]");
@property(nonatomic, readonly) int strideY DEPRECATED_MSG_ATTRIBUTE("use [buffer toI420]");
@property(nonatomic, readonly) int strideU DEPRECATED_MSG_ATTRIBUTE("use [buffer toI420]");
@property(nonatomic, readonly) int strideV DEPRECATED_MSG_ATTRIBUTE("use [buffer toI420]");

/** Timestamp in nanoseconds. */
@property(nonatomic, readonly) int64_t timeStampNs;

/** The native handle should be a pixel buffer on iOS. */
@property(nonatomic, readonly) CVPixelBufferRef nativeHandle;
@property(nonatomic, readonly)
CVPixelBufferRef nativeHandle DEPRECATED_MSG_ATTRIBUTE("use buffer instead");

@property(nonatomic, readonly) id<RTCVideoFrameBuffer> buffer;

- (instancetype)init NS_UNAVAILABLE;
- (instancetype)new NS_UNAVAILABLE;

/** Initialize an RTCVideoFrame from a pixel buffer, rotation, and timestamp.
* Deprecated - initialize with a RTCCVPixelBuffer instead
*/
- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer
rotation:(RTCVideoRotation)rotation
timeStampNs:(int64_t)timeStampNs;
timeStampNs:(int64_t)timeStampNs
DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead");

/** Initialize an RTCVideoFrame from a pixel buffer combined with cropping and
* scaling. Cropping will be applied first on the pixel buffer, followed by
Expand All @@ -70,7 +80,14 @@ RTC_EXPORT
cropX:(int)cropX
cropY:(int)cropY
rotation:(RTCVideoRotation)rotation
timeStampNs:(int64_t)timeStampNs;
timeStampNs:(int64_t)timeStampNs
DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead");

/** Initialize an RTCVideoFrame from a frame buffer, rotation, and timestamp.
*/
- (instancetype)initWithBuffer:(id<RTCVideoFrameBuffer>)frameBuffer
rotation:(RTCVideoRotation)rotation
timeStampNs:(int64_t)timeStampNs;

/** Return a frame that is guaranteed to be I420, i.e. it is possible to access
* the YUV data on it.
Expand Down
1 change: 1 addition & 0 deletions Build/iOS/WebRTC.framework/Headers/WebRTC.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#import <WebRTC/RTCFileLogger.h>
#import <WebRTC/RTCIceCandidate.h>
#import <WebRTC/RTCIceServer.h>
#import <WebRTC/RTCIntervalRange.h>
#import <WebRTC/RTCLegacyStatsReport.h>
#import <WebRTC/RTCLogging.h>
#import <WebRTC/RTCMacros.h>
Expand Down
Binary file modified Build/iOS/WebRTC.framework/Info.plist
Binary file not shown.
86 changes: 1 addition & 85 deletions Build/iOS/WebRTC.framework/LICENSE.html
Original file line number Diff line number Diff line change
Expand Up @@ -696,96 +696,12 @@
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

</pre>
<p>expat<br/></p>
<pre>
Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper
Copyright (c) 2001-2016 Expat maintainers

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
&quot;Software&quot;), 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 &quot;AS IS&quot;, 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.

</pre>
<p>jsoncpp<br/></p>
<pre>
The JsonCpp library's source code, including accompanying documentation,
tests and demonstration applications, are licensed under the following
conditions...

The author (Baptiste Lepilleur) explicitly disclaims copyright in all
jurisdictions which recognize such a disclaimer. In such jurisdictions,
this software is released into the Public Domain.

In jurisdictions which do not recognize Public Domain property (e.g. Germany as of
2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is
released under the terms of the MIT License (see below).

In jurisdictions which recognize Public Domain property, the user of this
software may choose to accept it either as 1) Public Domain, 2) under the
conditions of the MIT License (see below), or 3) under the terms of dual
Public Domain/MIT License conditions described here, as they choose.

The MIT License is about as close to Public Domain as a license can get, and is
described in clear, concise terms at:

http://en.wikipedia.org/wiki/MIT_License

The full text of the MIT License follows:

========================================================================
Copyright (c) 2007-2010 Baptiste Lepilleur

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the &quot;Software&quot;), 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 &quot;AS IS&quot;, 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.
========================================================================
(END LICENSE TEXT)

The MIT license is compatible with both the GPL and commercial
software, affording one all of the rights of Public Domain with the
minor nuisance of being required to keep the above copyright notice
and license text in the source code. Note also that by accepting the
Public Domain &quot;license&quot; you can re-license your copy using whatever
license you like.

</pre>
<p>libsrtp<br/></p>
<pre>
/*
*
* Copyright (c) 2001-2006 Cisco Systems, Inc.
* Copyright (c) 2001-2017 Cisco Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
Expand Down
Binary file modified Build/iOS/WebRTC.framework/WebRTC
Binary file not shown.

0 comments on commit a3eede2

Please sign in to comment.