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
596
Hide whitespace changes
Inline
Side-by-side
Frameworks/.DS_Store
0 → 100644
View file @
cd4ef2cd
File added
Frameworks/Info.plist
0 → 100644
View file @
cd4ef2cd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist
version=
"1.0"
>
<dict>
<key>
AvailableLibraries
</key>
<array>
<dict>
<key>
LibraryIdentifier
</key>
<string>
ios-x86_64-simulator
</string>
<key>
LibraryPath
</key>
<string>
JitsiMeetSDK.framework
</string>
<key>
SupportedArchitectures
</key>
<array>
<string>
x86_64
</string>
</array>
<key>
SupportedPlatform
</key>
<string>
ios
</string>
<key>
SupportedPlatformVariant
</key>
<string>
simulator
</string>
</dict>
<dict>
<key>
LibraryIdentifier
</key>
<string>
ios-arm64
</string>
<key>
LibraryPath
</key>
<string>
JitsiMeetSDK.framework
</string>
<key>
SupportedArchitectures
</key>
<array>
<string>
arm64
</string>
</array>
<key>
SupportedPlatform
</key>
<string>
ios
</string>
</dict>
</array>
<key>
CFBundlePackageType
</key>
<string>
XFWK
</string>
<key>
XCFrameworkFormatVersion
</key>
<string>
1.0
</string>
</dict>
</plist>
Frameworks/WebRTC.xcframework/.DS_Store
0 → 100644
View file @
cd4ef2cd
File added
Frameworks/WebRTC.xcframework/Info.plist
0 → 100644
View file @
cd4ef2cd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist
version=
"1.0"
>
<dict>
<key>
AvailableLibraries
</key>
<array>
<dict>
<key>
LibraryIdentifier
</key>
<string>
ios-arm64
</string>
<key>
LibraryPath
</key>
<string>
WebRTC.framework
</string>
<key>
SupportedArchitectures
</key>
<array>
<string>
arm64
</string>
</array>
<key>
SupportedPlatform
</key>
<string>
ios
</string>
</dict>
<dict>
<key>
LibraryIdentifier
</key>
<string>
macos-x86_64
</string>
<key>
LibraryPath
</key>
<string>
WebRTC.framework
</string>
<key>
SupportedArchitectures
</key>
<array>
<string>
x86_64
</string>
</array>
<key>
SupportedPlatform
</key>
<string>
macos
</string>
</dict>
<dict>
<key>
LibraryIdentifier
</key>
<string>
ios-x86_64-simulator
</string>
<key>
LibraryPath
</key>
<string>
WebRTC.framework
</string>
<key>
SupportedArchitectures
</key>
<array>
<string>
x86_64
</string>
</array>
<key>
SupportedPlatform
</key>
<string>
ios
</string>
<key>
SupportedPlatformVariant
</key>
<string>
simulator
</string>
</dict>
</array>
<key>
CFBundlePackageType
</key>
<string>
XFWK
</string>
<key>
XCFrameworkFormatVersion
</key>
<string>
1.0
</string>
</dict>
</plist>
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSession.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 <AVFoundation/AVFoundation.h>
#import <Foundation/Foundation.h>
#import "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
extern
NSString
*
const
kRTCAudioSessionErrorDomain
;
/** Method that requires lock was called without lock. */
extern
NSInteger
const
kRTCAudioSessionErrorLockRequired
;
/** Unknown configuration error occurred. */
extern
NSInteger
const
kRTCAudioSessionErrorConfiguration
;
@class
RTC_OBJC_TYPE
(
RTCAudioSession
);
@class
RTC_OBJC_TYPE
(
RTCAudioSessionConfiguration
);
// Surfaces AVAudioSession events. WebRTC will listen directly for notifications
// from AVAudioSession and handle them before calling these delegate methods,
// at which point applications can perform additional processing if required.
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCAudioSessionDelegate
)
<
NSObject
>
@optional
/** Called on a system notification thread when AVAudioSession starts an
* interruption event.
*/
-
(
void
)
audioSessionDidBeginInterruption
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
session
;
/** Called on a system notification thread when AVAudioSession ends an
* interruption event.
*/
-
(
void
)
audioSessionDidEndInterruption
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
session
shouldResumeSession
:(
BOOL
)
shouldResumeSession
;
/** Called on a system notification thread when AVAudioSession changes the
* route.
*/
-
(
void
)
audioSessionDidChangeRoute
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
session
reason
:(
AVAudioSessionRouteChangeReason
)
reason
previousRoute
:(
AVAudioSessionRouteDescription
*
)
previousRoute
;
/** Called on a system notification thread when AVAudioSession media server
* terminates.
*/
-
(
void
)
audioSessionMediaServerTerminated
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
session
;
/** Called on a system notification thread when AVAudioSession media server
* restarts.
*/
-
(
void
)
audioSessionMediaServerReset
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
session
;
// TODO(tkchin): Maybe handle SilenceSecondaryAudioHintNotification.
-
(
void
)
audioSession
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
session
didChangeCanPlayOrRecord
:(
BOOL
)
canPlayOrRecord
;
/** Called on a WebRTC thread when the audio device is notified to begin
* playback or recording.
*/
-
(
void
)
audioSessionDidStartPlayOrRecord
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
session
;
/** Called on a WebRTC thread when the audio device is notified to stop
* playback or recording.
*/
-
(
void
)
audioSessionDidStopPlayOrRecord
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
session
;
/** Called when the AVAudioSession output volume value changes. */
-
(
void
)
audioSession
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
audioSession
didChangeOutputVolume
:(
float
)
outputVolume
;
/** Called when the audio device detects a playout glitch. The argument is the
* number of glitches detected so far in the current audio playout session.
*/
-
(
void
)
audioSession
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
audioSession
didDetectPlayoutGlitch
:(
int64_t
)
totalNumberOfGlitches
;
/** Called when the audio session is about to change the active state.
*/
-
(
void
)
audioSession
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
audioSession
willSetActive
:(
BOOL
)
active
;
/** Called after the audio session sucessfully changed the active state.
*/
-
(
void
)
audioSession
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
audioSession
didSetActive
:(
BOOL
)
active
;
/** Called after the audio session failed to change the active state.
*/
-
(
void
)
audioSession
:(
RTC_OBJC_TYPE
(
RTCAudioSession
)
*
)
audioSession
failedToSetActive
:(
BOOL
)
active
error
:(
NSError
*
)
error
;
@end
/** This is a protocol used to inform RTCAudioSession when the audio session
* activation state has changed outside of RTCAudioSession. The current known use
* case of this is when CallKit activates the audio session for the application
*/
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCAudioSessionActivationDelegate
)
<
NSObject
>
/** Called when the audio session is activated outside of the app by iOS. */
-
(
void
)
audioSessionDidActivate
:
(
AVAudioSession
*
)
session
;
/** Called when the audio session is deactivated outside of the app by iOS. */
-
(
void
)
audioSessionDidDeactivate
:(
AVAudioSession
*
)
session
;
@end
/** Proxy class for AVAudioSession that adds a locking mechanism similar to
* AVCaptureDevice. This is used to that interleaving configurations between
* WebRTC and the application layer are avoided.
*
* RTCAudioSession also coordinates activation so that the audio session is
* activated only once. See |setActive:error:|.
*/
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCAudioSession
)
:
NSObject
<
RTC_OBJC_TYPE
(
RTCAudioSessionActivationDelegate
)
>
/** Convenience property to access the AVAudioSession singleton. Callers should
* not call setters on AVAudioSession directly, but other method invocations
* are fine.
*/
@property
(
nonatomic
,
readonly
)
AVAudioSession
*
session
;
/** Our best guess at whether the session is active based on results of calls to
* AVAudioSession.
*/
@property
(
nonatomic
,
readonly
)
BOOL
isActive
;
/** Whether RTCAudioSession is currently locked for configuration. */
@property
(
nonatomic
,
readonly
)
BOOL
isLocked
;
/** If YES, WebRTC will not initialize the audio unit automatically when an
* audio track is ready for playout or recording. Instead, applications should
* call setIsAudioEnabled. If NO, WebRTC will initialize the audio unit
* as soon as an audio track is ready for playout or recording.
*/
@property
(
nonatomic
,
assign
)
BOOL
useManualAudio
;
/** This property is only effective if useManualAudio is YES.
* Represents permission for WebRTC to initialize the VoIP audio unit.
* When set to NO, if the VoIP audio unit used by WebRTC is active, it will be
* stopped and uninitialized. This will stop incoming and outgoing audio.
* When set to YES, WebRTC will initialize and start the audio unit when it is
* needed (e.g. due to establishing an audio connection).
* This property was introduced to work around an issue where if an AVPlayer is
* playing audio while the VoIP audio unit is initialized, its audio would be
* either cut off completely or played at a reduced volume. By preventing
* the audio unit from being initialized until after the audio has completed,
* we are able to prevent the abrupt cutoff.
*/
@property
(
nonatomic
,
assign
)
BOOL
isAudioEnabled
;
// Proxy properties.
@property
(
readonly
)
NSString
*
category
;
@property
(
readonly
)
AVAudioSessionCategoryOptions
categoryOptions
;
@property
(
readonly
)
NSString
*
mode
;
@property
(
readonly
)
BOOL
secondaryAudioShouldBeSilencedHint
;
@property
(
readonly
)
AVAudioSessionRouteDescription
*
currentRoute
;
@property
(
readonly
)
NSInteger
maximumInputNumberOfChannels
;
@property
(
readonly
)
NSInteger
maximumOutputNumberOfChannels
;
@property
(
readonly
)
float
inputGain
;
@property
(
readonly
)
BOOL
inputGainSettable
;
@property
(
readonly
)
BOOL
inputAvailable
;
@property
(
readonly
,
nullable
)
NSArray
<
AVAudioSessionDataSourceDescription
*>
*
inputDataSources
;
@property
(
readonly
,
nullable
)
AVAudioSessionDataSourceDescription
*
inputDataSource
;
@property
(
readonly
,
nullable
)
NSArray
<
AVAudioSessionDataSourceDescription
*>
*
outputDataSources
;
@property
(
readonly
,
nullable
)
AVAudioSessionDataSourceDescription
*
outputDataSource
;
@property
(
readonly
)
double
sampleRate
;
@property
(
readonly
)
double
preferredSampleRate
;
@property
(
readonly
)
NSInteger
inputNumberOfChannels
;
@property
(
readonly
)
NSInteger
outputNumberOfChannels
;
@property
(
readonly
)
float
outputVolume
;
@property
(
readonly
)
NSTimeInterval
inputLatency
;
@property
(
readonly
)
NSTimeInterval
outputLatency
;
@property
(
readonly
)
NSTimeInterval
IOBufferDuration
;
@property
(
readonly
)
NSTimeInterval
preferredIOBufferDuration
;
/**
When YES, calls to -setConfiguration:error: and -setConfiguration:active:error: ignore errors in
configuring the audio session's "preferred" attributes (e.g. preferredInputNumberOfChannels).
Typically, configurations to preferred attributes are optimizations, and ignoring this type of
configuration error allows code flow to continue along the happy path when these optimization are
not available. The default value of this property is NO.
*/
@property
(
nonatomic
)
BOOL
ignoresPreferredAttributeConfigurationErrors
;
/** Default constructor. */
+
(
instancetype
)
sharedInstance
;
-
(
instancetype
)
init
NS_UNAVAILABLE
;
/** Adds a delegate, which is held weakly. */
-
(
void
)
addDelegate
:(
id
<
RTC_OBJC_TYPE
(
RTCAudioSessionDelegate
)
>
)
delegate
;
/** Removes an added delegate. */
-
(
void
)
removeDelegate
:(
id
<
RTC_OBJC_TYPE
(
RTCAudioSessionDelegate
)
>
)
delegate
;
/** Request exclusive access to the audio session for configuration. This call
* will block if the lock is held by another object.
*/
-
(
void
)
lockForConfiguration
;
/** Relinquishes exclusive access to the audio session. */
-
(
void
)
unlockForConfiguration
;
/** If |active|, activates the audio session if it isn't already active.
* Successful calls must be balanced with a setActive:NO when activation is no
* longer required. If not |active|, deactivates the audio session if one is
* active and this is the last balanced call. When deactivating, the
* AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation option is passed to
* AVAudioSession.
*/
-
(
BOOL
)
setActive
:(
BOOL
)
active
error
:(
NSError
**
)
outError
;
// The following methods are proxies for the associated methods on
// AVAudioSession. |lockForConfiguration| must be called before using them
// otherwise they will fail with kRTCAudioSessionErrorLockRequired.
-
(
BOOL
)
setCategory
:(
NSString
*
)
category
withOptions
:(
AVAudioSessionCategoryOptions
)
options
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
setMode
:(
NSString
*
)
mode
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
setInputGain
:(
float
)
gain
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
setPreferredSampleRate
:(
double
)
sampleRate
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
setPreferredIOBufferDuration
:(
NSTimeInterval
)
duration
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
setPreferredInputNumberOfChannels
:(
NSInteger
)
count
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
setPreferredOutputNumberOfChannels
:(
NSInteger
)
count
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
overrideOutputAudioPort
:(
AVAudioSessionPortOverride
)
portOverride
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
setPreferredInput
:(
AVAudioSessionPortDescription
*
)
inPort
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
setInputDataSource
:(
AVAudioSessionDataSourceDescription
*
)
dataSource
error
:(
NSError
**
)
outError
;
-
(
BOOL
)
setOutputDataSource
:(
AVAudioSessionDataSourceDescription
*
)
dataSource
error
:(
NSError
**
)
outError
;
@end
@interface
RTC_OBJC_TYPE
(
RTCAudioSession
)
(
Configuration
)
/** Applies the configuration to the current session. Attempts to set all
* properties even if previous ones fail. Only the last error will be
* returned.
* |lockForConfiguration| must be called first.
*/
-
(
BOOL
)
setConfiguration
:
(
RTC_OBJC_TYPE
(
RTCAudioSessionConfiguration
)
*
)
configuration
error
:
(
NSError
**
)
outError
;
/** Convenience method that calls both setConfiguration and setActive.
* |lockForConfiguration| must be called first.
*/
-
(
BOOL
)
setConfiguration
:(
RTC_OBJC_TYPE
(
RTCAudioSessionConfiguration
)
*
)
configuration
active
:(
BOOL
)
active
error
:(
NSError
**
)
outError
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSessionConfiguration.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 <AVFoundation/AVFoundation.h>
#import <Foundation/Foundation.h>
#import "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
RTC_EXTERN
const
int
kRTCAudioSessionPreferredNumberOfChannels
;
RTC_EXTERN
const
double
kRTCAudioSessionHighPerformanceSampleRate
;
RTC_EXTERN
const
double
kRTCAudioSessionLowComplexitySampleRate
;
RTC_EXTERN
const
double
kRTCAudioSessionHighPerformanceIOBufferDuration
;
RTC_EXTERN
const
double
kRTCAudioSessionLowComplexityIOBufferDuration
;
// Struct to hold configuration values.
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCAudioSessionConfiguration
)
:
NSObject
@property
(
nonatomic
,
strong
)
NSString
*
category
;
@property
(
nonatomic
,
assign
)
AVAudioSessionCategoryOptions
categoryOptions
;
@property
(
nonatomic
,
strong
)
NSString
*
mode
;
@property
(
nonatomic
,
assign
)
double
sampleRate
;
@property
(
nonatomic
,
assign
)
NSTimeInterval
ioBufferDuration
;
@property
(
nonatomic
,
assign
)
NSInteger
inputNumberOfChannels
;
@property
(
nonatomic
,
assign
)
NSInteger
outputNumberOfChannels
;
/** Initializes configuration to defaults. */
-
(
instancetype
)
init
NS_DESIGNATED_INITIALIZER
;
/** Returns the current configuration of the audio session. */
+
(
instancetype
)
currentConfiguration
;
/** Returns the configuration that WebRTC needs. */
+
(
instancetype
)
webRTCConfiguration
;
/** Provide a way to override the default configuration. */
+
(
void
)
setWebRTCConfiguration
:(
RTC_OBJC_TYPE
(
RTCAudioSessionConfiguration
)
*
)
configuration
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioSource.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"
#import "RTCMediaSource.h"
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCAudioSource
)
:
RTC_OBJC_TYPE
(
RTCMediaSource
)
-
(
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(kthelgason): Property stays here temporarily until a proper volume-api
// is available on the surface exposed by webrtc.
@property
(
nonatomic
,
assign
)
double
volume
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCAudioTrack.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 "RTCMacros.h"
#import "RTCMediaStreamTrack.h"
NS_ASSUME_NONNULL_BEGIN
@class
RTC_OBJC_TYPE
(
RTCAudioSource
);
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCAudioTrack
)
:
RTC_OBJC_TYPE
(
RTCMediaStreamTrack
)
-
(
instancetype
)
init
NS_UNAVAILABLE
;
/** The audio source for this audio track. */
@property
(
nonatomic
,
readonly
)
RTC_OBJC_TYPE
(
RTCAudioSource
)
*
source
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCVPixelBuffer.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 "RTCMacros.h"
#import "RTCVideoFrameBuffer.h"
NS_ASSUME_NONNULL_BEGIN
/** RTCVideoFrameBuffer containing a CVPixelBufferRef */
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCCVPixelBuffer
)
:
NSObject
<
RTC_OBJC_TYPE
(
RTCVideoFrameBuffer
)
>
@property
(
nonatomic
,
readonly
)
CVPixelBufferRef
pixelBuffer
;
@property
(
nonatomic
,
readonly
)
int
cropX
;
@property
(
nonatomic
,
readonly
)
int
cropY
;
@property
(
nonatomic
,
readonly
)
int
cropWidth
;
@property
(
nonatomic
,
readonly
)
int
cropHeight
;
+
(
NSSet
<
NSNumber
*>
*
)
supportedPixelFormats
;
-
(
instancetype
)
initWithPixelBuffer
:(
CVPixelBufferRef
)
pixelBuffer
;
-
(
instancetype
)
initWithPixelBuffer
:(
CVPixelBufferRef
)
pixelBuffer
adaptedWidth
:(
int
)
adaptedWidth
adaptedHeight
:(
int
)
adaptedHeight
cropWidth
:(
int
)
cropWidth
cropHeight
:(
int
)
cropHeight
cropX
:(
int
)
cropX
cropY
:(
int
)
cropY
;
-
(
BOOL
)
requiresCropping
;
-
(
BOOL
)
requiresScalingToWidth
:(
int
)
width
height
:(
int
)
height
;
-
(
int
)
bufferSizeForCroppingAndScalingToWidth
:(
int
)
width
height
:(
int
)
height
;
/** The minimum size of the |tmpBuffer| must be the number of bytes returned from the
* bufferSizeForCroppingAndScalingToWidth:height: method.
* If that size is 0, the |tmpBuffer| may be nil.
*/
-
(
BOOL
)
cropAndScaleTo
:(
CVPixelBufferRef
)
outputPixelBuffer
withTempBuffer
:(
nullable
uint8_t
*
)
tmpBuffer
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCallbackLogger.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 "RTCLogging.h"
#import "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
typedef
void
(
^
RTCCallbackLoggerMessageHandler
)(
NSString
*
message
);
typedef
void
(
^
RTCCallbackLoggerMessageAndSeverityHandler
)(
NSString
*
message
,
RTCLoggingSeverity
severity
);
// This class intercepts WebRTC logs and forwards them to a registered block.
// This class is not threadsafe.
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCCallbackLogger
)
:
NSObject
// The severity level to capture. The default is kRTCLoggingSeverityInfo.
@property
(
nonatomic
,
assign
)
RTCLoggingSeverity
severity
;
// The callback handler 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
RTCCallbackLoggerMessageHandler
)
handler
;
-
(
void
)
startWithMessageAndSeverityHandler
:
(
nullable
RTCCallbackLoggerMessageAndSeverityHandler
)
handler
;
-
(
void
)
stop
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCameraPreviewView.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"
@class
AVCaptureSession
;
/** RTCCameraPreviewView is a view that renders local video from an
* AVCaptureSession.
*/
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCCameraPreviewView
)
:
UIView
/** The capture session being rendered in the view. Capture session
* is assigned to AVCaptureVideoPreviewLayer async in the same
* queue that the AVCaptureSession is started/stopped.
*/
@property
(
nonatomic
,
strong
)
AVCaptureSession
*
captureSession
;
@end
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCCameraVideoCapturer.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 <AVFoundation/AVFoundation.h>
#import <Foundation/Foundation.h>
#import "RTCMacros.h"
#import "RTCVideoCapturer.h"
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
// Camera capture that implements RTCVideoCapturer. Delivers frames to a
// RTCVideoCapturerDelegate (usually RTCVideoSource).
NS_EXTENSION_UNAVAILABLE_IOS
(
"Camera not available in app extensions."
)
@interface
RTC_OBJC_TYPE
(
RTCCameraVideoCapturer
)
:
RTC_OBJC_TYPE
(
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.
+
(
NSArray
<
AVCaptureDeviceFormat
*>
*
)
supportedFormatsForDevice
:(
AVCaptureDevice
*
)
device
;
// 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
;
// Stops the capture session asynchronously.
-
(
void
)
stopCapture
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/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-arm64/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-arm64/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-arm64/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-arm64/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-arm64/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-arm64/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-arm64/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
Prev
1
2
3
4
5
…
30
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