Skip to content
This repository has been archived by the owner on Sep 4, 2019. It is now read-only.

Commit

Permalink
58.17.16937 release
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexey committed Apr 13, 2017
1 parent 876d97a commit 24110b6
Show file tree
Hide file tree
Showing 14 changed files with 189 additions and 37 deletions.
7 changes: 7 additions & 0 deletions WebRTC.framework/Headers/RTCAudioSource.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ RTC_EXPORT

- (instancetype)init NS_UNAVAILABLE;

// Sets the volume for the RTCMediaSource. |volume] is a gain value in the range
// [0, 10].
// Temporary fix to be able to modify volume of remote audio tracks
// TODO: property stays here temporarily until a proper volume-api is avaialble
// on the surface exposed by webrtc
@property(nonatomic, assign) double volume;

@end

NS_ASSUME_NONNULL_END
5 changes: 5 additions & 0 deletions WebRTC.framework/Headers/RTCConfiguration.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,11 @@ RTC_EXPORT
*/
@property(nonatomic, assign) BOOL shouldPresumeWritableWhenFullyRelayed;

/** If set to non-nil, controls the minimal interval between consecutive ICE
* check packets.
*/
@property(nonatomic, copy, nullable) NSNumber *iceCheckMinInterval;

- (instancetype)init NS_DESIGNATED_INITIALIZER;

@end
Expand Down
7 changes: 7 additions & 0 deletions WebRTC.framework/Headers/RTCFieldTrials.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,20 @@

/** The only valid value for the following if set is kRTCFieldTrialEnabledValue. */
RTC_EXTERN NSString * const kRTCFieldTrialAudioSendSideBweKey;
RTC_EXTERN NSString * const kRTCFieldTrialSendSideBweWithOverheadKey;
RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03AdvertisedKey;
RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03Key;
RTC_EXTERN NSString * const kRTCFieldTrialImprovedBitrateEstimateKey;
RTC_EXTERN NSString * const kRTCFieldTrialH264HighProfileKey;

/** The valid value for field trials above. */
RTC_EXTERN NSString * const kRTCFieldTrialEnabledValue;

/** Use a string returned by RTCFieldTrialMedianSlopeFilterValue as the value. */
RTC_EXTERN NSString * const kRTCFieldTrialMedianSlopeFilterKey;
RTC_EXTERN NSString *RTCFieldTrialMedianSlopeFilterValue(
size_t windowSize, double thresholdGain);

/** Use a string returned by RTCFieldTrialTrendlineFilterValue as the value. */
RTC_EXTERN NSString * const kRTCFieldTrialTrendlineFilterKey;
/** Returns a valid value for kRTCFieldTrialTrendlineFilterKey. */
Expand Down
3 changes: 3 additions & 0 deletions WebRTC.framework/Headers/RTCIceCandidate.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ RTC_EXPORT
/** The SDP string for this candidate. */
@property(nonatomic, readonly) NSString *sdp;

/** The URL of the ICE server which this candidate is gathered from. */
@property(nonatomic, readonly, nullable) NSString *serverUrl;

- (instancetype)init NS_UNAVAILABLE;

/**
Expand Down
19 changes: 19 additions & 0 deletions WebRTC.framework/Headers/RTCIceServer.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@

#import <WebRTC/RTCMacros.h>

typedef NS_ENUM(NSUInteger, RTCTlsCertPolicy) {
RTCTlsCertPolicySecure,
RTCTlsCertPolicyInsecureNoCheck
};

NS_ASSUME_NONNULL_BEGIN

RTC_EXPORT
Expand All @@ -26,6 +31,11 @@ RTC_EXPORT
/** Credential to use if this RTCIceServer object is a TURN server. */
@property(nonatomic, readonly, nullable) NSString *credential;

/**
* TLS certificate policy to use if this RTCIceServer object is a TURN server.
*/
@property(nonatomic, readonly) RTCTlsCertPolicy tlsCertPolicy;

- (nonnull instancetype)init NS_UNAVAILABLE;

/** Convenience initializer for a server with no authentication (e.g. STUN). */
Expand All @@ -35,9 +45,18 @@ RTC_EXPORT
* 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;

/**
* 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
NS_DESIGNATED_INITIALIZER;

@end
Expand Down
28 changes: 28 additions & 0 deletions WebRTC.framework/Headers/RTCMTLVideoView.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* 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"

NS_ASSUME_NONNULL_BEGIN
RTC_EXPORT

/**
* RTCMTLVideoView is thin wrapper around MTKView.
*
* It has id<RTCVideoRenderer> property that renders video frames in the view's
* bounds using Metal.
*/
NS_CLASS_AVAILABLE_IOS(9)
@interface RTCMTLVideoView : UIView <RTCVideoRenderer>

