Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Ильжан
babyjitsi-ios
Commits
cd4ef2cd
Commit
cd4ef2cd
authored
Feb 09, 2021
by
Ильжан
Browse files
Initial commit
parents
Changes
496
Show whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
496 of 496+
files are displayed.
Plain diff
Email patch
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCCertificate.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCCertificate
)
:
NSObject
<
NSCopying
>
/** Private key in PEM. */
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
private_key
;
/** Public key in an x509 cert encoded in PEM. */
@property
(
nonatomic
,
readonly
,
copy
)
NSString
*
certificate
;
/**
* Initialize an RTCCertificate with PEM strings for private_key and certificate.
*/
-
(
instancetype
)
initWithPrivateKey
:(
NSString
*
)
private_key
certificate
:(
NSString
*
)
certificate
NS_DESIGNATED_INITIALIZER
;
-
(
instancetype
)
init
NS_UNAVAILABLE
;
/** Generate a new certificate for 're' use.
*
* Optional dictionary of parameters. Defaults to KeyType ECDSA if none are
* provided.
* - name: "ECDSA" or "RSASSA-PKCS1-v1_5"
*/
+
(
nullable
RTC_OBJC_TYPE
(
RTCCertificate
)
*
)
generateCertificateWithParams
:(
NSDictionary
*
)
params
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCCodecSpecificInfo.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
/** Implement this protocol to pass codec specific info from the encoder.
* Corresponds to webrtc::CodecSpecificInfo.
*/
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCCodecSpecificInfo
)
<
NSObject
>
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCCodecSpecificInfo.h"
#import "RTCMacros.h"
/** Class for H264 specific config. */
typedef
NS_ENUM
(
NSUInteger
,
RTCH264PacketizationMode
)
{
RTCH264PacketizationModeNonInterleaved
=
0
,
// Mode 1 - STAP-A, FU-A is allowed
RTCH264PacketizationModeSingleNalUnit
// Mode 0 - only single NALU allowed
};
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCCodecSpecificInfoH264
)
:
NSObject
<
RTC_OBJC_TYPE
(
RTCCodecSpecificInfo
)
>
@property
(
nonatomic
,
assign
)
RTCH264PacketizationMode
packetizationMode
;
@end
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCConfiguration.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCCertificate.h"
#import "RTCCryptoOptions.h"
#import "RTCMacros.h"
@class
RTC_OBJC_TYPE
(
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 candidate network policy. */
typedef
NS_ENUM
(
NSInteger
,
RTCCandidateNetworkPolicy
)
{
RTCCandidateNetworkPolicyAll
,
RTCCandidateNetworkPolicyLowCost
};
/** Represents the continual gathering policy. */
typedef
NS_ENUM
(
NSInteger
,
RTCContinualGatheringPolicy
)
{
RTCContinualGatheringPolicyGatherOnce
,
RTCContinualGatheringPolicyGatherContinually
};
/** Represents the encryption key type. */
typedef
NS_ENUM
(
NSInteger
,
RTCEncryptionKeyType
)
{
RTCEncryptionKeyTypeRSA
,
RTCEncryptionKeyTypeECDSA
,
};
/** Represents the chosen SDP semantics for the RTCPeerConnection. */
typedef
NS_ENUM
(
NSInteger
,
RTCSdpSemantics
)
{
RTCSdpSemanticsPlanB
,
RTCSdpSemanticsUnifiedPlan
,
};
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCConfiguration
)
:
NSObject
/** If true, allows DSCP codes to be set on outgoing packets, configured using
* networkPriority field of RTCRtpEncodingParameters. Defaults to false.
*/
@property
(
nonatomic
,
assign
)
BOOL
enableDscp
;
/** An array of Ice Servers available to be used by ICE. */
@property
(
nonatomic
,
copy
)
NSArray
<
RTC_OBJC_TYPE
(
RTCIceServer
)
*>
*
iceServers
;
/** An RTCCertificate for 're' use. */
@property
(
nonatomic
,
nullable
)
RTC_OBJC_TYPE
(
RTCCertificate
)
*
certificate
;
/** 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
)
RTCCandidateNetworkPolicy
candidateNetworkPolicy
;
@property
(
nonatomic
,
assign
)
RTCContinualGatheringPolicy
continualGatheringPolicy
;
/** If set to YES, don't gather IPv6 ICE candidates.
* Default is NO.
*/
@property
(
nonatomic
,
assign
)
BOOL
disableIPV6
;
/** If set to YES, don't gather IPv6 ICE candidates on Wi-Fi.
* Only intended to be used on specific devices. Certain phones disable IPv6
* when the screen is turned off and it would be better to just disable the
* IPv6 ICE candidates on Wi-Fi in those cases.
* Default is NO.
*/
@property
(
nonatomic
,
assign
)
BOOL
disableIPV6OnWiFi
;
/** By default, the PeerConnection will use a limited number of IPv6 network
* interfaces, in order to avoid too many ICE candidate pairs being created
* and delaying ICE completion.
*
* Can be set to INT_MAX to effectively disable the limit.
*/
@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
;
@property
(
nonatomic
,
assign
)
int
iceBackupCandidatePairPingInterval
;
/** Key type used to generate SSL identity. Default is ECDSA. */
@property
(
nonatomic
,
assign
)
RTCEncryptionKeyType
keyType
;
/** ICE candidate pool size as defined in JSEP. Default is 0. */
@property
(
nonatomic
,
assign
)
int
iceCandidatePoolSize
;
/** Prune turn ports on the same network to the same turn server.
* Default is NO.
*/
@property
(
nonatomic
,
assign
)
BOOL
shouldPruneTurnPorts
;
/** If set to YES, this means the ICE transport should presume TURN-to-TURN
* candidate pairs will succeed, even before a binding response is received.
*/
@property
(
nonatomic
,
assign
)
BOOL
shouldPresumeWritableWhenFullyRelayed
;
/* This flag is only effective when |continualGatheringPolicy| is
* RTCContinualGatheringPolicyGatherContinually.
*
* If YES, after the ICE transport type is changed such that new types of
* ICE candidates are allowed by the new transport type, e.g. from
* RTCIceTransportPolicyRelay to RTCIceTransportPolicyAll, candidates that
* have been gathered by the ICE transport but not matching the previous
* transport type and as a result not observed by PeerConnectionDelegateAdapter,
* will be surfaced to the delegate.
*/
@property
(
nonatomic
,
assign
)
BOOL
shouldSurfaceIceCandidatesOnIceTransportTypeChanged
;
/** If set to non-nil, controls the minimal interval between consecutive ICE
* check packets.
*/
@property
(
nonatomic
,
copy
,
nullable
)
NSNumber
*
iceCheckMinInterval
;
/** 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 wish to send multiple audio/video streams and need to stay
* interoperable with legacy WebRTC implementations or use legacy APIs,
* specify PlanB.
*
* For all other users, specify UnifiedPlan.
*/
@property
(
nonatomic
,
assign
)
RTCSdpSemantics
sdpSemantics
;
/** Actively reset the SRTP parameters when the DTLS transports underneath are
* changed after offer/answer negotiation. This is only intended to be a
* workaround for crbug.com/835958
*/
@property
(
nonatomic
,
assign
)
BOOL
activeResetSrtpParams
;
/** If the remote side support mid-stream codec switches then allow encoder
* switching to be performed.
*/
@property
(
nonatomic
,
assign
)
BOOL
allowCodecSwitching
;
/**
* Defines advanced optional cryptographic settings related to SRTP and
* frame encryption for native WebRTC. Setting this will overwrite any
* options set through the PeerConnectionFactory (which is deprecated).
*/
@property
(
nonatomic
,
nullable
)
RTC_OBJC_TYPE
(
RTCCryptoOptions
)
*
cryptoOptions
;
/**
* Time interval between audio RTCP reports.
*/
@property
(
nonatomic
,
assign
)
int
rtcpAudioReportIntervalMs
;
/**
* Time interval between video RTCP reports.
*/
@property
(
nonatomic
,
assign
)
int
rtcpVideoReportIntervalMs
;
-
(
instancetype
)
init
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCCryptoOptions.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
/**
* Objective-C bindings for webrtc::CryptoOptions. This API had to be flattened
* as Objective-C doesn't support nested structures.
*/
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCCryptoOptions
)
:
NSObject
/**
* Enable GCM crypto suites from RFC 7714 for SRTP. GCM will only be used
* if both sides enable it
*/
@property
(
nonatomic
,
assign
)
BOOL
srtpEnableGcmCryptoSuites
;
/**
* If set to true, the (potentially insecure) crypto cipher
* SRTP_AES128_CM_SHA1_32 will be included in the list of supported ciphers
* during negotiation. It will only be used if both peers support it and no
* other ciphers get preferred.
*/
@property
(
nonatomic
,
assign
)
BOOL
srtpEnableAes128Sha1_32CryptoCipher
;
/**
* If set to true, encrypted RTP header extensions as defined in RFC 6904
* will be negotiated. They will only be used if both peers support them.
*/
@property
(
nonatomic
,
assign
)
BOOL
srtpEnableEncryptedRtpHeaderExtensions
;
/**
* If set all RtpSenders must have an FrameEncryptor attached to them before
* they are allowed to send packets. All RtpReceivers must have a
* FrameDecryptor attached to them before they are able to receive packets.
*/
@property
(
nonatomic
,
assign
)
BOOL
sframeRequireFrameEncryption
;
/**
* Initializes CryptoOptions with all possible options set explicitly. This
* is done when converting from a native RTCConfiguration.crypto_options.
*/
-
(
instancetype
)
initWithSrtpEnableGcmCryptoSuites
:(
BOOL
)
srtpEnableGcmCryptoSuites
srtpEnableAes128Sha1_32CryptoCipher
:(
BOOL
)
srtpEnableAes128Sha1_32CryptoCipher
srtpEnableEncryptedRtpHeaderExtensions
:(
BOOL
)
srtpEnableEncryptedRtpHeaderExtensions
sframeRequireFrameEncryption
:(
BOOL
)
sframeRequireFrameEncryption
NS_DESIGNATED_INITIALIZER
;
-
(
instancetype
)
init
NS_UNAVAILABLE
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCDataChannel.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
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
RTC_OBJC_TYPE
(
RTCDataChannel
);
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCDataChannelDelegate
)
<
NSObject
>
/** The data channel state changed. */
-
(
void
)
dataChannelDidChangeState
:
(
RTC_OBJC_TYPE
(
RTCDataChannel
)
*
)
dataChannel
;
/** The data channel successfully received a data buffer. */
-
(
void
)
dataChannel
:(
RTC_OBJC_TYPE
(
RTCDataChannel
)
*
)
dataChannel
didReceiveMessageWithBuffer
:(
RTC_OBJC_TYPE
(
RTCDataBuffer
)
*
)
buffer
;
@optional
/** The data channel's |bufferedAmount| changed. */
-
(
void
)
dataChannel
:(
RTC_OBJC_TYPE
(
RTCDataChannel
)
*
)
dataChannel
didChangeBufferedAmount
:(
uint64_t
)
amount
;
@end
/** Represents the state of the data channel. */
typedef
NS_ENUM
(
NSInteger
,
RTCDataChannelState
)
{
RTCDataChannelStateConnecting
,
RTCDataChannelStateOpen
,
RTCDataChannelStateClosing
,
RTCDataChannelStateClosed
,
};
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
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
<
RTC_OBJC_TYPE
(
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
:(
RTC_OBJC_TYPE
(
RTCDataBuffer
)
*
)
data
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCDataChannelConfiguration.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
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
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
#import "RTCVideoDecoderFactory.h"
NS_ASSUME_NONNULL_BEGIN
/** This decoder factory include support for all codecs bundled with WebRTC. If using custom
* codecs, create custom implementations of RTCVideoEncoderFactory and
* RTCVideoDecoderFactory.
*/
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCDefaultVideoDecoderFactory
)
:
NSObject
<
RTC_OBJC_TYPE
(
RTCVideoDecoderFactory
)
>
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
#import "RTCVideoEncoderFactory.h"
NS_ASSUME_NONNULL_BEGIN
/** This encoder factory include support for all codecs bundled with WebRTC. If using custom
* codecs, create custom implementations of RTCVideoEncoderFactory and
* RTCVideoDecoderFactory.
*/
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCDefaultVideoEncoderFactory
)
:
NSObject
<
RTC_OBJC_TYPE
(
RTCVideoEncoderFactory
)
>
@property
(
nonatomic
,
retain
)
RTC_OBJC_TYPE
(
RTCVideoCodecInfo
)
*
preferredCodec
;
+
(
NSArray
<
RTC_OBJC_TYPE
(
RTCVideoCodecInfo
)
*>
*
)
supportedCodecs
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCDispatcher.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "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
,
// Used for operations on NWPathMonitor.
RTCDispatcherTypeNetworkMonitor
,
};
/** Dispatcher that asynchronously dispatches blocks to a specific
* shared dispatch queue.
*/
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
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
;
/** 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
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCDtmfSender.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
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
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCEAGLVideoView.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
#import "RTCVideoRenderer.h"
#import "RTCVideoViewShading.h"
NS_ASSUME_NONNULL_BEGIN
@class
RTC_OBJC_TYPE
(
RTCEAGLVideoView
);
/**
* RTCEAGLVideoView is an RTCVideoRenderer which renders video frames
* in its bounds using OpenGLES 2.0 or OpenGLES 3.0.
*/
RTC_OBJC_EXPORT
NS_EXTENSION_UNAVAILABLE_IOS
(
"Rendering not available in app extensions."
)
@interface
RTC_OBJC_TYPE
(
RTCEAGLVideoView
)
:
UIView
<
RTC_OBJC_TYPE
(
RTCVideoRenderer
)
>
@property
(
nonatomic
,
weak
)
id
<
RTC_OBJC_TYPE
(
RTCVideoViewDelegate
)
>
delegate
;
-
(
instancetype
)
initWithFrame
:(
CGRect
)
frame
shader
:(
id
<
RTC_OBJC_TYPE
(
RTCVideoViewShading
)
>
)
shader
NS_DESIGNATED_INITIALIZER
;
-
(
instancetype
)
initWithCoder
:(
NSCoder
*
)
aDecoder
shader
:(
id
<
RTC_OBJC_TYPE
(
RTCVideoViewShading
)
>
)
shader
NS_DESIGNATED_INITIALIZER
;
/** @abstract Wrapped RTCVideoRotation, or nil.
*/
@property
(
nonatomic
,
nullable
)
NSValue
*
rotationOverride
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCEncodedImage.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
#import "RTCVideoFrame.h"
NS_ASSUME_NONNULL_BEGIN
/** Represents an encoded frame's type. */
typedef
NS_ENUM
(
NSUInteger
,
RTCFrameType
)
{
RTCFrameTypeEmptyFrame
=
0
,
RTCFrameTypeAudioFrameSpeech
=
1
,
RTCFrameTypeAudioFrameCN
=
2
,
RTCFrameTypeVideoFrameKey
=
3
,
RTCFrameTypeVideoFrameDelta
=
4
,
};
typedef
NS_ENUM
(
NSUInteger
,
RTCVideoContentType
)
{
RTCVideoContentTypeUnspecified
,
RTCVideoContentTypeScreenshare
,
};
/** Represents an encoded frame. Corresponds to webrtc::EncodedImage. */
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCEncodedImage
)
:
NSObject
@property
(
nonatomic
,
strong
)
NSData
*
buffer
;
@property
(
nonatomic
,
assign
)
int32_t
encodedWidth
;
@property
(
nonatomic
,
assign
)
int32_t
encodedHeight
;
@property
(
nonatomic
,
assign
)
uint32_t
timeStamp
;
@property
(
nonatomic
,
assign
)
int64_t
captureTimeMs
;
@property
(
nonatomic
,
assign
)
int64_t
ntpTimeMs
;
@property
(
nonatomic
,
assign
)
uint8_t
flags
;
@property
(
nonatomic
,
assign
)
int64_t
encodeStartMs
;
@property
(
nonatomic
,
assign
)
int64_t
encodeFinishMs
;
@property
(
nonatomic
,
assign
)
RTCFrameType
frameType
;
@property
(
nonatomic
,
assign
)
RTCVideoRotation
rotation
;
@property
(
nonatomic
,
assign
)
BOOL
completeFrame
;
@property
(
nonatomic
,
strong
)
NSNumber
*
qp
;
@property
(
nonatomic
,
assign
)
RTCVideoContentType
contentType
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCFieldTrials.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
/** The only valid value for the following if set is kRTCFieldTrialEnabledValue. */
RTC_EXTERN
NSString
*
const
kRTCFieldTrialAudioSendSideBweKey
;
RTC_EXTERN
NSString
*
const
kRTCFieldTrialAudioForceNoTWCCKey
;
RTC_EXTERN
NSString
*
const
kRTCFieldTrialAudioForceABWENoTWCCKey
;
RTC_EXTERN
NSString
*
const
kRTCFieldTrialSendSideBweWithOverheadKey
;
RTC_EXTERN
NSString
*
const
kRTCFieldTrialFlexFec03AdvertisedKey
;
RTC_EXTERN
NSString
*
const
kRTCFieldTrialFlexFec03Key
;
RTC_EXTERN
NSString
*
const
kRTCFieldTrialH264HighProfileKey
;
RTC_EXTERN
NSString
*
const
kRTCFieldTrialMinimizeResamplingOnMobileKey
;
RTC_EXTERN
NSString
*
const
kRTCFieldTrialUseNWPathMonitor
;
/** The valid value for field trials above. */
RTC_EXTERN
NSString
*
const
kRTCFieldTrialEnabledValue
;
/** Initialize field trials using a dictionary mapping field trial keys to their
* values. See above for valid keys and values. Must be called before any other
* call into WebRTC. See: webrtc/system_wrappers/include/field_trial.h
*/
RTC_EXTERN
void
RTCInitFieldTrialDictionary
(
NSDictionary
<
NSString
*
,
NSString
*>
*
fieldTrials
);
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCFileLogger.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "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_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
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.
-
(
nullable
NSData
*
)
logData
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCFileVideoCapturer.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "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_OBJC_EXPORT
NS_CLASS_AVAILABLE_IOS
(
10
)
@interface
RTC_OBJC_TYPE
(
RTCFileVideoCapturer
)
:
RTC_OBJC_TYPE
(
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
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCH264ProfileLevelId.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
RTC_OBJC_EXPORT
extern
NSString
*
const
kRTCVideoCodecH264Name
;
RTC_OBJC_EXPORT
extern
NSString
*
const
kRTCLevel31ConstrainedHigh
;
RTC_OBJC_EXPORT
extern
NSString
*
const
kRTCLevel31ConstrainedBaseline
;
RTC_OBJC_EXPORT
extern
NSString
*
const
kRTCMaxSupportedH264ProfileLevelConstrainedHigh
;
RTC_OBJC_EXPORT
extern
NSString
*
const
kRTCMaxSupportedH264ProfileLevelConstrainedBaseline
;
/** H264 Profiles and levels. */
typedef
NS_ENUM
(
NSUInteger
,
RTCH264Profile
)
{
RTCH264ProfileConstrainedBaseline
,
RTCH264ProfileBaseline
,
RTCH264ProfileMain
,
RTCH264ProfileConstrainedHigh
,
RTCH264ProfileHigh
,
};
typedef
NS_ENUM
(
NSUInteger
,
RTCH264Level
)
{
RTCH264Level1_b
=
0
,
RTCH264Level1
=
10
,
RTCH264Level1_1
=
11
,
RTCH264Level1_2
=
12
,
RTCH264Level1_3
=
13
,
RTCH264Level2
=
20
,
RTCH264Level2_1
=
21
,
RTCH264Level2_2
=
22
,
RTCH264Level3
=
30
,
RTCH264Level3_1
=
31
,
RTCH264Level3_2
=
32
,
RTCH264Level4
=
40
,
RTCH264Level4_1
=
41
,
RTCH264Level4_2
=
42
,
RTCH264Level5
=
50
,
RTCH264Level5_1
=
51
,
RTCH264Level5_2
=
52
};
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCH264ProfileLevelId
)
:
NSObject
@property
(
nonatomic
,
readonly
)
RTCH264Profile
profile
;
@property
(
nonatomic
,
readonly
)
RTCH264Level
level
;
@property
(
nonatomic
,
readonly
)
NSString
*
hexString
;
-
(
instancetype
)
initWithHexString
:(
NSString
*
)
hexString
;
-
(
instancetype
)
initWithProfile
:(
RTCH264Profile
)
profile
level
:(
RTCH264Level
)
level
;
@end
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCI420Buffer.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 <AVFoundation/AVFoundation.h>
#import "RTCYUVPlanarBuffer.h"
NS_ASSUME_NONNULL_BEGIN
/** Protocol for RTCYUVPlanarBuffers containing I420 data */
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCI420Buffer
)
<
RTC_OBJC_TYPE
(
RTCYUVPlanarBuffer
)
>
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCIceCandidate.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
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
;
/** The URL of the ICE server which this candidate is gathered from. */
@property
(
nonatomic
,
readonly
,
nullable
)
NSString
*
serverUrl
;
-
(
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
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/WebRTC.framework/Headers/RTCIceServer.h
0 → 100644
View file @
cd4ef2cd
/*
* 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 "RTCMacros.h"
typedef
NS_ENUM
(
NSUInteger
,
RTCTlsCertPolicy
)
{
RTCTlsCertPolicySecure
,
RTCTlsCertPolicyInsecureNoCheck
};
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
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
;
/**
* TLS certificate policy to use if this RTCIceServer object is a TURN server.
*/
@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
;
/** List of protocols to be used in the TLS ALPN extension. */
@property
(
nonatomic
,
readonly
)
NSArray
<
NSString
*>
*
tlsAlpnProtocols
;
/**
List elliptic curves to be used in the TLS elliptic curves extension.
Only curve names supported by OpenSSL should be used (eg. "P-256","X25519").
*/
@property
(
nonatomic
,
readonly
)
NSArray
<
NSString
*>
*
tlsEllipticCurves
;
-
(
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
;
/**
* 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
hostname
:(
nullable
NSString
*
)
hostname
;
/**
* Initialize an RTCIceServer with its associated URLs, optional username,
* optional credential, TLS cert policy, hostname and ALPN protocols.
*/
-
(
instancetype
)
initWithURLStrings
:(
NSArray
<
NSString
*>
*
)
urlStrings
username
:(
nullable
NSString
*
)
username
credential
:(
nullable
NSString
*
)
credential
tlsCertPolicy
:(
RTCTlsCertPolicy
)
tlsCertPolicy
hostname
:(
nullable
NSString
*
)
hostname
tlsAlpnProtocols
:(
NSArray
<
NSString
*>
*
)
tlsAlpnProtocols
;
/**
* Initialize an RTCIceServer with its associated URLs, optional username,
* optional credential, TLS cert policy, hostname, ALPN protocols and
* elliptic curves.
*/
-
(
instancetype
)
initWithURLStrings
:(
NSArray
<
NSString
*>
*
)
urlStrings
username
:(
nullable
NSString
*
)
username
credential
:(
nullable
NSString
*
)
credential
tlsCertPolicy
:(
RTCTlsCertPolicy
)
tlsCertPolicy
hostname
:(
nullable
NSString
*
)
hostname
tlsAlpnProtocols
:(
nullable
NSArray
<
NSString
*>
*
)
tlsAlpnProtocols
tlsEllipticCurves
:(
nullable
NSArray
<
NSString
*>
*
)
tlsEllipticCurves
NS_DESIGNATED_INITIALIZER
;
@end
NS_ASSUME_NONNULL_END
Prev
1
2
3
4
5
6
7
8
9
10
…
25
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment