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
Hide 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-arm64/WebRTC.framework/Headers/RTCVideoFrame.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 <AVFoundation/AVFoundation.h>
#import <Foundation/Foundation.h>
#import "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
typedef
NS_ENUM
(
NSInteger
,
RTCVideoRotation
)
{
RTCVideoRotation_0
=
0
,
RTCVideoRotation_90
=
90
,
RTCVideoRotation_180
=
180
,
RTCVideoRotation_270
=
270
,
};
@protocol
RTC_OBJC_TYPE
(
RTCVideoFrameBuffer
);
// RTCVideoFrame is an ObjectiveC version of webrtc::VideoFrame.
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCVideoFrame
)
:
NSObject
/** Width without rotation applied. */
@property
(
nonatomic
,
readonly
)
int
width
;
/** Height without rotation applied. */
@property
(
nonatomic
,
readonly
)
int
height
;
@property
(
nonatomic
,
readonly
)
RTCVideoRotation
rotation
;
/** Timestamp in nanoseconds. */
@property
(
nonatomic
,
readonly
)
int64_t
timeStampNs
;
/** Timestamp 90 kHz. */
@property
(
nonatomic
,
assign
)
int32_t
timeStamp
;
@property
(
nonatomic
,
readonly
)
id
<
RTC_OBJC_TYPE
(
RTCVideoFrameBuffer
)
>
buffer
;
-
(
instancetype
)
init
NS_UNAVAILABLE
;
-
(
instancetype
)
new
NS_UNAVAILABLE
;
/** Initialize an RTCVideoFrame from a pixel buffer, rotation, and timestamp.
* Deprecated - initialize with a RTCCVPixelBuffer instead
*/
-
(
instancetype
)
initWithPixelBuffer
:(
CVPixelBufferRef
)
pixelBuffer
rotation
:(
RTCVideoRotation
)
rotation
timeStampNs
:(
int64_t
)
timeStampNs
DEPRECATED_MSG_ATTRIBUTE
(
"use initWithBuffer instead"
);
/** Initialize an RTCVideoFrame from a pixel buffer combined with cropping and
* scaling. Cropping will be applied first on the pixel buffer, followed by
* scaling to the final resolution of scaledWidth x scaledHeight.
*/
-
(
instancetype
)
initWithPixelBuffer
:(
CVPixelBufferRef
)
pixelBuffer
scaledWidth
:(
int
)
scaledWidth
scaledHeight
:(
int
)
scaledHeight
cropWidth
:(
int
)
cropWidth
cropHeight
:(
int
)
cropHeight
cropX
:(
int
)
cropX
cropY
:(
int
)
cropY
rotation
:(
RTCVideoRotation
)
rotation
timeStampNs
:(
int64_t
)
timeStampNs
DEPRECATED_MSG_ATTRIBUTE
(
"use initWithBuffer instead"
);
/** Initialize an RTCVideoFrame from a frame buffer, rotation, and timestamp.
*/
-
(
instancetype
)
initWithBuffer
:(
id
<
RTC_OBJC_TYPE
(
RTCVideoFrameBuffer
)
>
)
frameBuffer
rotation
:(
RTCVideoRotation
)
rotation
timeStampNs
:(
int64_t
)
timeStampNs
;
/** Return a frame that is guaranteed to be I420, i.e. it is possible to access
* the YUV data on it.
*/
-
(
RTC_OBJC_TYPE
(
RTCVideoFrame
)
*
)
newI420VideoFrame
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoFrameBuffer.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 "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
@protocol
RTC_OBJC_TYPE
(
RTCI420Buffer
);
// RTCVideoFrameBuffer is an ObjectiveC version of webrtc::VideoFrameBuffer.
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCVideoFrameBuffer
)
<
NSObject
>
@property
(
nonatomic
,
readonly
)
int
width
;
@property
(
nonatomic
,
readonly
)
int
height
;
-
(
id
<
RTC_OBJC_TYPE
(
RTCI420Buffer
)
>
)
toI420
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoRenderer.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>
#if TARGET_OS_IPHONE
#import <UIKit/UIKit.h>
#endif
#import "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
@class
RTC_OBJC_TYPE
(
RTCVideoFrame
);
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCVideoRenderer
)
<
NSObject
>
/** The size of the frame. */
-
(
void
)
setSize
:
(
CGSize
)
size
;
/** The frame to be displayed. */
-
(
void
)
renderFrame
:(
nullable
RTC_OBJC_TYPE
(
RTCVideoFrame
)
*
)
frame
;
@end
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCVideoViewDelegate
)
-
(
void
)
videoView
:
(
id
<
RTC_OBJC_TYPE
(
RTCVideoRenderer
)
>
)
videoView
didChangeVideoSize
:
(
CGSize
)
size
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoSource.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"
#import "RTCMediaSource.h"
#import "RTCVideoCapturer.h"
NS_ASSUME_NONNULL_BEGIN
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCVideoSource
)
:
RTC_OBJC_TYPE
(
RTCMediaSource
)
<
RTC_OBJC_TYPE
(
RTCVideoCapturerDelegate
)
>
-
(
instancetype
)
init
NS_UNAVAILABLE
;
/**
* Calling this function will cause frames to be scaled down to the
* requested resolution. Also, frames will be cropped to match the
* requested aspect ratio, and frames will be dropped to match the
* requested fps. The requested aspect ratio is orientation agnostic and
* will be adjusted to maintain the input orientation, so it doesn't
* matter if e.g. 1280x720 or 720x1280 is requested.
*/
-
(
void
)
adaptOutputFormatToWidth
:(
int
)
width
height
:(
int
)
height
fps
:(
int
)
fps
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoTrack.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 "RTCMediaStreamTrack.h"
#import "RTCMacros.h"
NS_ASSUME_NONNULL_BEGIN
@protocol
RTC_OBJC_TYPE
(
RTCVideoRenderer
);
@class
RTC_OBJC_TYPE
(
RTCPeerConnectionFactory
);
@class
RTC_OBJC_TYPE
(
RTCVideoSource
);
RTC_OBJC_EXPORT
@interface
RTC_OBJC_TYPE
(
RTCVideoTrack
)
:
RTC_OBJC_TYPE
(
RTCMediaStreamTrack
)
/** The video source for this video track. */
@property
(
nonatomic
,
readonly
)
RTC_OBJC_TYPE
(
RTCVideoSource
)
*
source
;
-
(
instancetype
)
init
NS_UNAVAILABLE
;
/** Register a renderer that will render all frames received on this track. */
-
(
void
)
addRenderer
:(
id
<
RTC_OBJC_TYPE
(
RTCVideoRenderer
)
>
)
renderer
;
/** Deregister a renderer. */
-
(
void
)
removeRenderer
:(
id
<
RTC_OBJC_TYPE
(
RTCVideoRenderer
)
>
)
renderer
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCVideoViewShading.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 "RTCVideoFrame.h"
NS_ASSUME_NONNULL_BEGIN
/**
* RTCVideoViewShading provides a way for apps to customize the OpenGL(ES shaders
* used in rendering for the RTCEAGLVideoView/RTCNSGLVideoView.
*/
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCVideoViewShading
)
<
NSObject
>
/** Callback for I420 frames. Each plane is given as a texture. */
-
(
void
)
applyShadingForFrameWithWidth
:
(
int
)
width
height
:
(
int
)
height
rotation
:
(
RTCVideoRotation
)
rotation
yPlane
:
(
GLuint
)
yPlane
uPlane
:
(
GLuint
)
uPlane
vPlane
:
(
GLuint
)
vPlane
;
/** Callback for NV12 frames. Each plane is given as a texture. */
-
(
void
)
applyShadingForFrameWithWidth
:(
int
)
width
height
:(
int
)
height
rotation
:(
RTCVideoRotation
)
rotation
yPlane
:(
GLuint
)
yPlane
uvPlane
:(
GLuint
)
uvPlane
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/RTCYUVPlanarBuffer.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
/** Protocol for RTCVideoFrameBuffers containing YUV planar data. */
RTC_OBJC_EXPORT
@protocol
RTC_OBJC_TYPE
(
RTCYUVPlanarBuffer
)
<
RTC_OBJC_TYPE
(
RTCVideoFrameBuffer
)
>
@property
(
nonatomic
,
readonly
)
int
chromaWidth
;
@property
(
nonatomic
,
readonly
)
int
chromaHeight
;
@property
(
nonatomic
,
readonly
)
const
uint8_t
*
dataY
;
@property
(
nonatomic
,
readonly
)
const
uint8_t
*
dataU
;
@property
(
nonatomic
,
readonly
)
const
uint8_t
*
dataV
;
@property
(
nonatomic
,
readonly
)
int
strideY
;
@property
(
nonatomic
,
readonly
)
int
strideU
;
@property
(
nonatomic
,
readonly
)
int
strideV
;
-
(
instancetype
)
initWithWidth
:(
int
)
width
height
:(
int
)
height
dataY
:(
const
uint8_t
*
)
dataY
dataU
:(
const
uint8_t
*
)
dataU
dataV
:(
const
uint8_t
*
)
dataV
;
-
(
instancetype
)
initWithWidth
:(
int
)
width
height
:(
int
)
height
;
-
(
instancetype
)
initWithWidth
:(
int
)
width
height
:(
int
)
height
strideY
:(
int
)
strideY
strideU
:(
int
)
strideU
strideV
:(
int
)
strideV
;
@end
NS_ASSUME_NONNULL_END
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/UIDevice+RTCDevice.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 <UIKit/UIKit.h>
typedef
NS_ENUM
(
NSInteger
,
RTCDeviceType
)
{
RTCDeviceTypeUnknown
,
RTCDeviceTypeIPhone1G
,
RTCDeviceTypeIPhone3G
,
RTCDeviceTypeIPhone3GS
,
RTCDeviceTypeIPhone4
,
RTCDeviceTypeIPhone4Verizon
,
RTCDeviceTypeIPhone4S
,
RTCDeviceTypeIPhone5GSM
,
RTCDeviceTypeIPhone5GSM_CDMA
,
RTCDeviceTypeIPhone5CGSM
,
RTCDeviceTypeIPhone5CGSM_CDMA
,
RTCDeviceTypeIPhone5SGSM
,
RTCDeviceTypeIPhone5SGSM_CDMA
,
RTCDeviceTypeIPhone6Plus
,
RTCDeviceTypeIPhone6
,
RTCDeviceTypeIPhone6S
,
RTCDeviceTypeIPhone6SPlus
,
RTCDeviceTypeIPhone7
,
RTCDeviceTypeIPhone7Plus
,
RTCDeviceTypeIPhoneSE
,
RTCDeviceTypeIPhone8
,
RTCDeviceTypeIPhone8Plus
,
RTCDeviceTypeIPhoneX
,
RTCDeviceTypeIPhoneXS
,
RTCDeviceTypeIPhoneXSMax
,
RTCDeviceTypeIPhoneXR
,
RTCDeviceTypeIPhone11
,
RTCDeviceTypeIPhone11Pro
,
RTCDeviceTypeIPhone11ProMax
,
RTCDeviceTypeIPodTouch1G
,
RTCDeviceTypeIPodTouch2G
,
RTCDeviceTypeIPodTouch3G
,
RTCDeviceTypeIPodTouch4G
,
RTCDeviceTypeIPodTouch5G
,
RTCDeviceTypeIPodTouch6G
,
RTCDeviceTypeIPodTouch7G
,
RTCDeviceTypeIPad
,
RTCDeviceTypeIPad2Wifi
,
RTCDeviceTypeIPad2GSM
,
RTCDeviceTypeIPad2CDMA
,
RTCDeviceTypeIPad2Wifi2
,
RTCDeviceTypeIPadMiniWifi
,
RTCDeviceTypeIPadMiniGSM
,
RTCDeviceTypeIPadMiniGSM_CDMA
,
RTCDeviceTypeIPad3Wifi
,
RTCDeviceTypeIPad3GSM_CDMA
,
RTCDeviceTypeIPad3GSM
,
RTCDeviceTypeIPad4Wifi
,
RTCDeviceTypeIPad4GSM
,
RTCDeviceTypeIPad4GSM_CDMA
,
RTCDeviceTypeIPad5
,
RTCDeviceTypeIPad6
,
RTCDeviceTypeIPadAirWifi
,
RTCDeviceTypeIPadAirCellular
,
RTCDeviceTypeIPadAirWifiCellular
,
RTCDeviceTypeIPadAir2
,
RTCDeviceTypeIPadMini2GWifi
,
RTCDeviceTypeIPadMini2GCellular
,
RTCDeviceTypeIPadMini2GWifiCellular
,
RTCDeviceTypeIPadMini3
,
RTCDeviceTypeIPadMini4
,
RTCDeviceTypeIPadPro9Inch
,
RTCDeviceTypeIPadPro12Inch
,
RTCDeviceTypeIPadPro12Inch2
,
RTCDeviceTypeIPadPro10Inch
,
RTCDeviceTypeIPad7Gen10Inch
,
RTCDeviceTypeIPadPro3Gen11Inch
,
RTCDeviceTypeIPadPro3Gen12Inch
,
RTCDeviceTypeIPadMini5Gen
,
RTCDeviceTypeIPadAir3Gen
,
RTCDeviceTypeSimulatori386
,
RTCDeviceTypeSimulatorx86_64
,
};
@interface
UIDevice
(
RTCDevice
)
+
(
RTCDeviceType
)
deviceType
;
+
(
BOOL
)
isIOS11OrLater
;
@end
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Headers/WebRTC.h
0 → 100644
View file @
cd4ef2cd
/*
* Copyright 2020 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#import <WebRTC/RTCCodecSpecificInfo.h>
#import <WebRTC/RTCEncodedImage.h>
#import <WebRTC/RTCI420Buffer.h>
#import <WebRTC/RTCLogging.h>
#import <WebRTC/RTCMacros.h>
#import <WebRTC/RTCMutableI420Buffer.h>
#import <WebRTC/RTCMutableYUVPlanarBuffer.h>
#import <WebRTC/RTCRtpFragmentationHeader.h>
#import <WebRTC/RTCVideoCapturer.h>
#import <WebRTC/RTCVideoCodecInfo.h>
#import <WebRTC/RTCVideoDecoder.h>
#import <WebRTC/RTCVideoDecoderFactory.h>
#import <WebRTC/RTCVideoEncoder.h>
#import <WebRTC/RTCVideoEncoderFactory.h>
#import <WebRTC/RTCVideoEncoderQpThresholds.h>
#import <WebRTC/RTCVideoEncoderSettings.h>
#import <WebRTC/RTCVideoFrame.h>
#import <WebRTC/RTCVideoFrameBuffer.h>
#import <WebRTC/RTCVideoRenderer.h>
#import <WebRTC/RTCYUVPlanarBuffer.h>
#import <WebRTC/RTCAudioSession.h>
#import <WebRTC/RTCAudioSessionConfiguration.h>
#import <WebRTC/RTCCameraVideoCapturer.h>
#import <WebRTC/RTCFileVideoCapturer.h>
#import <WebRTC/RTCNetworkMonitor.h>
#import <WebRTC/RTCMTLVideoView.h>
#import <WebRTC/RTCEAGLVideoView.h>
#import <WebRTC/RTCVideoViewShading.h>
#import <WebRTC/RTCCodecSpecificInfoH264.h>
#import <WebRTC/RTCDefaultVideoDecoderFactory.h>
#import <WebRTC/RTCDefaultVideoEncoderFactory.h>
#import <WebRTC/RTCH264ProfileLevelId.h>
#import <WebRTC/RTCVideoDecoderFactoryH264.h>
#import <WebRTC/RTCVideoDecoderH264.h>
#import <WebRTC/RTCVideoEncoderFactoryH264.h>
#import <WebRTC/RTCVideoEncoderH264.h>
#import <WebRTC/RTCCVPixelBuffer.h>
#import <WebRTC/RTCCameraPreviewView.h>
#import <WebRTC/RTCDispatcher.h>
#import <WebRTC/UIDevice+RTCDevice.h>
#import <WebRTC/RTCAudioSource.h>
#import <WebRTC/RTCAudioTrack.h>
#import <WebRTC/RTCConfiguration.h>
#import <WebRTC/RTCDataChannel.h>
#import <WebRTC/RTCDataChannelConfiguration.h>
#import <WebRTC/RTCFieldTrials.h>
#import <WebRTC/RTCIceCandidate.h>
#import <WebRTC/RTCIceServer.h>
#import <WebRTC/RTCLegacyStatsReport.h>
#import <WebRTC/RTCMediaConstraints.h>
#import <WebRTC/RTCMediaSource.h>
#import <WebRTC/RTCMediaStream.h>
#import <WebRTC/RTCMediaStreamTrack.h>
#import <WebRTC/RTCMetrics.h>
#import <WebRTC/RTCMetricsSampleInfo.h>
#import <WebRTC/RTCPeerConnection.h>
#import <WebRTC/RTCPeerConnectionFactory.h>
#import <WebRTC/RTCPeerConnectionFactoryOptions.h>
#import <WebRTC/RTCRtcpParameters.h>
#import <WebRTC/RTCRtpCodecParameters.h>
#import <WebRTC/RTCRtpEncodingParameters.h>
#import <WebRTC/RTCRtpHeaderExtension.h>
#import <WebRTC/RTCRtpParameters.h>
#import <WebRTC/RTCRtpReceiver.h>
#import <WebRTC/RTCRtpSender.h>
#import <WebRTC/RTCRtpTransceiver.h>
#import <WebRTC/RTCDtmfSender.h>
#import <WebRTC/RTCSSLAdapter.h>
#import <WebRTC/RTCSessionDescription.h>
#import <WebRTC/RTCStatisticsReport.h>
#import <WebRTC/RTCTracing.h>
#import <WebRTC/RTCCertificate.h>
#import <WebRTC/RTCCryptoOptions.h>
#import <WebRTC/RTCVideoSource.h>
#import <WebRTC/RTCVideoTrack.h>
#import <WebRTC/RTCVideoCodecConstants.h>
#import <WebRTC/RTCVideoDecoderVP8.h>
#import <WebRTC/RTCVideoDecoderVP9.h>
#import <WebRTC/RTCVideoEncoderVP8.h>
#import <WebRTC/RTCVideoEncoderVP9.h>
#import <WebRTC/RTCNativeI420Buffer.h>
#import <WebRTC/RTCNativeMutableI420Buffer.h>
#import <WebRTC/RTCCallbackLogger.h>
#import <WebRTC/RTCFileLogger.h>
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Info.plist
0 → 100644
View file @
cd4ef2cd
File added
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/Modules/module.modulemap
0 → 100644
View file @
cd4ef2cd
framework module WebRTC {
umbrella header "WebRTC.h"
export *
module * { export * }
}
Frameworks/WebRTC.xcframework/ios-arm64/WebRTC.framework/WebRTC
0 → 100755
View file @
cd4ef2cd
File added
Frameworks/WebRTC.xcframework/ios-x86_64-simulator/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-x86_64-simulator/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-x86_64-simulator/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-x86_64-simulator/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-x86_64-simulator/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-x86_64-simulator/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-x86_64-simulator/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-x86_64-simulator/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
Prev
1
2
3
4
5
6
7
8
9
…
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