@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.
Files changed (116) hide show
  1. package/README.md +51 -0
  2. package/bin/sim-on.js +5 -0
  3. package/dist/simon.mjs +307 -0
  4. package/package.json +38 -0
  5. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/LiveKitWebRTC.h +113 -0
  6. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioBuffer.h +38 -0
  7. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioCustomProcessingDelegate.h +52 -0
  8. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioDeviceModule.h +287 -0
  9. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioProcessingConfig.h +37 -0
  10. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioProcessingModule.h +31 -0
  11. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioProcessingState.h +137 -0
  12. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioRenderer.h +35 -0
  13. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioSource.h +32 -0
  14. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCAudioTrack.h +150 -0
  15. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCVPixelBuffer.h +52 -0
  16. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCallbackLogger.h +41 -0
  17. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCameraVideoCapturer.h +71 -0
  18. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCertificate.h +47 -0
  19. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCodecSpecificInfo.h +24 -0
  20. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCodecSpecificInfoH264.h +27 -0
  21. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCConfiguration.h +278 -0
  22. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCCryptoOptions.h +66 -0
  23. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDataChannel.h +134 -0
  24. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDataChannelConfiguration.h +52 -0
  25. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDataPacketCryptor.h +52 -0
  26. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDefaultAudioProcessingModule.h +47 -0
  27. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDefaultVideoDecoderFactory.h +26 -0
  28. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDefaultVideoEncoderFactory.h +31 -0
  29. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDesktopCapturer.h +60 -0
  30. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDesktopMediaList.h +51 -0
  31. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDesktopSource.h +40 -0
  32. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDispatcher.h +46 -0
  33. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCDtmfSender.h +73 -0
  34. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCEncodedImage.h +52 -0
  35. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFieldTrials.h +34 -0
  36. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFileLogger.h +75 -0
  37. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFileVideoCapturer.h +51 -0
  38. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFrameCryptor.h +77 -0
  39. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCFrameCryptorKeyProvider.h +76 -0
  40. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCH264ProfileLevelId.h +60 -0
  41. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCI420Buffer.h +22 -0
  42. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIODevice.h +41 -0
  43. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIceCandidate.h +50 -0
  44. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIceCandidateErrorEvent.h +45 -0
  45. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCIceServer.h +114 -0
  46. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCLegacyStatsReport.h +37 -0
  47. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCLogging.h +66 -0
  48. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMTLNSVideoView.h +22 -0
  49. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMTLVideoView.h +63 -0
  50. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMacros.h +69 -0
  51. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaConstraints.h +47 -0
  52. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaSource.h +34 -0
  53. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaStream.h +50 -0
  54. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMediaStreamTrack.h +50 -0
  55. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMetrics.h +24 -0
  56. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMetricsSampleInfo.h +48 -0
  57. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMutableI420Buffer.h +24 -0
  58. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCMutableYUVPlanarBuffer.h +28 -0
  59. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCNativeI420Buffer.h +23 -0
  60. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCNativeMutableI420Buffer.h +24 -0
  61. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCPeerConnection.h +416 -0
  62. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCPeerConnectionFactory.h +159 -0
  63. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCPeerConnectionFactoryOptions.h +38 -0
  64. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtcpParameters.h +30 -0
  65. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpCapabilities.h +31 -0
  66. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpCodecCapability.h +58 -0
  67. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpCodecParameters.h +74 -0
  68. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpEncodingParameters.h +81 -0
  69. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpHeaderExtension.h +33 -0
  70. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpHeaderExtensionCapability.h +39 -0
  71. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpParameters.h +63 -0
  72. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpReceiver.h +105 -0
  73. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpSender.h +55 -0
  74. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpSource.h +66 -0
  75. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCRtpTransceiver.h +180 -0
  76. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCSSLAdapter.h +20 -0
  77. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCSSLCertificateVerifier.h +25 -0
  78. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCSessionDescription.h +48 -0
  79. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCStatisticsReport.h +58 -0
  80. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCTracing.h +21 -0
  81. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoCapturer.h +37 -0
  82. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoCodecInfo.h +43 -0
  83. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoder.h +41 -0
  84. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderAV1.h +25 -0
  85. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderFactory.h +33 -0
  86. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderFactoryH264.h +18 -0
  87. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderH264.h +18 -0
  88. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderVP8.h +25 -0
  89. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoDecoderVP9.h +27 -0
  90. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoder.h +62 -0
  91. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderAV1.h +34 -0
  92. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderFactory.h +78 -0
  93. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderFactoryH264.h +18 -0
  94. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderFactorySimulcast.h +16 -0
  95. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderH264.h +22 -0
  96. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderQpThresholds.h +29 -0
  97. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderSettings.h +42 -0
  98. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderSimulcast.h +13 -0
  99. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderVP8.h +30 -0
  100. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoEncoderVP9.h +34 -0
  101. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoFrame.h +86 -0
  102. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoFrameBuffer.h +40 -0
  103. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoRenderer.h +44 -0
  104. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoSource.h +37 -0
  105. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoTrack.h +41 -0
  106. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCVideoViewShading.h +39 -0
  107. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCYUVHelper.h +118 -0
  108. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Headers/RTCYUVPlanarBuffer.h +46 -0
  109. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/LiveKitWebRTC +0 -0
  110. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Modules/module.modulemap +6 -0
  111. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Resources/Info.plist +36 -0
  112. package/vendor/helper/LiveKitWebRTC.framework/Versions/A/Versions/A/Resources/PrivacyInfo.xcprivacy +32 -0
  113. package/vendor/helper/simon-helper +0 -0
  114. package/vendor/web/app.js +54 -0
  115. package/vendor/web/index.html +15 -0
  116. package/vendor/web/styles.css +435 -0
