@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,180 @@
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/RTCRtpReceiver.h>
14
+ #import <LiveKitWebRTC/RTCRtpSender.h>
15
+ #import <LiveKitWebRTC/RTCMacros.h>
16
+
17
+ @class RTC_OBJC_TYPE(RTCRtpCodecCapability);
18
+
19
+ NS_ASSUME_NONNULL_BEGIN
20
+
21
+ extern NSString *const RTC_CONSTANT_TYPE(RTCRtpTransceiverErrorDomain);
22
+
23
+ /** https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiverdirection */
24
+ typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCRtpTransceiverDirection)) {
25
+ RTC_OBJC_TYPE(RTCRtpTransceiverDirectionSendRecv),
26
+ RTC_OBJC_TYPE(RTCRtpTransceiverDirectionSendOnly),
27
+ RTC_OBJC_TYPE(RTCRtpTransceiverDirectionRecvOnly),
28
+ RTC_OBJC_TYPE(RTCRtpTransceiverDirectionInactive),
29
+ RTC_OBJC_TYPE(RTCRtpTransceiverDirectionStopped)
30
+ };
31
+
32
+ /** Structure for initializing an RTCRtpTransceiver in a call to
33
+ * RTCPeerConnection.addTransceiver.
34
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiverinit
35
+ */
36
+ RTC_OBJC_EXPORT
37
+ @interface RTC_OBJC_TYPE (RTCRtpTransceiverInit) : NSObject
38
+
39
+ /** Direction of the RTCRtpTransceiver. See RTCRtpTransceiver.direction. */
40
+ @property(nonatomic) RTC_OBJC_TYPE(RTCRtpTransceiverDirection) direction;
41
+
42
+ /** The added RTCRtpTransceiver will be added to these streams. */
43
+ @property(nonatomic) NSArray<NSString *> *streamIds;
44
+
45
+ /** TODO(bugs.webrtc.org/7600): Not implemented. */
46
+ @property(nonatomic)
47
+ NSArray<RTC_OBJC_TYPE(RTCRtpEncodingParameters) *> *sendEncodings;
48
+
49
+ @end
50
+
51
+ @class RTC_OBJC_TYPE(RTCRtpTransceiver);
52
+ @class RTC_OBJC_TYPE(RTCRtpCodecCapability);
53
+ @class RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability);
54
+
55
+ /** The RTCRtpTransceiver maps to the RTCRtpTransceiver defined by the
56
+ * WebRTC specification. A transceiver represents a combination of an
57
+ * RTCRtpSender and an RTCRtpReceiver that share a common mid. As defined in
58
+ * JSEP, an RTCRtpTransceiver is said to be associated with a media description
59
+ * if its mid property is non-nil; otherwise, it is said to be disassociated.
60
+ * JSEP: https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24
61
+ *
62
+ * Note that RTCRtpTransceivers are only supported when using
63
+ * RTCPeerConnection with Unified Plan SDP.
64
+ *
65
+ * WebRTC specification for RTCRtpTransceiver, the JavaScript analog:
66
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver
67
+ */
68
+ RTC_OBJC_EXPORT
69
+ @protocol RTC_OBJC_TYPE
70
+ (RTCRtpTransceiver)<NSObject>
71
+
72
+ /** Media type of the transceiver. The sender and receiver will also have
73
+ * this type.
74
+ */
75
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCRtpMediaType) mediaType;
76
+
77
+ /** The mid attribute is the mid negotiated and present in the local and
78
+ * remote descriptions. Before negotiation is complete, the mid value may be
79
+ * nil. After rollbacks, the value may change from a non-nil value to nil.
80
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-mid
81
+ */
82
+ @property(nonatomic, readonly) NSString *mid;
83
+
84
+ /** The sender attribute exposes the RTCRtpSender corresponding to the RTP
85
+ * media that may be sent with the transceiver's mid. The sender is always
86
+ * present, regardless of the direction of media.
87
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-sender
88
+ */
89
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCRtpSender) * sender;
90
+
91
+ /** The receiver attribute exposes the RTCRtpReceiver corresponding to the RTP
92
+ * media that may be received with the transceiver's mid. The receiver is
93
+ * always present, regardless of the direction of media.
94
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-receiver
95
+ */
96
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCRtpReceiver) * receiver;
97
+
98
+ /** The isStopped attribute indicates that the sender of this transceiver will
99
+ * no longer send, and that the receiver will no longer receive. It is true if
100
+ * either stop has been called or if setting the local or remote description
101
+ * has caused the RTCRtpTransceiver to be stopped.
102
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stopped
103
+ */
104
+ @property(nonatomic, readonly) BOOL isStopped;
105
+
106
+ /** The direction attribute indicates the preferred direction of this
107
+ * transceiver, which will be used in calls to createOffer and createAnswer.
108
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction
109
+ */
110
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCRtpTransceiverDirection) direction;
111
+
112
+ @property(nonatomic, copy) NSArray<RTC_OBJC_TYPE(RTCRtpCodecCapability) *> *codecPreferences;
113
+
114
+ /** It will contain all the RTP header extensions that are supported.
115
+ * The direction attribute for all extensions that are mandatory to use MUST be
116
+ * initialized to an appropriate value other than
117
+ * RTCRtpTransceiverDirectionStopped. The direction attribute for extensions
118
+ * that will not be offered by default in an initial offer MUST be initialized
119
+ * to RTCRtpTransceiverDirectionStopped.
120
+ */
121
+ @property(nonatomic, readonly, copy)
122
+ NSArray<RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability) *>
123
+ *headerExtensionsToNegotiate;
124
+ @property(nonatomic, readonly, copy)
125
+ NSArray<RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability) *>
126
+ *negotiatedHeaderExtensions;
127
+
128
+ /** The currentDirection attribute indicates the current direction negotiated
129
+ * for this transceiver. If this transceiver has never been represented in an
130
+ * offer/answer exchange, or if the transceiver is stopped, the value is not
131
+ * present and this method returns NO.
132
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-currentdirection
133
+ */
134
+ - (BOOL)currentDirection:(RTC_OBJC_TYPE(RTCRtpTransceiverDirection) *)currentDirectionOut;
135
+
136
+ /** The stop method irreversibly stops the RTCRtpTransceiver. The sender of
137
+ * this transceiver will no longer send, the receiver will no longer receive.
138
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stop
139
+ */
140
+ - (void)stopInternal;
141
+
142
+ /** The setCodecPreferences method overrides the default codec preferences used
143
+ * by WebRTC for this transceiver.
144
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-setcodecpreferences
145
+ */
146
+ - (BOOL)setCodecPreferences:
147
+ (NSArray<RTC_OBJC_TYPE(RTCRtpCodecCapability) *> *_Nullable)codecs
148
+ error:(NSError **_Nullable)error;
149
+
150
+ /** Deprecated version of [RTCRtpTransceiver setCodecPreferences:error:] */
151
+ - (void)setCodecPreferences:
152
+ (NSArray<RTC_OBJC_TYPE(RTCRtpCodecCapability) *> *_Nullable)codecs
153
+ RTC_OBJC_DEPRECATED("Use setCodecPreferences:error: instead.");
154
+
155
+ /** The setHeaderExtensionsToNegotiate method overrides the default header
156
+ * extensions used by WebRTC for this transceiver.
157
+ * https://w3c.github.io/webrtc-extensions/#ref-for-dom-rtcrtptransceiver-setheaderextensionstonegotiate
158
+ */
159
+ - (BOOL)setHeaderExtensionsToNegotiate:
160
+ (NSArray<RTC_OBJC_TYPE(RTCRtpHeaderExtensionCapability) *> *)
161
+ extensions
162
+ error:(NSError **)error;
163
+
164
+ /** An update of directionality does not take effect immediately. Instead,
165
+ * future calls to createOffer and createAnswer mark the corresponding media
166
+ * descriptions as sendrecv, sendonly, recvonly, or inactive.
167
+ * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction
168
+ */
169
+ - (void)setDirection:(RTC_OBJC_TYPE(RTCRtpTransceiverDirection))direction error:(NSError **)error;
170
+
171
+ @end
172
+
173
+ RTC_OBJC_EXPORT
174
+ @interface RTC_OBJC_TYPE (RTCRtpTransceiver) : NSObject <RTC_OBJC_TYPE(RTCRtpTransceiver)>
175
+
176
+ - (instancetype)init NS_UNAVAILABLE;
177
+
178
+ @end
179
+
180
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Copyright 2016 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
+ /**
16
+ * Initialize and clean up the SSL library. Failure is fatal. These call the
17
+ * corresponding functions in webrtc/rtc_base/ssladapter.h.
18
+ */
19
+ RTC_EXTERN BOOL RTC_OBJC_TYPE(RTCInitializeSSL)(void);
20
+ RTC_EXTERN BOOL RTC_OBJC_TYPE(RTCCleanupSSL)(void);
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright 2022 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 @protocol RTC_OBJC_TYPE
18
+ (RTCSSLCertificateVerifier)<NSObject>
19
+
20
+ /** The certificate to verify */
21
+ - (BOOL)verify : (NSData *)derCertificate;
22
+
23
+ @end
24
+
25
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,48 @@
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
+ /**
16
+ * Represents the session description type. This exposes the same types that are
17
+ * in C++, which doesn't include the rollback type that is in the W3C spec.
18
+ */
19
+ typedef NS_ENUM(NSInteger, RTC_OBJC_TYPE(RTCSdpType)) {
20
+ RTC_OBJC_TYPE(RTCSdpTypeOffer),
21
+ RTC_OBJC_TYPE(RTCSdpTypePrAnswer),
22
+ RTC_OBJC_TYPE(RTCSdpTypeAnswer),
23
+ RTC_OBJC_TYPE(RTCSdpTypeRollback),
24
+ };
25
+
26
+ NS_ASSUME_NONNULL_BEGIN
27
+
28
+ RTC_OBJC_EXPORT
29
+ @interface RTC_OBJC_TYPE (RTCSessionDescription) : NSObject
30
+
31
+ /** The type of session description. */
32
+ @property(nonatomic, readonly) RTC_OBJC_TYPE(RTCSdpType) type;
33
+
34
+ /** The SDP string representation of this session description. */
35
+ @property(nonatomic, readonly) NSString *sdp;
36
+
37
+ - (instancetype)init NS_UNAVAILABLE;
38
+
39
+ /** Initialize a session description with a type and SDP string. */
40
+ - (instancetype)initWithType:(RTC_OBJC_TYPE(RTCSdpType))type sdp:(NSString *)sdp NS_DESIGNATED_INITIALIZER;
41
+
42
+ + (NSString *)stringForType:(RTC_OBJC_TYPE(RTCSdpType))type;
43
+
44
+ + (RTC_OBJC_TYPE(RTCSdpType))typeForString:(NSString *)string;
45
+
46
+ @end
47
+
48
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,58 @@
1
+ /*
2
+ * Copyright 2019 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(RTCStatistics);
16
+
17
+ NS_ASSUME_NONNULL_BEGIN
18
+
19
+ /** A statistics report. Encapsulates a number of RTCStatistics objects. */
20
+ RTC_OBJC_EXPORT
21
+ @interface RTC_OBJC_TYPE (RTCStatisticsReport) : NSObject
22
+
23
+ /** The timestamp of the report in microseconds since 1970-01-01T00:00:00Z. */
24
+ @property(nonatomic, readonly) CFTimeInterval timestamp_us;
25
+
26
+ /** RTCStatistics objects by id. */
27
+ @property(nonatomic, readonly)
28
+ NSDictionary<NSString *, RTC_OBJC_TYPE(RTCStatistics) *> *statistics;
29
+
30
+ - (instancetype)init NS_UNAVAILABLE;
31
+
32
+ @end
33
+
34
+ /** A part of a report (a subreport) covering a certain area. */
35
+ RTC_OBJC_EXPORT
36
+ @interface RTC_OBJC_TYPE (RTCStatistics) : NSObject
37
+
38
+ /** The id of this subreport, e.g. "RTCMediaStreamTrack_receiver_2". */
39
+ @property(nonatomic, readonly) NSString *id;
40
+
41
+ /** The timestamp of the subreport in microseconds since 1970-01-01T00:00:00Z.
42
+ */
43
+ @property(nonatomic, readonly) CFTimeInterval timestamp_us;
44
+
45
+ /** The type of the subreport, e.g. "track", "codec". */
46
+ @property(nonatomic, readonly) NSString *type;
47
+
48
+ /** The keys and values of the subreport, e.g. "totalFramesDuration = 5.551".
49
+ The values are either NSNumbers or NSStrings or NSArrays encapsulating
50
+ NSNumbers or NSStrings, or NSDictionary of NSString keys to NSNumber values.
51
+ */
52
+ @property(nonatomic, readonly) NSDictionary<NSString *, NSObject *> *values;
53
+
54
+ - (instancetype)init NS_UNAVAILABLE;
55
+
56
+ @end
57
+
58
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Copyright 2016 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
+ RTC_EXTERN void RTC_OBJC_TYPE(RTCSetupInternalTracer)(void);
16
+ /** Starts capture to specified file. Must be a valid writable path.
17
+ * Returns YES if capture starts.
18
+ */
19
+ RTC_EXTERN BOOL RTC_OBJC_TYPE(RTCStartInternalCapture)(NSString* filePath);
20
+ RTC_EXTERN void RTC_OBJC_TYPE(RTCStopInternalCapture)(void);
21
+ RTC_EXTERN void RTC_OBJC_TYPE(RTCShutdownInternalTracer)(void);
@@ -0,0 +1,37 @@
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 <LiveKitWebRTC/RTCVideoFrame.h>
12
+
13
+ #import <LiveKitWebRTC/RTCMacros.h>
14
+
15
+ NS_ASSUME_NONNULL_BEGIN
16
+
17
+ @class RTC_OBJC_TYPE(RTCVideoCapturer);
18
+
19
+ RTC_OBJC_EXPORT
20
+ @protocol RTC_OBJC_TYPE
21
+ (RTCVideoCapturerDelegate)<NSObject> -
22
+ (void)capturer
23
+ : (RTC_OBJC_TYPE(RTCVideoCapturer) *)capturer didCaptureVideoFrame
24
+ : (RTC_OBJC_TYPE(RTCVideoFrame) *)frame;
25
+ @end
26
+
27
+ RTC_OBJC_EXPORT
28
+ @interface RTC_OBJC_TYPE (RTCVideoCapturer) : NSObject
29
+
30
+ @property(nonatomic, weak) id<RTC_OBJC_TYPE(RTCVideoCapturerDelegate)> delegate;
31
+
32
+ - (instancetype)initWithDelegate:
33
+ (id<RTC_OBJC_TYPE(RTCVideoCapturerDelegate)>)delegate;
34
+
35
+ @end
36
+
37
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,43 @@
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
+ /** Holds information to identify a codec. Corresponds to
18
+ * webrtc::SdpVideoFormat. */
19
+ RTC_OBJC_EXPORT
20
+ @interface RTC_OBJC_TYPE (RTCVideoCodecInfo) : NSObject <NSCoding>
21
+
22
+ - (instancetype)init NS_UNAVAILABLE;
23
+
24
+ - (instancetype)initWithName:(NSString *)name;
25
+
26
+ - (instancetype)initWithName:(NSString *)name
27
+ parameters:(nullable NSDictionary<NSString *, NSString *> *)
28
+ parameters;
29
+
30
+ - (instancetype)initWithName:(NSString *)name
31
+ parameters:(nullable NSDictionary<NSString *, NSString *> *)parameters
32
+ scalabilityModes:(nullable NSArray<NSString *> *)scalabilityModes
33
+ NS_DESIGNATED_INITIALIZER;
34
+
35
+ - (BOOL)isEqualToCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info;
36
+
37
+ @property(nonatomic, readonly) NSString *name;
38
+ @property(nonatomic, readonly) NSDictionary<NSString *, NSString *> *parameters;
39
+ @property(nonatomic, readonly) NSArray<NSString *> *scalabilityModes;
40
+
41
+ @end
42
+
43
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,41 @@
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/RTCCodecSpecificInfo.h>
14
+ #import <LiveKitWebRTC/RTCEncodedImage.h>
15
+ #import <LiveKitWebRTC/RTCVideoEncoderSettings.h>
16
+ #import <LiveKitWebRTC/RTCVideoFrame.h>
17
+ #import <LiveKitWebRTC/RTCMacros.h>
18
+
19
+ NS_ASSUME_NONNULL_BEGIN
20
+
21
+ /** Callback block for decoder. */
22
+ typedef void (^RTCVideoDecoderCallback)(RTC_OBJC_TYPE(RTCVideoFrame) * frame);
23
+
24
+ /** Protocol for decoder implementations. */
25
+ RTC_OBJC_EXPORT
26
+ @protocol RTC_OBJC_TYPE
27
+ (RTCVideoDecoder)<NSObject>
28
+
29
+ - (void)setCallback : (RTCVideoDecoderCallback)callback;
30
+ - (NSInteger)startDecodeWithNumberOfCores:(int)numberOfCores;
31
+ - (NSInteger)releaseDecoder;
32
+ // TODO(bugs.webrtc.org/15444): Remove obsolete missingFrames param.
33
+ - (NSInteger)decode:(RTC_OBJC_TYPE(RTCEncodedImage) *)encodedImage
34
+ missingFrames:(BOOL)missingFrames
35
+ codecSpecificInfo:(nullable id<RTC_OBJC_TYPE(RTCCodecSpecificInfo)>)info
36
+ renderTimeMs:(int64_t)renderTimeMs;
37
+ - (NSString *)implementationName;
38
+
39
+ @end
40
+
41
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright 2021 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/RTCVideoDecoder.h>
14
+ #import <LiveKitWebRTC/RTCMacros.h>
15
+
16
+ RTC_OBJC_EXPORT
17
+ @interface RTC_OBJC_TYPE (RTCVideoDecoderAV1) : NSObject
18
+
19
+ /* This returns a AV1 decoder that can be returned from a RTCVideoDecoderFactory injected into
20
+ * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be
21
+ * used independently from the RTCPeerConnectionFactory.
22
+ */
23
+ + (id<RTC_OBJC_TYPE(RTCVideoDecoder)>)av1Decoder;
24
+
25
+ @end
@@ -0,0 +1,33 @@
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/RTCVideoCodecInfo.h>
14
+ #import <LiveKitWebRTC/RTCVideoDecoder.h>
15
+ #import <LiveKitWebRTC/RTCMacros.h>
16
+
17
+ NS_ASSUME_NONNULL_BEGIN
18
+
19
+ /** RTCVideoDecoderFactory is an Objective-C version of
20
+ * webrtc::VideoDecoderFactory.
21
+ */
22
+ RTC_OBJC_EXPORT
23
+ @protocol RTC_OBJC_TYPE
24
+ (RTCVideoDecoderFactory)<NSObject>
25
+
26
+ - (nullable id<RTC_OBJC_TYPE(RTCVideoDecoder)>)createDecoder
27
+ : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info;
28
+ - (NSArray<RTC_OBJC_TYPE(RTCVideoCodecInfo) *> *)
29
+ supportedCodecs; // TODO(andersc): "supportedFormats" instead?
30
+
31
+ @end
32
+
33
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,18 @@
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/RTCVideoDecoderFactory.h>
14
+ #import <LiveKitWebRTC/RTCMacros.h>
15
+
16
+ RTC_OBJC_EXPORT
17
+ @interface RTC_OBJC_TYPE (RTCVideoDecoderFactoryH264) : NSObject <RTC_OBJC_TYPE(RTCVideoDecoderFactory)>
18
+ @end
@@ -0,0 +1,18 @@
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/RTCVideoDecoder.h>
14
+ #import <LiveKitWebRTC/RTCMacros.h>
15
+
16
+ RTC_OBJC_EXPORT
17
+ @interface RTC_OBJC_TYPE (RTCVideoDecoderH264) : NSObject <RTC_OBJC_TYPE(RTCVideoDecoder)>
18
+ @end
@@ -0,0 +1,25 @@
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/RTCVideoDecoder.h>
14
+ #import <LiveKitWebRTC/RTCMacros.h>
15
+
16
+ RTC_OBJC_EXPORT
17
+ @interface RTC_OBJC_TYPE (RTCVideoDecoderVP8) : NSObject
18
+
19
+ /* This returns a VP8 decoder that can be returned from a RTCVideoDecoderFactory injected into
20
+ * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be
21
+ * used independently from the RTCPeerConnectionFactory.
22
+ */
23
+ + (id<RTC_OBJC_TYPE(RTCVideoDecoder)>)vp8Decoder;
24
+
25
+ @end
@@ -0,0 +1,27 @@
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/RTCVideoDecoder.h>
14
+ #import <LiveKitWebRTC/RTCMacros.h>
15
+
16
+ RTC_OBJC_EXPORT
17
+ @interface RTC_OBJC_TYPE (RTCVideoDecoderVP9) : NSObject
18
+
19
+ /* This returns a VP9 decoder that can be returned from a RTCVideoDecoderFactory injected into
20
+ * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be
21
+ * used independently from the RTCPeerConnectionFactory.
22
+ */
23
+ + (id<RTC_OBJC_TYPE(RTCVideoDecoder)>)vp9Decoder;
24
+
25
+ + (bool)isSupported;
26
+
27
+ @end