@end
NS_ASSUME_NONNULL_END
4 changes: 4 additions & 0 deletions WebRTC.framework/Headers/RTCMediaConstraints.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ RTC_EXTERN NSString * const kRTCMediaConstraintsMinHeight;
RTC_EXTERN NSString * const kRTCMediaConstraintsMaxFrameRate;
RTC_EXTERN NSString * const kRTCMediaConstraintsMinFrameRate;
RTC_EXTERN NSString * const kRTCMediaConstraintsLevelControl;
/** The value for this key should be a base64 encoded string containing
* the data from the serialized configuration proto.
*/
RTC_EXTERN NSString * const kRTCMediaConstraintsAudioNetworkAdaptorConfig;

RTC_EXTERN NSString * const kRTCMediaConstraintsValueTrue;
RTC_EXTERN NSString * const kRTCMediaConstraintsValueFalse;
Expand Down
53 changes: 32 additions & 21 deletions WebRTC.framework/Headers/RTCRtpCodecParameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,22 @@

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 kRTCFlexfecCodecMimeType;
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;
RTC_EXTERN const NSString * const kRTCRtxCodecName;
RTC_EXTERN const NSString * const kRTCRedCodecName;
RTC_EXTERN const NSString * const kRTCUlpfecCodecName;
RTC_EXTERN const NSString * const kRTCFlexfecCodecName;
RTC_EXTERN const NSString * const kRTCOpusCodecName;
RTC_EXTERN const NSString * const kRTCIsacCodecName;
RTC_EXTERN const NSString * const kRTCL16CodecName;
RTC_EXTERN const NSString * const kRTCG722CodecName;
RTC_EXTERN const NSString * const kRTCIlbcCodecName;
RTC_EXTERN const NSString * const kRTCPcmuCodecName;
RTC_EXTERN const NSString * const kRTCPcmaCodecName;
RTC_EXTERN const NSString * const kRTCDtmfCodecName;
RTC_EXTERN const NSString * const kRTCComfortNoiseCodecName;
RTC_EXTERN const NSString * const kRTCVp8CodecName;
RTC_EXTERN const NSString * const kRTCVp9CodecName;
RTC_EXTERN const NSString * const kRTCH264CodecName;

/** Defined in http://w3c.github.io/webrtc-pc/#idl-def-RTCRtpCodecParameters */
RTC_EXPORT
Expand All @@ -39,18 +39,29 @@ RTC_EXPORT
@property(nonatomic, assign) int payloadType;

/**
* The codec MIME type. Valid types are listed in:
* The codec MIME subtype. 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;
@property(nonatomic, readonly, nonnull) NSString *name;

/**
* The media type of this codec. Equivalent to MIME top-level type.
*
* Valid values are kRTCMediaStreamTrackKindAudio and
* kRTCMediaStreamTrackKindVideo.
*/
@property(nonatomic, readonly, nonnull) NSString *kind;

/** The codec clock rate expressed in Hertz. */
@property(nonatomic, assign) int clockRate;
@property(nonatomic, readonly, nullable) NSNumber *clockRate;

/** The number of channels (mono=1, stereo=2). */
@property(nonatomic, assign) int channels;
/**
* The number of channels (mono=1, stereo=2).
* Set to null for video codecs.
**/
@property(nonatomic, readonly, nullable) NSNumber *numChannels;

- (instancetype)init NS_DESIGNATED_INITIALIZER;

Expand Down
32 changes: 32 additions & 0 deletions WebRTC.framework/Headers/RTCRtpReceiver.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,35 @@

NS_ASSUME_NONNULL_BEGIN

/** Represents the media type of the RtpReceiver. */
typedef NS_ENUM(NSInteger, RTCRtpMediaType) {
RTCRtpMediaTypeAudio,
RTCRtpMediaTypeVideo,
RTCRtpMediaTypeData,
};

@class RTCRtpReceiver;

RTC_EXPORT
@protocol RTCRtpReceiverDelegate <NSObject>

/** Called when the first RTP packet is received.
*
* Note: Currently if there are multiple RtpReceivers of the same media type,
* they will all call OnFirstPacketReceived at once.
*
* For example, if we create three audio receivers, A/B/C, they will listen to
* the same signal from the underneath network layer. Whenever the first audio packet
* is received, the underneath signal will be fired. All the receivers A/B/C will be
* notified and the callback of the receiver's delegate will be called.
*
* The process is the same for video receivers.
*/
- (void)rtpReceiver:(RTCRtpReceiver *)rtpReceiver
didReceiveFirstPacketForMediaType:(RTCRtpMediaType)mediaType;