@@ -0,0 +1,416 @@
1
+ /*
2
+ * Copyright 2015 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 <Foundation/Foundation.h>
12
+
13
+ #import <LiveKitWebRTC/RTCMacros.h>
14
+
15
+ @class RTC_OBJC_TYPE(RTCConfiguration);
16
+ @class RTC_OBJC_TYPE(RTCDataChannel);
17
+ @class RTC_OBJC_TYPE(RTCDataChannelConfiguration);
18
+ @class RTC_OBJC_TYPE(RTCIceCandidate);
19
+ @class RTC_OBJC_TYPE(RTCIceCandidateErrorEvent);
20
+ @class RTC_OBJC_TYPE(RTCMediaConstraints);
21
+ @class RTC_OBJC_TYPE(RTCMediaStream);
22
+ @class RTC_OBJC_TYPE(RTCMediaStreamTrack);
23
+ @class RTC_OBJC_TYPE(RTCPeerConnectionFactory);
24
+ @class RTC_OBJC_TYPE(RTCRtpReceiver);
25
+ @class RTC_OBJC_TYPE(RTCRtpSender);
26
+ @class RTC_OBJC_TYPE(RTCRtpTransceiver);
27
+ @class RTC_OBJC_TYPE(RTCRtpTransceiverInit);
28
+ @class RTC_OBJC_TYPE(RTCSessionDescription);
29
+ @class RTC_OBJC_TYPE(RTCStatisticsReport);
30
+ @class RTC_OBJC_TYPE(RTCLegacyStatsReport);
31
+
32
+ typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCRtpMediaType));
33
+
34
+ NS_ASSUME_NONNULL_BEGIN
35
+
36
+ extern NSString *const RTC_CONSTANT_TYPE(RTCPeerConnectionErrorDomain);
37
+ extern int const RTC_CONSTANT_TYPE(RTCSessionDescriptionErrorCode);
38
+
39
+ /** Represents the signaling state of the peer connection. */
40
+ typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCSignalingState)) {
41
+ RTC_OBJC_TYPE(RTCSignalingStateStable),
42
+ RTC_OBJC_TYPE(RTCSignalingStateHaveLocalOffer),
43
+ RTC_OBJC_TYPE(RTCSignalingStateHaveLocalPrAnswer),
44
+ RTC_OBJC_TYPE(RTCSignalingStateHaveRemoteOffer),
45
+ RTC_OBJC_TYPE(RTCSignalingStateHaveRemotePrAnswer),
46
+ // Not an actual state, represents the total number of states.
47
+ RTC_OBJC_TYPE(RTCSignalingStateClosed),
48
+ };
49
+
50
+ /** Represents the ice connection state of the peer connection. */
51
+ typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCIceConnectionState)) {
52
+ RTC_OBJC_TYPE(RTCIceConnectionStateNew),
53
+ RTC_OBJC_TYPE(RTCIceConnectionStateChecking),
54
+ RTC_OBJC_TYPE(RTCIceConnectionStateConnected),
55
+ RTC_OBJC_TYPE(RTCIceConnectionStateCompleted),
56
+ RTC_OBJC_TYPE(RTCIceConnectionStateFailed),
57
+ RTC_OBJC_TYPE(RTCIceConnectionStateDisconnected),
58
+ RTC_OBJC_TYPE(RTCIceConnectionStateClosed),
59
+ RTC_OBJC_TYPE(RTCIceConnectionStateCount),
60
+ };
61
+
62
+ /** Represents the combined ice+dtls connection state of the peer connection. */
63
+ typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCPeerConnectionState)) {
64
+ RTC_OBJC_TYPE(RTCPeerConnectionStateNew),
65
+ RTC_OBJC_TYPE(RTCPeerConnectionStateConnecting),
66
+ RTC_OBJC_TYPE(RTCPeerConnectionStateConnected),
67
+ RTC_OBJC_TYPE(RTCPeerConnectionStateDisconnected),
68
+ RTC_OBJC_TYPE(RTCPeerConnectionStateFailed),
69
+ RTC_OBJC_TYPE(RTCPeerConnectionStateClosed),
70
+ };
71
+
72
+ /** Represents the ice gathering state of the peer connection. */
73
+ typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCIceGatheringState)) {
74
+ RTC_OBJC_TYPE(RTCIceGatheringStateNew),
75
+ RTC_OBJC_TYPE(RTCIceGatheringStateGathering),
76
+ RTC_OBJC_TYPE(RTCIceGatheringStateComplete),
77
+ };
78
+
79
+ /** Represents the stats output level. */
80
+ typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCStatsOutputLevel)) {
81
+ RTC_OBJC_TYPE(RTCStatsOutputLevelStandard),
82
+ RTC_OBJC_TYPE(RTCStatsOutputLevelDebug),
83
+ };
84
+
85
+ typedef void (^RTCCreateSessionDescriptionCompletionHandler)(
86
+ RTC_OBJC_TYPE(RTCSessionDescription) *_Nullable sdp,
87
+ NSError *_Nullable error);
88
+
89
+ typedef void (^RTCSetSessionDescriptionCompletionHandler)(
90
+ NSError *_Nullable error);
91
+
92
+ @class RTC_OBJC_TYPE(RTCPeerConnection);
93
+
94
+ RTC_OBJC_EXPORT
95
+ @protocol RTC_OBJC_TYPE
96
+ (RTCPeerConnectionDelegate)<NSObject>
97
+
98
+ /** Called when the SignalingState changed. */
99
+ - (void)peerConnection
100
+ : (RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection didChangeSignalingState
101
+ : (RTC_OBJC_TYPE(RTCSignalingState))stateChanged;
102
+
103
+ /** Called when media is received on a new stream from remote peer. */
104
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
105
+ didAddStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream;
106
+
107
+ /** Called when a remote peer closes a stream.
108
+ * This is not called when RTCSdpSemanticsUnifiedPlan is specified.
109
+ */
110
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
111
+ didRemoveStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream;
112
+
113
+ /** Called when negotiation is needed, for example ICE has restarted. */
114
+ - (void)peerConnectionShouldNegotiate:
115
+ (RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection;
116
+
117
+ /** Called any time the IceConnectionState changes. */
118
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
119
+ didChangeIceConnectionState:(RTC_OBJC_TYPE(RTCIceConnectionState))newState;
120
+
121
+ /** Called any time the IceGatheringState changes. */
122
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
123
+ didChangeIceGatheringState:(RTC_OBJC_TYPE(RTCIceGatheringState))newState;
124
+
125
+ /** New ice candidate has been found. */
126
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
127
+ didGenerateIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate;
128
+
129
+ /** Called when a group of local Ice candidates have been removed. */
130
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
131
+ didRemoveIceCandidates:
132
+ (NSArray<RTC_OBJC_TYPE(RTCIceCandidate) *> *)candidates;
133
+
134
+ /** New data channel has been opened. */
135
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
136
+ didOpenDataChannel:(RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel;
137
+
138
+ /** Called when signaling indicates a transceiver will be receiving media from
139
+ * the remote endpoint.
140
+ * This is only called with RTCSdpSemanticsUnifiedPlan specified.
141
+ */
142
+ @optional
143
+ /** Called any time the IceConnectionState changes following standardized
144
+ * transition. */
145
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
146
+ didChangeStandardizedIceConnectionState:(RTC_OBJC_TYPE(RTCIceConnectionState))newState;
147
+
148
+ /** Called any time the PeerConnectionState changes. */
149
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
150
+ didChangeConnectionState:(RTC_OBJC_TYPE(RTCPeerConnectionState))newState;
151
+
152
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
153
+ didStartReceivingOnTransceiver:
154
+ (RTC_OBJC_TYPE(RTCRtpTransceiver) *)transceiver;
155
+
156
+ /** Called when a receiver and its track are created. */
157
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
158
+ didAddReceiver:(RTC_OBJC_TYPE(RTCRtpReceiver) *)rtpReceiver
159
+ streams:(NSArray<RTC_OBJC_TYPE(RTCMediaStream) *> *)mediaStreams;
160
+
161
+ /** Called when the receiver and its track are removed. */
162
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
163
+ didRemoveReceiver:(RTC_OBJC_TYPE(RTCRtpReceiver) *)rtpReceiver;
164
+
165
+ /** Called when the selected ICE candidate pair is changed. */
166
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
167
+ didChangeLocalCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)local
168
+ remoteCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)remote
169
+ lastReceivedMs:(int)lastDataReceivedMs
170
+ changeReason:(NSString *)reason;
171
+
172
+ /** Called when gathering of an ICE candidate failed. */
173
+ - (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection
174
+ didFailToGatherIceCandidate:
175
+ (RTC_OBJC_TYPE(RTCIceCandidateErrorEvent) *)event;
176
+
177
+ @end
178
+
179
+ RTC_OBJC_EXPORT
180
+ @interface RTC_OBJC_TYPE (RTCPeerConnection) : NSObject
181
+
182
+ /** The object that will be notifed about events such as state changes and
183
+ * streams being added or removed.
184
+ */
185
+ @property(nonatomic, weak, nullable) id<RTC_OBJC_TYPE(RTCPeerConnectionDelegate)> delegate;
186
+ /** This property is not available with RTCSdpSemanticsUnifiedPlan. Please use
187
+ * `senders` instead.
188
+ */
189
+ @property(nonatomic, readonly) NSArray<RTC_OBJC_TYPE(RTCMediaStream) *> *localStreams;
190
+ @property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * localDescription;
191
+ @property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * remoteDescription;
192
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCSignalingState) signalingState;
193
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCIceConnectionState) iceConnectionState;
194
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCPeerConnectionState) connectionState;
195
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCIceGatheringState) iceGatheringState;
196
+ @property(nonatomic, readonly, copy) RTC_OBJC_TYPE(RTCConfiguration) * configuration;
197
+
198
+ /** Gets all RTCRtpSenders associated with this peer connection.
199
+ * Note: reading this property returns different instances of RTCRtpSender.
200
+ * Use isEqual: instead of == to compare RTCRtpSender instances.
201
+ */
202
+ @property(nonatomic, readonly) NSArray<RTC_OBJC_TYPE(RTCRtpSender) *> *senders;
203
+
204
+ /** Gets all RTCRtpReceivers associated with this peer connection.
205
+ * Note: reading this property returns different instances of RTCRtpReceiver.
206
+ * Use isEqual: instead of == to compare RTCRtpReceiver instances.
207
+ */
208
+ @property(nonatomic, readonly)
209
+ NSArray<RTC_OBJC_TYPE(RTCRtpReceiver) *> *receivers;
210
+
211
+ /** Gets all RTCRtpTransceivers associated with this peer connection.
212
+ * Note: reading this property returns different instances of
213
+ * RTCRtpTransceiver. Use isEqual: instead of == to compare
214
+ * RTCRtpTransceiver instances. This is only available with
215
+ * RTCSdpSemanticsUnifiedPlan specified.
216
+ */
217
+ @property(nonatomic, readonly)
218
+ NSArray<RTC_OBJC_TYPE(RTCRtpTransceiver) *> *transceivers;
219
+
220
+ - (instancetype)init NS_UNAVAILABLE;
221
+
222
+ /** Sets the PeerConnection's global configuration to `configuration`.
223
+ * Any changes to STUN/TURN servers or ICE candidate policy will affect the
224
+ * next gathering phase, and cause the next call to createOffer to generate
225
+ * new ICE credentials. Note that the BUNDLE and RTCP-multiplexing policies
226
+ * cannot be changed with this method.
227
+ */
228
+ - (BOOL)setConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration;
229
+
230
+ /** Terminate all media and close the transport. */
231
+ - (void)close;
232
+
233
+ /** Provide a remote candidate to the ICE Agent. */
234
+ - (void)addIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate
235
+ DEPRECATED_MSG_ATTRIBUTE(
236
+ "Please use addIceCandidate:completionHandler: instead");
237
+
238
+ /** Provide a remote candidate to the ICE Agent. */
239
+ - (void)addIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate
240
+ completionHandler:(void (^)(NSError *_Nullable error))completionHandler;
241
+
242
+ /** Remove a group of remote candidates from the ICE Agent. */
243
+ - (void)removeIceCandidates:
244
+ (NSArray<RTC_OBJC_TYPE(RTCIceCandidate) *> *)candidates;
245
+
246
+ /** Add a new media stream to be sent on this peer connection.
247
+ * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use
248
+ * addTrack instead.
249
+ */
250
+ - (void)addStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream;
251
+
252
+ /** Remove the given media stream from this peer connection.
253
+ * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use
254
+ * removeTrack instead.
255
+ */
256
+ - (void)removeStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream;
257
+
258
+ /** Add a new media stream track to be sent on this peer connection, and return
259
+ * the newly created RTCRtpSender. The RTCRtpSender will be
260
+ * associated with the streams specified in the `streamIds` list.
261
+ *
262
+ * Errors: If an error occurs, returns nil. An error can occur if:
263
+ * - A sender already exists for the track.
264
+ * - The peer connection is closed.
265
+ */
266
+ - (nullable RTC_OBJC_TYPE(RTCRtpSender) *)
267
+ addTrack:(RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track
268
+ streamIds:(NSArray<NSString *> *)streamIds;
269
+
270
+ /** With PlanB semantics, removes an RTCRtpSender from this peer connection.
271
+ *
272
+ * With UnifiedPlan semantics, sets sender's track to null and removes the
273
+ * send component from the associated RTCRtpTransceiver's direction.
274
+ *
275
+ * Returns YES on success.
276
+ */
277
+ - (BOOL)removeTrack:(RTC_OBJC_TYPE(RTCRtpSender) *)sender;
278
+
279
+ /** addTransceiver creates a new RTCRtpTransceiver and adds it to the set of
280
+ * transceivers. Adding a transceiver will cause future calls to CreateOffer
281
+ * to add a media description for the corresponding transceiver.
282
+ *
283
+ * The initial value of `mid` in the returned transceiver is nil. Setting a
284
+ * new session description may change it to a non-nil value.
285
+ *
286
+ * https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtransceiver
287
+ *
288
+ * Optionally, an RtpTransceiverInit structure can be specified to configure
289
+ * the transceiver from construction. If not specified, the transceiver will
290
+ * default to having a direction of kSendRecv and not be part of any streams.
291
+ *
292
+ * These methods are only available when Unified Plan is enabled (see
293
+ * RTCConfiguration).
294
+ */
295
+
296
+ /** Adds a transceiver with a sender set to transmit the given track. The kind
297
+ * of the transceiver (and sender/receiver) will be derived from the kind of
298
+ * the track.
299
+ */
300
+ - (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)addTransceiverWithTrack:
301
+ (RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track;
302
+ - (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)
303
+ addTransceiverWithTrack:(RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track
304
+ init:(RTC_OBJC_TYPE(RTCRtpTransceiverInit) *)init;
305
+
306
+ /** Adds a transceiver with the given kind. Can either be RTCRtpMediaTypeAudio
307
+ * or RTCRtpMediaTypeVideo.
308
+ */
309
+ - (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)addTransceiverOfType:(RTC_OBJC_TYPE(RTCRtpMediaType))mediaType;
310
+ - (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)
311
+ addTransceiverOfType:(RTC_OBJC_TYPE(RTCRtpMediaType))mediaType
312
+ init:(RTC_OBJC_TYPE(RTCRtpTransceiverInit) *)init;
313
+
314
+ /** Tells the PeerConnection that ICE should be restarted. This triggers a need
315
+ * for negotiation and subsequent offerForConstraints:completionHandler call
316
+ * will act as if RTCOfferAnswerOptions::ice_restart is true.
317
+ */
318
+ - (void)restartIce;
319
+
320
+ /** Generate an SDP offer. */
321
+ - (void)offerForConstraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints
322
+ completionHandler:
323
+ (RTCCreateSessionDescriptionCompletionHandler)completionHandler;
324
+
325
+ /** Generate an SDP answer. */
326
+ - (void)answerForConstraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints
327
+ completionHandler:
328
+ (RTCCreateSessionDescriptionCompletionHandler)completionHandler;
329
+
330
+ /** Apply the supplied RTCSessionDescription as the local description. */
331
+ - (void)setLocalDescription:(RTC_OBJC_TYPE(RTCSessionDescription) *)sdp
332
+ completionHandler:
333
+ (RTCSetSessionDescriptionCompletionHandler)completionHandler;
334
+
335
+ /** Creates an offer or answer (depending on current signaling state) and sets
336
+ * it as the local session description. */
337
+ - (void)setLocalDescriptionWithCompletionHandler:
338
+ (RTCSetSessionDescriptionCompletionHandler)completionHandler;
339
+
340
+ /** Apply the supplied RTCSessionDescription as the remote description. */
341
+ - (void)setRemoteDescription:(RTC_OBJC_TYPE(RTCSessionDescription) *)sdp
342
+ completionHandler:
343
+ (RTCSetSessionDescriptionCompletionHandler)completionHandler;
344
+
345
+ /** Limits the bandwidth allocated for all RTP streams sent by this
346
+ * PeerConnection. Nil parameters will be unchanged. Setting
347
+ * `currentBitrateBps` will force the available bitrate estimate to the given
348
+ * value. Returns YES if the parameters were successfully updated.
349
+ */
350
+ - (BOOL)setBweMinBitrateBps:(nullable NSNumber *)minBitrateBps
351
+ currentBitrateBps:(nullable NSNumber *)currentBitrateBps
352
+ maxBitrateBps:(nullable NSNumber *)maxBitrateBps;
353
+
354
+ /** Start or stop recording an Rtc EventLog. */
355
+ - (BOOL)startRtcEventLogWithFilePath:(NSString *)filePath
356
+ maxSizeInBytes:(int64_t)maxSizeInBytes;
357
+ - (void)stopRtcEventLog;
358
+
359
+ @end
360
+
361
+ @interface RTC_OBJC_TYPE (RTCPeerConnection)
362
+ (Media)
363
+
364
+ /** Create an RTCRtpSender with the specified kind and media stream ID.
365
+ * See RTCMediaStreamTrack.h for available kinds.
366
+ * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use
367
+ * addTransceiver instead.
368
+ */
369
+ - (RTC_OBJC_TYPE(RTCRtpSender) *)senderWithKind : (NSString *)kind streamId
370
+ : (NSString *)streamId;
371
+
372
+ @end
373
+
374
+ @interface RTC_OBJC_TYPE (RTCPeerConnection)
375
+ (DataChannel)
376
+
377
+ /** Create a new data channel with the given label and configuration. */
378
+ - (nullable RTC_OBJC_TYPE(RTCDataChannel) *)dataChannelForLabel
379
+ : (NSString *)label configuration
380
+ : (RTC_OBJC_TYPE(RTCDataChannelConfiguration) *)configuration;
381
+
382
+ @end
383
+
384
+ typedef void (^RTCStatisticsCompletionHandler)(
385
+ RTC_OBJC_TYPE(RTCStatisticsReport) *);
386
+
387
+ @interface RTC_OBJC_TYPE (RTCPeerConnection)
388
+ (Stats)
389
+
390
+ /** Gather stats for the given RTCMediaStreamTrack. If `mediaStreamTrack` is
391
+ * nil statistics are gathered for all tracks.
392
+ */
393
+ - (void)statsForTrack
394
+ : (nullable RTC_OBJC_TYPE(RTCMediaStreamTrack) *)mediaStreamTrack statsOutputLevel
395
+ : (RTC_OBJC_TYPE(RTCStatsOutputLevel))statsOutputLevel completionHandler
396
+ : (nullable void (^)(NSArray<RTC_OBJC_TYPE(RTCLegacyStatsReport) *> *stats))completionHandler;
397
+
398
+ /** Gather statistic through the v2 statistics API. */
399
+ - (void)statisticsWithCompletionHandler:
400
+ (RTCStatisticsCompletionHandler)completionHandler;
401
+
402
+ /** Spec-compliant getStats() performing the stats selection algorithm with the
403
+ * sender.
404
+ */
405
+ - (void)statisticsForSender:(RTC_OBJC_TYPE(RTCRtpSender) *)sender
406
+ completionHandler:(RTCStatisticsCompletionHandler)completionHandler;
407
+
408
+ /** Spec-compliant getStats() performing the stats selection algorithm with the
409
+ * receiver.
410
+ */
411
+ - (void)statisticsForReceiver:(RTC_OBJC_TYPE(RTCRtpReceiver) *)receiver
412
+ completionHandler:(RTCStatisticsCompletionHandler)completionHandler;
413
+
414
+ @end
415
+
416
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,159 @@
1
+ /*
2
+ * Copyright 2015 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 <Foundation/Foundation.h>
12
+
13
+ #import <LiveKitWebRTC/RTCMacros.h>
14
+ #import <LiveKitWebRTC/RTCAudioDeviceModule.h>
15
+ #import <LiveKitWebRTC/RTCAudioProcessingState.h>
16
+
17
+ NS_ASSUME_NONNULL_BEGIN
18
+
19
+ @class RTC_OBJC_TYPE(RTCRtpCapabilities);
20
+ @class RTC_OBJC_TYPE(RTCAudioSource);
21
+ @class RTC_OBJC_TYPE(RTCAudioTrack);
22
+ @class RTC_OBJC_TYPE(RTCConfiguration);
23
+ @class RTC_OBJC_TYPE(RTCMediaConstraints);
24
+ @class RTC_OBJC_TYPE(RTCMediaStream);
25
+ @class RTC_OBJC_TYPE(RTCPeerConnection);
26
+ @class RTC_OBJC_TYPE(RTCVideoSource);
27
+ @class RTC_OBJC_TYPE(RTCVideoTrack);
28
+ @class RTC_OBJC_TYPE(RTCPeerConnectionFactoryOptions);
29
+ @class RTC_OBJC_TYPE(RTCAudioDeviceModule);
30
+ @class RTC_OBJC_TYPE(RTCRtpCapabilities);
31
+
32
+ typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCRtpMediaType));
33
+
34
+ @protocol RTC_OBJC_TYPE
35
+ (RTCPeerConnectionDelegate);
36
+ @protocol RTC_OBJC_TYPE
37
+ (RTCVideoDecoderFactory);
38
+ @protocol RTC_OBJC_TYPE
39
+ (RTCVideoEncoderFactory);
40
+ @protocol RTC_OBJC_TYPE
41
+ (RTCSSLCertificateVerifier);
42
+ @protocol RTC_OBJC_TYPE
43
+ (RTCAudioDevice);
44
+ @protocol RTC_OBJC_TYPE
45
+ (RTCAudioProcessingModule);
46
+
47
+ RTC_OBJC_EXPORT
48
+ @interface RTC_OBJC_TYPE (RTCPeerConnectionFactory) : NSObject
49
+
50
+ /* Initialize object with default H264 video encoder/decoder factories and default ADM */
51
+ - (instancetype)init;
52
+
53
+ /* Initialize object with injectable video encoder/decoder factories and default ADM */
54
+ - (instancetype)
55
+ initWithEncoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoEncoderFactory)>)encoderFactory
56
+ decoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoDecoderFactory)>)decoderFactory;
57
+
58
+ /* Initialize object with injectable video encoder/decoder factories and injectable ADM */
59
+ - (instancetype)
60
+ initWithEncoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoEncoderFactory)>)encoderFactory
61
+ decoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoDecoderFactory)>)decoderFactory
62
+ audioDevice:(nullable id<RTC_OBJC_TYPE(RTCAudioDevice)>)audioDevice;
63
+
64
+ /* Initialize object with bypass voice processing */
65
+ - (instancetype)
66
+ initWithAudioDeviceModuleType:(RTC_OBJC_TYPE(RTCAudioDeviceModuleType))audioDeviceModuleType
67
+ bypassVoiceProcessing:(BOOL)bypassVoiceProcessing
68
+ encoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoEncoderFactory)>)encoderFactory
69
+ decoderFactory:(nullable id<RTC_OBJC_TYPE(RTCVideoDecoderFactory)>)decoderFactory
70
+ audioProcessingModule:
71
+ (nullable id<RTC_OBJC_TYPE(RTCAudioProcessingModule)>)audioProcessingModule;
72
+
73
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCAudioDeviceModule) *audioDeviceModule;
74
+
75
+ /** Diagnostic snapshot of the shared audio processing module's state: per
76
+ * component, what was requested, what the resolver decided per path, and
77
+ * what is actually running. The APM is owned by this factory and shared
78
+ * across every peer connection it creates, so this reflects the
79
+ * factory-scoped processing state. */
80
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCAudioProcessingState) *audioProcessingState;
81
+
82
+ /**
83
+ * Valid kind values are kRTCMediaStreamTrackKindAudio and
84
+ * kRTCMediaStreamTrackKindVideo.
85
+ */
86
+ - (RTC_OBJC_TYPE(RTCRtpCapabilities) *)rtpSenderCapabilitiesForKind:(NSString *)kind;
87
+
88
+ /**
89
+ * Valid kind values are kRTCMediaStreamTrackKindAudio and
90
+ * kRTCMediaStreamTrackKindVideo.
91
+ */
92
+ - (RTC_OBJC_TYPE(RTCRtpCapabilities) *)rtpReceiverCapabilitiesForKind:(NSString *)kind;
93
+
94
+ /** Initialize an RTCAudioSource with constraints. */
95
+ - (RTC_OBJC_TYPE(RTCAudioSource) *)audioSourceWithConstraints:
96
+ (nullable RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints;
97
+
98
+ /** Initialize an RTCAudioTrack with an id. Convenience ctor to use an audio source
99
+ * with no constraints.
100
+ */
101
+ - (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithTrackId:(NSString *)trackId;
102
+
103
+ /** Initialize an RTCAudioTrack with a source and an id. */
104
+ - (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithSource:(RTC_OBJC_TYPE(RTCAudioSource) *)source
105
+ trackId:(NSString *)trackId;
106
+
107
+ /** Initialize a generic RTCVideoSource. The RTCVideoSource should be
108
+ * passed to a RTCVideoCapturer implementation, e.g.
109
+ * RTCCameraVideoCapturer, in order to produce frames.
110
+ */
111
+ - (RTC_OBJC_TYPE(RTCVideoSource) *)videoSource;
112
+
113
+ /** Initialize a generic RTCVideoSource with he posibility of marking
114
+ * it as usable for screen sharing. The RTCVideoSource should be
115
+ * passed to a RTCVideoCapturer implementation, e.g.
116
+ * RTCCameraVideoCapturer, in order to produce frames.
117
+ */
118
+ - (RTC_OBJC_TYPE(RTCVideoSource) *)videoSourceForScreenCast:(BOOL)forScreenCast;
119
+
120
+ /** Initialize an RTCVideoTrack with a source and an id. */
121
+ - (RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrackWithSource:(RTC_OBJC_TYPE(RTCVideoSource) *)source
122
+ trackId:(NSString *)trackId;
123
+
124
+ /** Initialize an RTCMediaStream with an id. */
125
+ - (RTC_OBJC_TYPE(RTCMediaStream) *)mediaStreamWithStreamId:(NSString *)streamId;
126
+
127
+ /** Initialize an RTCPeerConnection with a configuration, constraints, and
128
+ * delegate.
129
+ */
130
+ - (nullable RTC_OBJC_TYPE(RTCPeerConnection) *)
131
+ peerConnectionWithConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration
132
+ constraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints
133
+ delegate:(nullable id<RTC_OBJC_TYPE(RTCPeerConnectionDelegate)>)delegate;
134
+
135
+ - (nullable RTC_OBJC_TYPE(RTCPeerConnection) *)
136
+ peerConnectionWithConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration
137
+ constraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints
138
+ certificateVerifier:
139
+ (id<RTC_OBJC_TYPE(RTCSSLCertificateVerifier)>)certificateVerifier
140
+ delegate:(nullable id<RTC_OBJC_TYPE(RTCPeerConnectionDelegate)>)delegate;
141
+
142
+ /** Set field trials to use when creating the PeerConnectionFactory.
143
+ * Must be called before initializing the factory.
144
+ * Format: "Key/Value/Key/Value/" (e.g. "WebRTC-MyFeature/Enabled/")
145
+ */
146
+ + (void)configureFieldTrials:(nullable NSString *)fieldTrials;
147
+
148
+ /** Set the options to be used for subsequently created RTCPeerConnections */
149
+ - (void)setOptions:(nonnull RTC_OBJC_TYPE(RTCPeerConnectionFactoryOptions) *)options;
150
+
151
+ /** Start an AecDump recording. This API call will likely change in the future. */
152
+ - (BOOL)startAecDumpWithFilePath:(NSString *)filePath maxSizeInBytes:(int64_t)maxSizeInBytes;
153
+
154
+ /* Stop an active AecDump recording */
155
+ - (void)stopAecDump;
156
+
157
+ @end
158
+
159
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Copyright 2017 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 <Foundation/Foundation.h>
12
+
13
+ #import <LiveKitWebRTC/RTCMacros.h>
14
+
15
+ NS_ASSUME_NONNULL_BEGIN
16
+
17
+ RTC_OBJC_EXPORT
18
+ @interface RTC_OBJC_TYPE (RTCPeerConnectionFactoryOptions) : NSObject
19
+
20
+ @property(nonatomic, assign) BOOL disableEncryption;
21
+
22
+ @property(nonatomic, assign) BOOL disableNetworkMonitor;
23
+
24
+ @property(nonatomic, assign) BOOL ignoreLoopbackNetworkAdapter;
25
+
26
+ @property(nonatomic, assign) BOOL ignoreVPNNetworkAdapter;
27
+
28
+ @property(nonatomic, assign) BOOL ignoreCellularNetworkAdapter;
29
+
30
+ @property(nonatomic, assign) BOOL ignoreWiFiNetworkAdapter;
31
+
32
+ @property(nonatomic, assign) BOOL ignoreEthernetNetworkAdapter;
33
+
34
+ - (instancetype)init NS_DESIGNATED_INITIALIZER;
35
+
36
+ @end
37
+
38
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Copyright 2018 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 <Foundation/Foundation.h>
12
+
13
+ #import <LiveKitWebRTC/RTCMacros.h>
14
+
15
+ NS_ASSUME_NONNULL_BEGIN
16
+
17
+ RTC_OBJC_EXPORT
18
+ @interface RTC_OBJC_TYPE (RTCRtcpParameters) : NSObject
19
+
20
+ /** The Canonical Name used by RTCP. */
21
+ @property(nonatomic, readonly, copy) NSString *cname;
22
+
23
+ /** Whether reduced size RTCP is configured or compound RTCP. */
24
+ @property(nonatomic, assign) BOOL isReducedSize;
25
+
26
+ - (instancetype)init;
27
+
28
+ @end
29
+
30
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Copyright 2024 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 <Foundation/Foundation.h>
12
+
13
+ #import <LiveKitWebRTC/RTCMacros.h>
14
+
15
+ NS_ASSUME_NONNULL_BEGIN
16
+
17
+ @class RTC_OBJC_TYPE(RTCRtpCodecCapability);
18
+ @class RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability);
19
+
20
+ RTC_OBJC_EXPORT
21
+ @interface RTC_OBJC_TYPE (RTCRtpCapabilities) : NSObject
22
+
23
+ @property(nonatomic, copy) NSArray<RTC_OBJC_TYPE(RTCRtpCodecCapability) *> *codecs;
24
+ @property(nonatomic, copy)
25
+ NSArray<RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability) *> *headerExtensions;
26
+
27
+ - (instancetype)init;
28
+
29
+ @end
30
+
31
+ NS_ASSUME_NONNULL_END