@szdziedzic/sim-on 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -0
- package/bin/sim-on.js +5 -0
- package/dist/simon.mjs +307 -0
- package/package.json +38 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/LiveKitWebRTC.h +113 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioBuffer.h +38 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioCustomProcessingDelegate.h +52 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioDeviceModule.h +287 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioProcessingConfig.h +37 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioProcessingModule.h +31 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioProcessingState.h +137 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioRenderer.h +35 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioSource.h +32 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioTrack.h +150 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCVPixelBuffer.h +52 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCallbackLogger.h +41 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCameraVideoCapturer.h +71 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCertificate.h +47 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCodecSpecificInfo.h +24 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCodecSpecificInfoH264.h +27 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCConfiguration.h +278 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCryptoOptions.h +66 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDataChannel.h +134 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDataChannelConfiguration.h +52 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDataPacketCryptor.h +52 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDefaultAudioProcessingModule.h +47 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDefaultVideoDecoderFactory.h +26 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDefaultVideoEncoderFactory.h +31 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDesktopCapturer.h +60 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDesktopMediaList.h +51 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDesktopSource.h +40 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDispatcher.h +46 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDtmfSender.h +73 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCEncodedImage.h +52 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFieldTrials.h +34 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFileLogger.h +75 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFileVideoCapturer.h +51 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFrameCryptor.h +77 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFrameCryptorKeyProvider.h +76 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCH264ProfileLevelId.h +60 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCI420Buffer.h +22 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIODevice.h +41 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIceCandidate.h +50 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIceCandidateErrorEvent.h +45 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIceServer.h +114 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCLegacyStatsReport.h +37 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCLogging.h +66 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMTLNSVideoView.h +22 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMTLVideoView.h +63 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMacros.h +69 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaConstraints.h +47 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaSource.h +34 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaStream.h +50 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaStreamTrack.h +50 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMetrics.h +24 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMetricsSampleInfo.h +48 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMutableI420Buffer.h +24 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMutableYUVPlanarBuffer.h +28 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCNativeI420Buffer.h +23 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCNativeMutableI420Buffer.h +24 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCPeerConnection.h +416 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCPeerConnectionFactory.h +159 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCPeerConnectionFactoryOptions.h +38 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtcpParameters.h +30 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpCapabilities.h +31 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpCodecCapability.h +58 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpCodecParameters.h +74 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpEncodingParameters.h +81 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpHeaderExtension.h +33 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpHeaderExtensionCapability.h +39 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpParameters.h +63 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpReceiver.h +105 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpSender.h +55 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpSource.h +66 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpTransceiver.h +180 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCSSLAdapter.h +20 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCSSLCertificateVerifier.h +25 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCSessionDescription.h +48 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCStatisticsReport.h +58 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCTracing.h +21 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoCapturer.h +37 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoCodecInfo.h +43 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoder.h +41 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderAV1.h +25 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderFactory.h +33 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderFactoryH264.h +18 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderH264.h +18 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderVP8.h +25 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderVP9.h +27 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoder.h +62 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderAV1.h +34 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderFactory.h +78 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderFactoryH264.h +18 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderFactorySimulcast.h +16 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderH264.h +22 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderQpThresholds.h +29 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderSettings.h +42 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderSimulcast.h +13 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderVP8.h +30 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderVP9.h +34 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoFrame.h +86 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoFrameBuffer.h +40 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoRenderer.h +44 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoSource.h +37 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoTrack.h +41 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoViewShading.h +39 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCYUVHelper.h +118 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCYUVPlanarBuffer.h +46 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/LiveKitWebRTC +0 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Modules/module.modulemap +6 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Resources/Info.plist +36 -0
- package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Versions/A/Resources/PrivacyInfo.xcprivacy +32 -0
- package/vendor/helper/simon-helper +0 -0
- package/vendor/web/app.js +54 -0
- package/vendor/web/index.html +15 -0
- package/vendor/web/styles.css +435 -0
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@szdziedzic/sim-on",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Agentic mobile testing CLI + simulator-in-the-browser. Explore with an LLM once, replay as deterministic Maestro-compatible flows forever. By Expo.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/expo/sim-on"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"bin": {
|
|
12
|
+
"sim-on": "bin/sim-on.js",
|
|
13
|
+
"simon": "bin/sim-on.js"
|
|
14
|
+
},
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": ">=18"
|
|
17
|
+
},
|
|
18
|
+
"os": [
|
|
19
|
+
"darwin"
|
|
20
|
+
],
|
|
21
|
+
"cpu": [
|
|
22
|
+
"arm64"
|
|
23
|
+
],
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
27
|
+
"keywords": [
|
|
28
|
+
"expo",
|
|
29
|
+
"ios",
|
|
30
|
+
"simulator",
|
|
31
|
+
"testing",
|
|
32
|
+
"e2e",
|
|
33
|
+
"maestro",
|
|
34
|
+
"agent",
|
|
35
|
+
"mcp",
|
|
36
|
+
"webrtc"
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 The WebRTC project authors. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by a BSD-style license
|
|
5
|
+
* that can be found in the LICENSE file in the root of the source
|
|
6
|
+
* tree. An additional intellectual property rights grant can be found
|
|
7
|
+
* in the file PATENTS. All contributing project authors may
|
|
8
|
+
* be found in the AUTHORS file in the root of the source tree.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#import <LiveKitWebRTC/RTCAudioDeviceModule.h>
|
|
12
|
+
#import <LiveKitWebRTC/RTCIODevice.h>
|
|
13
|
+
#import <LiveKitWebRTC/RTCAudioSource.h>
|
|
14
|
+
#import <LiveKitWebRTC/RTCAudioTrack.h>
|
|
15
|
+
#import <LiveKitWebRTC/RTCAudioProcessingState.h>
|
|
16
|
+
#import <LiveKitWebRTC/RTCCertificate.h>
|
|
17
|
+
#import <LiveKitWebRTC/RTCConfiguration.h>
|
|
18
|
+
#import <LiveKitWebRTC/RTCCryptoOptions.h>
|
|
19
|
+
#import <LiveKitWebRTC/RTCDataChannel.h>
|
|
20
|
+
#import <LiveKitWebRTC/RTCDataChannelConfiguration.h>
|
|
21
|
+
#import <LiveKitWebRTC/RTCDataPacketCryptor.h>
|
|
22
|
+
#import <LiveKitWebRTC/RTCDtmfSender.h>
|
|
23
|
+
#import <LiveKitWebRTC/RTCFrameCryptor.h>
|
|
24
|
+
#import <LiveKitWebRTC/RTCFrameCryptorKeyProvider.h>
|
|
25
|
+
#import <LiveKitWebRTC/RTCFieldTrials.h>
|
|
26
|
+
#import <LiveKitWebRTC/RTCIceCandidate.h>
|
|
27
|
+
#import <LiveKitWebRTC/RTCIceCandidateErrorEvent.h>
|
|
28
|
+
#import <LiveKitWebRTC/RTCIceServer.h>
|
|
29
|
+
#import <LiveKitWebRTC/RTCLegacyStatsReport.h>
|
|
30
|
+
#import <LiveKitWebRTC/RTCMediaConstraints.h>
|
|
31
|
+
#import <LiveKitWebRTC/RTCMediaSource.h>
|
|
32
|
+
#import <LiveKitWebRTC/RTCMediaStream.h>
|
|
33
|
+
#import <LiveKitWebRTC/RTCMediaStreamTrack.h>
|
|
34
|
+
#import <LiveKitWebRTC/RTCMetrics.h>
|
|
35
|
+
#import <LiveKitWebRTC/RTCMetricsSampleInfo.h>
|
|
36
|
+
#import <LiveKitWebRTC/RTCPeerConnection.h>
|
|
37
|
+
#import <LiveKitWebRTC/RTCPeerConnectionFactory.h>
|
|
38
|
+
#import <LiveKitWebRTC/RTCPeerConnectionFactoryOptions.h>
|
|
39
|
+
#import <LiveKitWebRTC/RTCRtcpParameters.h>
|
|
40
|
+
#import <LiveKitWebRTC/RTCRtpCapabilities.h>
|
|
41
|
+
#import <LiveKitWebRTC/RTCRtpCodecCapability.h>
|
|
42
|
+
#import <LiveKitWebRTC/RTCRtpCodecParameters.h>
|
|
43
|
+
#import <LiveKitWebRTC/RTCRtpEncodingParameters.h>
|
|
44
|
+
#import <LiveKitWebRTC/RTCRtpHeaderExtension.h>
|
|
45
|
+
#import <LiveKitWebRTC/RTCRtpHeaderExtensionCapability.h>
|
|
46
|
+
#import <LiveKitWebRTC/RTCRtpParameters.h>
|
|
47
|
+
#import <LiveKitWebRTC/RTCRtpReceiver.h>
|
|
48
|
+
#import <LiveKitWebRTC/RTCRtpSender.h>
|
|
49
|
+
#import <LiveKitWebRTC/RTCRtpSource.h>
|
|
50
|
+
#import <LiveKitWebRTC/RTCRtpTransceiver.h>
|
|
51
|
+
#import <LiveKitWebRTC/RTCSSLAdapter.h>
|
|
52
|
+
#import <LiveKitWebRTC/RTCSessionDescription.h>
|
|
53
|
+
#import <LiveKitWebRTC/RTCStatisticsReport.h>
|
|
54
|
+
#import <LiveKitWebRTC/RTCTracing.h>
|
|
55
|
+
#import <LiveKitWebRTC/RTCVideoSource.h>
|
|
56
|
+
#import <LiveKitWebRTC/RTCVideoTrack.h>
|
|
57
|
+
#import <LiveKitWebRTC/RTCVideoDecoderAV1.h>
|
|
58
|
+
#import <LiveKitWebRTC/RTCVideoDecoderVP8.h>
|
|
59
|
+
#import <LiveKitWebRTC/RTCVideoDecoderVP9.h>
|
|
60
|
+
#import <LiveKitWebRTC/RTCVideoEncoderAV1.h>
|
|
61
|
+
#import <LiveKitWebRTC/RTCVideoEncoderVP8.h>
|
|
62
|
+
#import <LiveKitWebRTC/RTCVideoEncoderVP9.h>
|
|
63
|
+
#import <LiveKitWebRTC/RTCNativeI420Buffer.h>
|
|
64
|
+
#import <LiveKitWebRTC/RTCNativeMutableI420Buffer.h>
|
|
65
|
+
#import <LiveKitWebRTC/RTCCodecSpecificInfo.h>
|
|
66
|
+
#import <LiveKitWebRTC/RTCEncodedImage.h>
|
|
67
|
+
#import <LiveKitWebRTC/RTCI420Buffer.h>
|
|
68
|
+
#import <LiveKitWebRTC/RTCLogging.h>
|
|
69
|
+
#import <LiveKitWebRTC/RTCMacros.h>
|
|
70
|
+
#import <LiveKitWebRTC/RTCMutableI420Buffer.h>
|
|
71
|
+
#import <LiveKitWebRTC/RTCMutableYUVPlanarBuffer.h>
|
|
72
|
+
#import <LiveKitWebRTC/RTCSSLCertificateVerifier.h>
|
|
73
|
+
#import <LiveKitWebRTC/RTCVideoCapturer.h>
|
|
74
|
+
#import <LiveKitWebRTC/RTCVideoCodecInfo.h>
|
|
75
|
+
#import <LiveKitWebRTC/RTCVideoDecoder.h>
|
|
76
|
+
#import <LiveKitWebRTC/RTCVideoDecoderFactory.h>
|
|
77
|
+
#import <LiveKitWebRTC/RTCVideoEncoder.h>
|
|
78
|
+
#import <LiveKitWebRTC/RTCVideoEncoderFactory.h>
|
|
79
|
+
#import <LiveKitWebRTC/RTCVideoEncoderQpThresholds.h>
|
|
80
|
+
#import <LiveKitWebRTC/RTCVideoEncoderSettings.h>
|
|
81
|
+
#import <LiveKitWebRTC/RTCVideoFrame.h>
|
|
82
|
+
#import <LiveKitWebRTC/RTCVideoFrameBuffer.h>
|
|
83
|
+
#import <LiveKitWebRTC/RTCVideoRenderer.h>
|
|
84
|
+
#import <LiveKitWebRTC/RTCAudioRenderer.h>
|
|
85
|
+
#import <LiveKitWebRTC/RTCYUVPlanarBuffer.h>
|
|
86
|
+
#import <LiveKitWebRTC/RTCCameraVideoCapturer.h>
|
|
87
|
+
#import <LiveKitWebRTC/RTCFileVideoCapturer.h>
|
|
88
|
+
#import <LiveKitWebRTC/RTCDesktopCapturer.h>
|
|
89
|
+
#import <LiveKitWebRTC/RTCDesktopSource.h>
|
|
90
|
+
#import <LiveKitWebRTC/RTCDesktopMediaList.h>
|
|
91
|
+
#import <LiveKitWebRTC/RTCMTLVideoView.h>
|
|
92
|
+
#import <LiveKitWebRTC/RTCMTLNSVideoView.h>
|
|
93
|
+
#import <LiveKitWebRTC/RTCVideoViewShading.h>
|
|
94
|
+
#import <LiveKitWebRTC/RTCCodecSpecificInfoH264.h>
|
|
95
|
+
#import <LiveKitWebRTC/RTCDefaultVideoDecoderFactory.h>
|
|
96
|
+
#import <LiveKitWebRTC/RTCDefaultVideoEncoderFactory.h>
|
|
97
|
+
#import <LiveKitWebRTC/RTCH264ProfileLevelId.h>
|
|
98
|
+
#import <LiveKitWebRTC/RTCVideoDecoderFactoryH264.h>
|
|
99
|
+
#import <LiveKitWebRTC/RTCVideoDecoderH264.h>
|
|
100
|
+
#import <LiveKitWebRTC/RTCVideoEncoderFactoryH264.h>
|
|
101
|
+
#import <LiveKitWebRTC/RTCVideoEncoderH264.h>
|
|
102
|
+
#import <LiveKitWebRTC/RTCCVPixelBuffer.h>
|
|
103
|
+
#import <LiveKitWebRTC/RTCDispatcher.h>
|
|
104
|
+
#import <LiveKitWebRTC/RTCYUVHelper.h>
|
|
105
|
+
#import <LiveKitWebRTC/RTCVideoEncoderFactorySimulcast.h>
|
|
106
|
+
#import <LiveKitWebRTC/RTCVideoEncoderSimulcast.h>
|
|
107
|
+
#import <LiveKitWebRTC/RTCAudioBuffer.h>
|
|
108
|
+
#import <LiveKitWebRTC/RTCAudioProcessingModule.h>
|
|
109
|
+
#import <LiveKitWebRTC/RTCDefaultAudioProcessingModule.h>
|
|
110
|
+
#import <LiveKitWebRTC/RTCAudioCustomProcessingDelegate.h>
|
|
111
|
+
#import <LiveKitWebRTC/RTCAudioProcessingConfig.h>
|
|
112
|
+
#import <LiveKitWebRTC/RTCCallbackLogger.h>
|
|
113
|
+
#import <LiveKitWebRTC/RTCFileLogger.h>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 LiveKit
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#import <Foundation/Foundation.h>
|
|
18
|
+
|
|
19
|
+
#import <LiveKitWebRTC/RTCMacros.h>
|
|
20
|
+
|
|
21
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
22
|
+
|
|
23
|
+
RTC_OBJC_EXPORT
|
|
24
|
+
@interface RTC_OBJC_TYPE (RTCAudioBuffer) : NSObject
|
|
25
|
+
|
|
26
|
+
@property(nonatomic, readonly) size_t channels;
|
|
27
|
+
@property(nonatomic, readonly) size_t frames;
|
|
28
|
+
@property(nonatomic, readonly) size_t framesPerBand;
|
|
29
|
+
@property(nonatomic, readonly) size_t bands;
|
|
30
|
+
|
|
31
|
+
// Returns pointer arrays. Index range from 0 to `frames`.
|
|
32
|
+
- (float* _Nonnull)rawBufferForChannel:(size_t)channel;
|
|
33
|
+
|
|
34
|
+
// TODO: More convenience methods...
|
|
35
|
+
|
|
36
|
+
@end
|
|
37
|
+
|
|
38
|
+
NS_ASSUME_NONNULL_END
|
package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioCustomProcessingDelegate.h
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 LiveKit
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#import <Foundation/Foundation.h>
|
|
18
|
+
|
|
19
|
+
#import <LiveKitWebRTC/RTCMacros.h>
|
|
20
|
+
|
|
21
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
22
|
+
|
|
23
|
+
@class RTC_OBJC_TYPE(RTCAudioBuffer);
|
|
24
|
+
|
|
25
|
+
RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCAudioCustomProcessingDelegate)<NSObject>
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* (Re-)initialize the audio processor.
|
|
29
|
+
* This method can be invoked multiple times.
|
|
30
|
+
*/
|
|
31
|
+
- (void)audioProcessingInitializeWithSampleRate : (size_t)sampleRateHz channels
|
|
32
|
+
: (size_t)channels NS_SWIFT_NAME(audioProcessingInitialize(sampleRate:channels:));
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Process (read or write) the audio buffer.
|
|
36
|
+
* RTCAudioBuffer is a simple wrapper for webrtc::AudioBuffer and the valid scope is only inside
|
|
37
|
+
* this method. Do not retain it.
|
|
38
|
+
*/
|
|
39
|
+
- (void)audioProcessingProcess:(RTC_OBJC_TYPE(RTCAudioBuffer) *)audioBuffer
|
|
40
|
+
NS_SWIFT_NAME(audioProcessingProcess(audioBuffer:));
|
|
41
|
+
|
|
42
|
+
// TOOD:
|
|
43
|
+
// virtual void SetRuntimeSetting(AudioProcessing::RuntimeSetting setting);
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Suggests releasing resources allocated by the audio processor.
|
|
47
|
+
*/
|
|
48
|
+
- (void)audioProcessingRelease;
|
|
49
|
+
|
|
50
|
+
@end
|
|
51
|
+
|
|
52
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 LiveKit
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#import <AVFAudio/AVFAudio.h>
|
|
18
|
+
#import <CoreMedia/CoreMedia.h>
|
|
19
|
+
#import <Foundation/Foundation.h>
|
|
20
|
+
|
|
21
|
+
#import <LiveKitWebRTC/RTCIODevice.h>
|
|
22
|
+
#import <LiveKitWebRTC/RTCMacros.h>
|
|
23
|
+
|
|
24
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
25
|
+
|
|
26
|
+
typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCAudioDeviceModuleType)) {
|
|
27
|
+
RTC_OBJC_TYPE(RTCAudioDeviceModuleTypePlatformDefault),
|
|
28
|
+
RTC_OBJC_TYPE(RTCAudioDeviceModuleTypeAudioEngine),
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCSpeechActivityEvent)) {
|
|
32
|
+
RTC_OBJC_TYPE(RTCSpeechActivityEventStarted),
|
|
33
|
+
RTC_OBJC_TYPE(RTCSpeechActivityEventEnded),
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCAudioEngineMuteMode)) {
|
|
37
|
+
RTC_OBJC_TYPE(RTCAudioEngineMuteModeUnknown) = -1,
|
|
38
|
+
RTC_OBJC_TYPE(RTCAudioEngineMuteModeVoiceProcessing) = 0,
|
|
39
|
+
RTC_OBJC_TYPE(RTCAudioEngineMuteModeRestartEngine) = 1,
|
|
40
|
+
RTC_OBJC_TYPE(RTCAudioEngineMuteModeInputMixer) = 2,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// Ducking level for voice processing.
|
|
44
|
+
// Maps to AVAudioVoiceProcessingOtherAudioDuckingLevel (iOS 17.0+, macOS 14.0+).
|
|
45
|
+
typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCAudioDuckingLevel)) {
|
|
46
|
+
RTC_OBJC_TYPE(RTCAudioDuckingLevelDefault) = 0,
|
|
47
|
+
RTC_OBJC_TYPE(RTCAudioDuckingLevelMin) = 1,
|
|
48
|
+
RTC_OBJC_TYPE(RTCAudioDuckingLevelMid) = 2,
|
|
49
|
+
RTC_OBJC_TYPE(RTCAudioDuckingLevelMax) = 3,
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
typedef struct {
|
|
53
|
+
BOOL outputEnabled;
|
|
54
|
+
BOOL outputRunning;
|
|
55
|
+
BOOL inputEnabled;
|
|
56
|
+
BOOL inputRunning;
|
|
57
|
+
BOOL inputMuted;
|
|
58
|
+
RTC_OBJC_TYPE(RTCAudioEngineMuteMode) muteMode;
|
|
59
|
+
} RTC_OBJC_TYPE(RTCAudioEngineState);
|
|
60
|
+
|
|
61
|
+
typedef struct {
|
|
62
|
+
BOOL isInputAvailable;
|
|
63
|
+
BOOL isOutputAvailable;
|
|
64
|
+
} RTC_OBJC_TYPE(RTCAudioEngineAvailability);
|
|
65
|
+
|
|
66
|
+
// Values must match webrtc::AudioDeviceModule::PlatformAudioProcessingTopology.
|
|
67
|
+
typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCPlatformAudioProcessingTopology)) {
|
|
68
|
+
RTC_OBJC_TYPE(RTCPlatformAudioProcessingTopologyIndependent) = 0,
|
|
69
|
+
RTC_OBJC_TYPE(RTCPlatformAudioProcessingTopologyEchoCancellationAndNoiseSuppressionCoupled) = 1,
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/** Diagnostic state of one platform (device built-in) processing effect.
|
|
73
|
+
* Requested/active read NO when the ADM or OS path cannot report the value.
|
|
74
|
+
*/
|
|
75
|
+
RTC_OBJC_EXPORT
|
|
76
|
+
@interface RTC_OBJC_TYPE (RTCPlatformAudioProcessingComponentState) : NSObject
|
|
77
|
+
|
|
78
|
+
/** Whether the device offers this effect at all. */
|
|
79
|
+
@property(nonatomic, readonly, getter=isAvailable) BOOL available;
|
|
80
|
+
/** The last state requested from the ADM. */
|
|
81
|
+
@property(nonatomic, readonly, getter=isRequested) BOOL requested;
|
|
82
|
+
/** Live OS readback when the ADM can query the effect. */
|
|
83
|
+
@property(nonatomic, readonly, getter=isActive) BOOL active;
|
|
84
|
+
|
|
85
|
+
- (instancetype)init NS_UNAVAILABLE;
|
|
86
|
+
|
|
87
|
+
@end
|
|
88
|
+
|
|
89
|
+
/** Device-level snapshot of platform audio processing.
|
|
90
|
+
*
|
|
91
|
+
* On Apple AudioEngine, AEC and NS are coupled through Voice Processing I/O,
|
|
92
|
+
* so one shared platform path can affect both components (see `topology`).
|
|
93
|
+
*
|
|
94
|
+
* The voiceProcessing* properties reflect the Apple Voice Processing I/O
|
|
95
|
+
* unit. Requested values are the state stored by the ADM and can be known
|
|
96
|
+
* before input is configured: enabled maps to AVAudioInputNode
|
|
97
|
+
* setVoiceProcessingEnabled (turning it off removes the VPIO graph
|
|
98
|
+
* entirely); bypassed maps to voiceProcessingBypassed while VPIO is enabled
|
|
99
|
+
* (disables Apple's coupled AEC/NS path without rebuilding the engine); AGC
|
|
100
|
+
* has a separate switch that only has an effect while VPIO is active.
|
|
101
|
+
* Active values are live readback from the platform input node; they read NO
|
|
102
|
+
* before input is configured, after the input path is torn down, or where
|
|
103
|
+
* the value is not observable, and can temporarily differ from requested
|
|
104
|
+
* while the engine applies a transition or if the OS rejects a request.
|
|
105
|
+
*/
|
|
106
|
+
RTC_OBJC_EXPORT
|
|
107
|
+
@interface RTC_OBJC_TYPE (RTCPlatformAudioProcessingState) : NSObject
|
|
108
|
+
|
|
109
|
+
@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCPlatformAudioProcessingTopology) topology;
|
|
110
|
+
|
|
111
|
+
@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCPlatformAudioProcessingComponentState) *echoCancellation;
|
|
112
|
+
@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCPlatformAudioProcessingComponentState) *noiseSuppression;
|
|
113
|
+
@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCPlatformAudioProcessingComponentState) *autoGainControl;
|
|
114
|
+
|
|
115
|
+
@property(nonatomic, readonly, getter=isVoiceProcessingEnabledRequested) BOOL voiceProcessingEnabledRequested;
|
|
116
|
+
@property(nonatomic, readonly, getter=isVoiceProcessingBypassedRequested) BOOL voiceProcessingBypassedRequested;
|
|
117
|
+
@property(nonatomic, readonly, getter=isVoiceProcessingAGCEnabledRequested) BOOL voiceProcessingAGCEnabledRequested;
|
|
118
|
+
@property(nonatomic, readonly, getter=isVoiceProcessingEnabledActive) BOOL voiceProcessingEnabledActive;
|
|
119
|
+
@property(nonatomic, readonly, getter=isVoiceProcessingBypassedActive) BOOL voiceProcessingBypassedActive;
|
|
120
|
+
@property(nonatomic, readonly, getter=isVoiceProcessingAGCEnabledActive) BOOL voiceProcessingAGCEnabledActive;
|
|
121
|
+
|
|
122
|
+
- (instancetype)init NS_UNAVAILABLE;
|
|
123
|
+
|
|
124
|
+
@end
|
|
125
|
+
|
|
126
|
+
RTC_EXTERN NSString *const RTC_CONSTANT_TYPE(RTCAudioEngineInputMixerNodeKey);
|
|
127
|
+
|
|
128
|
+
@class RTC_OBJC_TYPE(RTCAudioDeviceModule);
|
|
129
|
+
@class RTC_OBJC_TYPE(RTCAudioProcessingOptions);
|
|
130
|
+
|
|
131
|
+
RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE
|
|
132
|
+
(RTCAudioDeviceModuleDelegate)<NSObject>
|
|
133
|
+
|
|
134
|
+
- (void)audioDeviceModule
|
|
135
|
+
: (RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule didReceiveSpeechActivityEvent
|
|
136
|
+
: (RTC_OBJC_TYPE(RTCSpeechActivityEvent))speechActivityEvent NS_SWIFT_NAME(audioDeviceModule(_:didReceiveSpeechActivityEvent:));
|
|
137
|
+
|
|
138
|
+
// Engine events
|
|
139
|
+
- (NSInteger)audioDeviceModule:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
|
|
140
|
+
didCreateEngine:(AVAudioEngine *)engine
|
|
141
|
+
NS_SWIFT_NAME(audioDeviceModule(_:didCreateEngine:));
|
|
142
|
+
|
|
143
|
+
- (NSInteger)audioDeviceModule:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
|
|
144
|
+
willEnableEngine:(AVAudioEngine *)engine
|
|
145
|
+
isPlayoutEnabled:(BOOL)isPlayoutEnabled
|
|
146
|
+
isRecordingEnabled:(BOOL)isRecordingEnabled
|
|
147
|
+
NS_SWIFT_NAME(audioDeviceModule(_:willEnableEngine:isPlayoutEnabled:isRecordingEnabled:));
|
|
148
|
+
|
|
149
|
+
- (NSInteger)audioDeviceModule:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
|
|
150
|
+
willStartEngine:(AVAudioEngine *)engine
|
|
151
|
+
isPlayoutEnabled:(BOOL)isPlayoutEnabled
|
|
152
|
+
isRecordingEnabled:(BOOL)isRecordingEnabled
|
|
153
|
+
NS_SWIFT_NAME(audioDeviceModule(_:willStartEngine:isPlayoutEnabled:isRecordingEnabled:));
|
|
154
|
+
|
|
155
|
+
- (NSInteger)audioDeviceModule:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
|
|
156
|
+
didStopEngine:(AVAudioEngine *)engine
|
|
157
|
+
isPlayoutEnabled:(BOOL)isPlayoutEnabled
|
|
158
|
+
isRecordingEnabled:(BOOL)isRecordingEnabled
|
|
159
|
+
NS_SWIFT_NAME(audioDeviceModule(_:didStopEngine:isPlayoutEnabled:isRecordingEnabled:));
|
|
160
|
+
|
|
161
|
+
- (NSInteger)audioDeviceModule:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
|
|
162
|
+
didDisableEngine:(AVAudioEngine *)engine
|
|
163
|
+
isPlayoutEnabled:(BOOL)isPlayoutEnabled
|
|
164
|
+
isRecordingEnabled:(BOOL)isRecordingEnabled
|
|
165
|
+
NS_SWIFT_NAME(audioDeviceModule(_:didDisableEngine:isPlayoutEnabled:isRecordingEnabled:));
|
|
166
|
+
|
|
167
|
+
- (NSInteger)audioDeviceModule:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
|
|
168
|
+
willReleaseEngine:(AVAudioEngine *)engine
|
|
169
|
+
NS_SWIFT_NAME(audioDeviceModule(_:willReleaseEngine:));
|
|
170
|
+
|
|
171
|
+
- (NSInteger)audioDeviceModule:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
|
|
172
|
+
engine:(AVAudioEngine *)engine
|
|
173
|
+
configureInputFromSource:(nullable AVAudioNode *)source
|
|
174
|
+
toDestination:(AVAudioNode *)destination
|
|
175
|
+
withFormat:(AVAudioFormat *)format
|
|
176
|
+
context:(NSDictionary *)context
|
|
177
|
+
NS_SWIFT_NAME(audioDeviceModule(_:engine:configureInputFromSource:toDestination:format:context:));
|
|
178
|
+
|
|
179
|
+
- (NSInteger)audioDeviceModule:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
|
|
180
|
+
engine:(AVAudioEngine *)engine
|
|
181
|
+
configureOutputFromSource:(AVAudioNode *)source
|
|
182
|
+
toDestination:(nullable AVAudioNode *)destination
|
|
183
|
+
withFormat:(AVAudioFormat *)format
|
|
184
|
+
context:(NSDictionary *)context
|
|
185
|
+
NS_SWIFT_NAME(audioDeviceModule(_:engine:configureOutputFromSource:toDestination:format:context:));
|
|
186
|
+
|
|
187
|
+
- (void)audioDeviceModuleDidUpdateDevices:(RTC_OBJC_TYPE(RTCAudioDeviceModule) *)audioDeviceModule
|
|
188
|
+
NS_SWIFT_NAME(audioDeviceModuleDidUpdateDevices(_:));
|
|
189
|
+
|
|
190
|
+
@end
|
|
191
|
+
|
|
192
|
+
RTC_OBJC_EXPORT
|
|
193
|
+
@interface RTC_OBJC_TYPE(RTCAudioDeviceModule) : NSObject
|
|
194
|
+
|
|
195
|
+
@property(nonatomic, readonly) NSArray<RTC_OBJC_TYPE(RTCIODevice) *> *outputDevices;
|
|
196
|
+
@property(nonatomic, readonly) NSArray<RTC_OBJC_TYPE(RTCIODevice) *> *inputDevices;
|
|
197
|
+
|
|
198
|
+
@property(nonatomic, readonly) BOOL playing;
|
|
199
|
+
@property(nonatomic, readonly) BOOL recording;
|
|
200
|
+
|
|
201
|
+
@property(nonatomic, strong) RTC_OBJC_TYPE(RTCIODevice) * outputDevice;
|
|
202
|
+
@property(nonatomic, strong) RTC_OBJC_TYPE(RTCIODevice) * inputDevice;
|
|
203
|
+
|
|
204
|
+
// Executes low-level API's in sequence to switch the device
|
|
205
|
+
// Use outputDevice / inputDevice property unless you need to know if setting the device is
|
|
206
|
+
// successful.
|
|
207
|
+
- (BOOL)trySetOutputDevice:(nullable RTC_OBJC_TYPE(RTCIODevice) *)device;
|
|
208
|
+
- (BOOL)trySetInputDevice:(nullable RTC_OBJC_TYPE(RTCIODevice) *)device;
|
|
209
|
+
|
|
210
|
+
- (NSInteger)startPlayout;
|
|
211
|
+
- (NSInteger)stopPlayout;
|
|
212
|
+
- (NSInteger)initPlayout;
|
|
213
|
+
- (NSInteger)startRecording;
|
|
214
|
+
- (NSInteger)stopRecording;
|
|
215
|
+
- (NSInteger)initRecording;
|
|
216
|
+
|
|
217
|
+
- (NSInteger)initAndStartRecording;
|
|
218
|
+
- (NSInteger)initAndStartRecordingWithAudioProcessingOptions:
|
|
219
|
+
(nullable RTC_OBJC_TYPE(RTCAudioProcessingOptions) *)options
|
|
220
|
+
NS_SWIFT_NAME(initAndStartRecording(audioProcessingOptions:));
|
|
221
|
+
|
|
222
|
+
- (NSInteger)setEngineAvailability:(RTC_OBJC_TYPE(RTCAudioEngineAvailability))availability;
|
|
223
|
+
|
|
224
|
+
// For testing purposes
|
|
225
|
+
@property(nonatomic, readonly) BOOL isPlayoutInitialized;
|
|
226
|
+
@property(nonatomic, readonly) BOOL isRecordingInitialized;
|
|
227
|
+
@property(nonatomic, readonly) BOOL isPlaying;
|
|
228
|
+
@property(nonatomic, readonly) BOOL isRecording;
|
|
229
|
+
@property(nonatomic, readonly) BOOL isEngineRunning;
|
|
230
|
+
@property(nonatomic, readonly) BOOL isMicrophoneMuted;
|
|
231
|
+
- (NSInteger)setMicrophoneMuted:(BOOL)muted;
|
|
232
|
+
|
|
233
|
+
// Directly get & set engine state.
|
|
234
|
+
@property(nonatomic, assign) RTC_OBJC_TYPE(RTCAudioEngineState) engineState;
|
|
235
|
+
|
|
236
|
+
@property(nonatomic, readonly, getter=isRecordingAlwaysPreparedMode)
|
|
237
|
+
BOOL recordingAlwaysPreparedMode;
|
|
238
|
+
- (NSInteger)setRecordingAlwaysPreparedMode:(BOOL)enabled;
|
|
239
|
+
- (NSInteger)setRecordingAlwaysPreparedMode:(BOOL)enabled
|
|
240
|
+
audioProcessingOptions:(nullable RTC_OBJC_TYPE(RTCAudioProcessingOptions) *)options
|
|
241
|
+
NS_SWIFT_NAME(setRecordingAlwaysPreparedMode(_:audioProcessingOptions:));
|
|
242
|
+
|
|
243
|
+
@property(nonatomic, weak, nullable) id<RTC_OBJC_TYPE(RTCAudioDeviceModuleDelegate)> observer;
|
|
244
|
+
|
|
245
|
+
// Manual rendering.
|
|
246
|
+
@property(nonatomic, readonly, getter=isManualRenderingMode) BOOL manualRenderingMode;
|
|
247
|
+
- (NSInteger)setManualRenderingMode:(BOOL)enabled;
|
|
248
|
+
|
|
249
|
+
// Advanced other audio ducking.
|
|
250
|
+
@property(nonatomic, assign, getter=isAdvancedDuckingEnabled) BOOL advancedDuckingEnabled;
|
|
251
|
+
|
|
252
|
+
// Audio ducking level. Maps to AVAudioVoiceProcessingOtherAudioDuckingLevel (iOS 17.0+, macOS 14.0+).
|
|
253
|
+
@property(nonatomic, assign) RTC_OBJC_TYPE(RTCAudioDuckingLevel) duckingLevel;
|
|
254
|
+
|
|
255
|
+
@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCAudioEngineMuteMode) muteMode;
|
|
256
|
+
- (NSInteger)setMuteMode:(RTC_OBJC_TYPE(RTCAudioEngineMuteMode))mode;
|
|
257
|
+
|
|
258
|
+
/// App-level policy for Apple's platform voice processing. Defaults to true.
|
|
259
|
+
///
|
|
260
|
+
/// When this is false, runtime audio-processing options treat Apple Voice
|
|
261
|
+
/// Processing I/O as unavailable. Automatic mode falls back to WebRTC software
|
|
262
|
+
/// processing and platform mode is rejected by APIs that validate against this
|
|
263
|
+
/// ADM, including track requests created by factories that expose this ADM.
|
|
264
|
+
/// Factory paths without an exposed ADM may still store a platform request. In
|
|
265
|
+
/// that case the platform request resolves disabled at apply time. Turning this
|
|
266
|
+
/// off also tears down any currently requested VPIO path.
|
|
267
|
+
@property(nonatomic, readonly, getter=isPlatformVoiceProcessingAllowed) BOOL platformVoiceProcessingAllowed;
|
|
268
|
+
- (NSInteger)setPlatformVoiceProcessingAllowed:(BOOL)allowed;
|
|
269
|
+
|
|
270
|
+
/// Temporarily bypasses Voice-Processing I/O. Can be toggled at runtime without restarting the
|
|
271
|
+
/// Audio Engine. Defaults to false.
|
|
272
|
+
@property(nonatomic, assign, getter=isVoiceProcessingBypassed) BOOL voiceProcessingBypassed;
|
|
273
|
+
|
|
274
|
+
/// Indicates whether Automatic Gain Control (AGC) is enabled. Requires Voice-Processing I/O to be
|
|
275
|
+
/// enabled. Enabled by default when VPIO is enabled.
|
|
276
|
+
@property(nonatomic, assign, getter=isVoiceProcessingAGCEnabled) BOOL voiceProcessingAGCEnabled;
|
|
277
|
+
|
|
278
|
+
@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCAudioEngineAvailability) engineAvailability;
|
|
279
|
+
|
|
280
|
+
/// Diagnostic snapshot of platform audio processing state. Requested values are
|
|
281
|
+
/// the last state requested from the ADM. Active values are live OS readback
|
|
282
|
+
/// when the ADM can query the effect.
|
|
283
|
+
@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCPlatformAudioProcessingState) *platformAudioProcessingState;
|
|
284
|
+
|
|
285
|
+
@end
|
|
286
|
+
|
|
287
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 LiveKit
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#import <Foundation/Foundation.h>
|
|
18
|
+
#import <LiveKitWebRTC/RTCMacros.h>
|
|
19
|
+
|
|
20
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
21
|
+
|
|
22
|
+
RTC_OBJC_EXPORT
|
|
23
|
+
@interface RTC_OBJC_TYPE (RTCAudioProcessingConfig) : NSObject
|
|
24
|
+
|
|
25
|
+
@property(nonatomic, assign) BOOL isEchoCancellationEnabled;
|
|
26
|
+
@property(nonatomic, assign) BOOL isEchoCancellationMobileMode;
|
|
27
|
+
|
|
28
|
+
@property(nonatomic, assign) BOOL isNoiseSuppressionEnabled;
|
|
29
|
+
@property(nonatomic, assign) BOOL isHighpassFilterEnabled;
|
|
30
|
+
|
|
31
|
+
@property(nonatomic, assign) BOOL isAutoGainControl1Enabled;
|
|
32
|
+
@property(nonatomic, assign) BOOL isAutoGainControl2Enabled;
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@end
|
|
36
|
+
|
|
37
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 LiveKit
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#import <Foundation/Foundation.h>
|
|
18
|
+
|
|
19
|
+
#import <LiveKitWebRTC/RTCMacros.h>
|
|
20
|
+
|
|
21
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
22
|
+
|
|
23
|
+
@class RTC_OBJC_TYPE(RTCAudioProcessingConfig);
|
|
24
|
+
|
|
25
|
+
RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE (RTCAudioProcessingModule)<NSObject>
|
|
26
|
+
|
|
27
|
+
@property(nonatomic, strong) RTC_OBJC_TYPE(RTCAudioProcessingConfig) * config;
|
|
28
|
+
|
|
29
|
+
@end
|
|
30
|
+
|
|
31
|
+
NS_ASSUME_NONNULL_END
|