@end

RTC_EXPORT
@protocol RTCRtpReceiver <NSObject>

Expand All @@ -38,6 +67,9 @@ RTC_EXPORT
*/
@property(nonatomic, readonly) RTCMediaStreamTrack *track;

/** The delegate for this RtpReceiver. */
@property(nonatomic, weak) id<RTCRtpReceiverDelegate> delegate;

@end

RTC_EXPORT
Expand Down
59 changes: 44 additions & 15 deletions WebRTC.framework/Headers/RTCVideoFrame.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,33 @@

NS_ASSUME_NONNULL_BEGIN

typedef NS_ENUM(NSInteger, RTCVideoRotation) {
RTCVideoRotation_0 = 0,
RTCVideoRotation_90 = 90,
RTCVideoRotation_180 = 180,
RTCVideoRotation_270 = 270,
};

// RTCVideoFrame is an ObjectiveC version of webrtc::VideoFrame.
RTC_EXPORT
@interface RTCVideoFrame : NSObject

/** Width without rotation applied. */
@property(nonatomic, readonly) size_t width;
@property(nonatomic, readonly) int width;

/** Height without rotation applied. */
@property(nonatomic, readonly) size_t height;
@property(nonatomic, readonly) int rotation;
@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;
@property(nonatomic, readonly) int height;
@property(nonatomic, readonly) RTCVideoRotation rotation;
/** Accessing YUV data should only be done for I420 frames, i.e. if nativeHandle
* 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;

/** Timestamp in nanoseconds. */
@property(nonatomic, readonly) int64_t timeStampNs;
Expand All @@ -42,11 +50,32 @@ RTC_EXPORT
@property(nonatomic, readonly) CVPixelBufferRef nativeHandle;

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

/** Initialize an RTCVideoFrame from a pixel buffer, rotation, and timestamp.
*/
- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer
rotation:(RTCVideoRotation)rotation
timeStampNs:(int64_t)timeStampNs;

/** Initialize an RTCVideoFrame from a pixel buffer combined with cropping and
* scaling. Cropping will be applied first on the pixel buffer, followed by
* scaling to the final resolution of scaledWidth x scaledHeight.
*/
- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer
scaledWidth:(int)scaledWidth
scaledHeight:(int)scaledHeight
cropWidth:(int)cropWidth
cropHeight:(int)cropHeight
cropX:(int)cropX
cropY:(int)cropY
rotation:(RTCVideoRotation)rotation
timeStampNs:(int64_t)timeStampNs;

/** If the frame is backed by a CVPixelBuffer, creates a backing i420 frame.
* Calling the yuv plane properties will call this method if needed.
/** Return a frame that is guaranteed to be I420, i.e. it is possible to access
* the YUV data on it.
*/
- (void)convertBufferIfNeeded;
- (RTCVideoFrame *)newI420VideoFrame;

@end

Expand Down
7 changes: 7 additions & 0 deletions WebRTC.framework/Headers/WebRTC.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,16 @@
#import <WebRTC/RTCAVFoundationVideoSource.h>
#import <WebRTC/RTCAudioSource.h>
#import <WebRTC/RTCAudioTrack.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>
#endif
#import <WebRTC/RTCFieldTrials.h>
#import <WebRTC/RTCFileLogger.h>
#import <WebRTC/RTCIceCandidate.h>
Expand All @@ -30,6 +34,7 @@
#import <WebRTC/RTCMediaStreamTrack.h>
#import <WebRTC/RTCMetrics.h>
#import <WebRTC/RTCMetricsSampleInfo.h>
#import <WebRTC/RTCMTLVideoView.h>
#import <WebRTC/RTCPeerConnection.h>
#import <WebRTC/RTCPeerConnectionFactory.h>
#import <WebRTC/RTCRtpCodecParameters.h>
Expand All @@ -44,4 +49,6 @@
#import <WebRTC/RTCVideoRenderer.h>
#import <WebRTC/RTCVideoSource.h>
#import <WebRTC/RTCVideoTrack.h>
#if TARGET_OS_IPHONE
#import <WebRTC/UIDevice+RTCDevice.h>
#endif
Binary file modified WebRTC.framework/Info.plist
Binary file not shown.
Binary file modified WebRTC.framework/WebRTC
Binary file not shown.
2 changes: 1 addition & 1 deletion WebRTC.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "WebRTC"
s.version = "57.5.16123"
s.version = "58.17.16937"
s.summary = "WebRTC SDK for iOS"
s.description = <<-DESC
WebRTC is a free, open project that provides browsers and mobile
Expand Down

0 comments on commit 24110b6

Please sign in to comment.