@sbhjt-gr/react-native-webrtc 124.0.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 (417) hide show
  1. package/.clang-format +11 -0
  2. package/.claude/settings.local.json +9 -0
  3. package/.eslintignore +6 -0
  4. package/.nvmrc +1 -0
  5. package/ISSUE_TEMPLATE.md +40 -0
  6. package/LICENSE +22 -0
  7. package/README.md +103 -0
  8. package/android/build.gradle +37 -0
  9. package/android/consumer-rules.pro +3 -0
  10. package/android/src/main/AndroidManifest.xml +11 -0
  11. package/android/src/main/java/com/oney/WebRTCModule/AbstractVideoCaptureController.java +113 -0
  12. package/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java +338 -0
  13. package/android/src/main/java/com/oney/WebRTCModule/CameraEventsHandler.java +49 -0
  14. package/android/src/main/java/com/oney/WebRTCModule/DataChannelWrapper.java +99 -0
  15. package/android/src/main/java/com/oney/WebRTCModule/DataPacketCryptorManager.java +63 -0
  16. package/android/src/main/java/com/oney/WebRTCModule/DisplayUtils.java +16 -0
  17. package/android/src/main/java/com/oney/WebRTCModule/EglUtils.java +66 -0
  18. package/android/src/main/java/com/oney/WebRTCModule/GetUserMediaImpl.java +539 -0
  19. package/android/src/main/java/com/oney/WebRTCModule/LibraryLoader.java +21 -0
  20. package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionNotification.java +70 -0
  21. package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionService.java +82 -0
  22. package/android/src/main/java/com/oney/WebRTCModule/PeerConnectionObserver.java +588 -0
  23. package/android/src/main/java/com/oney/WebRTCModule/RTCCryptoManager.java +493 -0
  24. package/android/src/main/java/com/oney/WebRTCModule/RTCVideoViewManager.java +98 -0
  25. package/android/src/main/java/com/oney/WebRTCModule/ReactBridgeUtil.java +36 -0
  26. package/android/src/main/java/com/oney/WebRTCModule/ScreenCaptureController.java +94 -0
  27. package/android/src/main/java/com/oney/WebRTCModule/SerializeUtils.java +342 -0
  28. package/android/src/main/java/com/oney/WebRTCModule/StringUtils.java +101 -0
  29. package/android/src/main/java/com/oney/WebRTCModule/ThreadUtils.java +41 -0
  30. package/android/src/main/java/com/oney/WebRTCModule/TrackCapturerEventsEmitter.java +34 -0
  31. package/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java +137 -0
  32. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java +1643 -0
  33. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModuleOptions.java +33 -0
  34. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModulePackage.java +21 -0
  35. package/android/src/main/java/com/oney/WebRTCModule/WebRTCView.java +583 -0
  36. package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraClient.java +464 -0
  37. package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraConfig.java +17 -0
  38. package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraListener.java +7 -0
  39. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/ProcessorProvider.java +38 -0
  40. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoEffectProcessor.java +59 -0
  41. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessor.java +19 -0
  42. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessorFactoryInterface.java +12 -0
  43. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoDecoderFactory.java +73 -0
  44. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoEncoderFactory.java +73 -0
  45. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoDecoderFactoryProxy.java +36 -0
  46. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoEncoderFactoryProxy.java +36 -0
  47. package/android/src/main/java/org/webrtc/Camera1Helper.java +54 -0
  48. package/android/src/main/java/org/webrtc/Camera2Helper.java +52 -0
  49. package/android/src/main/res/values/strings.xml +5 -0
  50. package/android/src/main/res/values/styles.xml +8 -0
  51. package/apple/.placeholder +0 -0
  52. package/ios/RCTWebRTC/CaptureController.h +18 -0
  53. package/ios/RCTWebRTC/CaptureController.m +29 -0
  54. package/ios/RCTWebRTC/CapturerEventsDelegate.h +12 -0
  55. package/ios/RCTWebRTC/DataChannelWrapper.h +27 -0
  56. package/ios/RCTWebRTC/DataChannelWrapper.m +42 -0
  57. package/ios/RCTWebRTC/I420Converter.h +22 -0
  58. package/ios/RCTWebRTC/I420Converter.m +164 -0
  59. package/ios/RCTWebRTC/PIPController.h +24 -0
  60. package/ios/RCTWebRTC/PIPController.m +234 -0
  61. package/ios/RCTWebRTC/PalabraAudioSink.h +13 -0
  62. package/ios/RCTWebRTC/PalabraAudioSink.m +18 -0
  63. package/ios/RCTWebRTC/PalabraClient.h +36 -0
  64. package/ios/RCTWebRTC/PalabraClient.m +584 -0
  65. package/ios/RCTWebRTC/RCTConvert+WebRTC.h +16 -0
  66. package/ios/RCTWebRTC/RCTConvert+WebRTC.m +206 -0
  67. package/ios/RCTWebRTC/RTCMediaStreamTrack+React.h +10 -0
  68. package/ios/RCTWebRTC/RTCMediaStreamTrack+React.m +16 -0
  69. package/ios/RCTWebRTC/RTCVideoViewManager.h +29 -0
  70. package/ios/RCTWebRTC/RTCVideoViewManager.m +411 -0
  71. package/ios/RCTWebRTC/SampleBufferVideoCallView.h +12 -0
  72. package/ios/RCTWebRTC/SampleBufferVideoCallView.m +178 -0
  73. package/ios/RCTWebRTC/ScreenCaptureController.h +20 -0
  74. package/ios/RCTWebRTC/ScreenCaptureController.m +83 -0
  75. package/ios/RCTWebRTC/ScreenCapturePickerViewManager.h +7 -0
  76. package/ios/RCTWebRTC/ScreenCapturePickerViewManager.m +60 -0
  77. package/ios/RCTWebRTC/ScreenCapturer.h +19 -0
  78. package/ios/RCTWebRTC/ScreenCapturer.m +264 -0
  79. package/ios/RCTWebRTC/SerializeUtils.h +28 -0
  80. package/ios/RCTWebRTC/SerializeUtils.m +314 -0
  81. package/ios/RCTWebRTC/SocketConnection.h +13 -0
  82. package/ios/RCTWebRTC/SocketConnection.m +137 -0
  83. package/ios/RCTWebRTC/TrackCapturerEventsEmitter.h +14 -0
  84. package/ios/RCTWebRTC/TrackCapturerEventsEmitter.m +37 -0
  85. package/ios/RCTWebRTC/VideoCaptureController.h +21 -0
  86. package/ios/RCTWebRTC/VideoCaptureController.m +328 -0
  87. package/ios/RCTWebRTC/WebRTCModule+Palabra.h +4 -0
  88. package/ios/RCTWebRTC/WebRTCModule+Palabra.m +83 -0
  89. package/ios/RCTWebRTC/WebRTCModule+Permissions.m +75 -0
  90. package/ios/RCTWebRTC/WebRTCModule+RTCAudioSession.m +20 -0
  91. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.h +14 -0
  92. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m +165 -0
  93. package/ios/RCTWebRTC/WebRTCModule+RTCFrameCryptor.m +611 -0
  94. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.h +14 -0
  95. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m +533 -0
  96. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.h +24 -0
  97. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m +1004 -0
  98. package/ios/RCTWebRTC/WebRTCModule+Transceivers.m +267 -0
  99. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.h +12 -0
  100. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.m +166 -0
  101. package/ios/RCTWebRTC/WebRTCModule.h +51 -0
  102. package/ios/RCTWebRTC/WebRTCModule.m +151 -0
  103. package/ios/RCTWebRTC/WebRTCModuleOptions.h +24 -0
  104. package/ios/RCTWebRTC/WebRTCModuleOptions.m +31 -0
  105. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.h +9 -0
  106. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.m +23 -0
  107. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.h +13 -0
  108. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.m +23 -0
  109. package/ios/RCTWebRTC/videoEffects/VideoFrameProcessor.h +8 -0
  110. package/ios/RCTWebRTC.xcodeproj/project.pbxproj +404 -0
  111. package/ios/RCTWebRTC.xcworkspace/contents.xcworkspacedata +10 -0
  112. package/lib/commonjs/Constraints.js +2 -0
  113. package/lib/commonjs/Constraints.js.map +1 -0
  114. package/lib/commonjs/EventEmitter.js +51 -0
  115. package/lib/commonjs/EventEmitter.js.map +1 -0
  116. package/lib/commonjs/Logger.js +47 -0
  117. package/lib/commonjs/Logger.js.map +1 -0
  118. package/lib/commonjs/MediaDevices.js +54 -0
  119. package/lib/commonjs/MediaDevices.js.map +1 -0
  120. package/lib/commonjs/MediaStream.js +137 -0
  121. package/lib/commonjs/MediaStream.js.map +1 -0
  122. package/lib/commonjs/MediaStreamError.js +19 -0
  123. package/lib/commonjs/MediaStreamError.js.map +1 -0
  124. package/lib/commonjs/MediaStreamErrorEvent.js +17 -0
  125. package/lib/commonjs/MediaStreamErrorEvent.js.map +1 -0
  126. package/lib/commonjs/MediaStreamTrack.js +203 -0
  127. package/lib/commonjs/MediaStreamTrack.js.map +1 -0
  128. package/lib/commonjs/MediaStreamTrackEvent.js +26 -0
  129. package/lib/commonjs/MediaStreamTrackEvent.js.map +1 -0
  130. package/lib/commonjs/MessageEvent.js +27 -0
  131. package/lib/commonjs/MessageEvent.js.map +1 -0
  132. package/lib/commonjs/Permissions.js +116 -0
  133. package/lib/commonjs/Permissions.js.map +1 -0
  134. package/lib/commonjs/RTCAudioSession.js +33 -0
  135. package/lib/commonjs/RTCAudioSession.js.map +1 -0
  136. package/lib/commonjs/RTCDataChannel.js +165 -0
  137. package/lib/commonjs/RTCDataChannel.js.map +1 -0
  138. package/lib/commonjs/RTCDataChannelEvent.js +26 -0
  139. package/lib/commonjs/RTCDataChannelEvent.js.map +1 -0
  140. package/lib/commonjs/RTCDataPacketCryptor.js +76 -0
  141. package/lib/commonjs/RTCDataPacketCryptor.js.map +1 -0
  142. package/lib/commonjs/RTCDataPacketCryptorFactory.js +27 -0
  143. package/lib/commonjs/RTCDataPacketCryptorFactory.js.map +1 -0
  144. package/lib/commonjs/RTCErrorEvent.js +23 -0
  145. package/lib/commonjs/RTCErrorEvent.js.map +1 -0
  146. package/lib/commonjs/RTCFrameCryptor.js +138 -0
  147. package/lib/commonjs/RTCFrameCryptor.js.map +1 -0
  148. package/lib/commonjs/RTCFrameCryptorFactory.js +81 -0
  149. package/lib/commonjs/RTCFrameCryptorFactory.js.map +1 -0
  150. package/lib/commonjs/RTCIceCandidate.js +34 -0
  151. package/lib/commonjs/RTCIceCandidate.js.map +1 -0
  152. package/lib/commonjs/RTCIceCandidateEvent.js +28 -0
  153. package/lib/commonjs/RTCIceCandidateEvent.js.map +1 -0
  154. package/lib/commonjs/RTCKeyProvider.js +111 -0
  155. package/lib/commonjs/RTCKeyProvider.js.map +1 -0
  156. package/lib/commonjs/RTCPIPView.js +38 -0
  157. package/lib/commonjs/RTCPIPView.js.map +1 -0
  158. package/lib/commonjs/RTCPIPView.web.js +23 -0
  159. package/lib/commonjs/RTCPIPView.web.js.map +1 -0
  160. package/lib/commonjs/RTCPeerConnection.js +694 -0
  161. package/lib/commonjs/RTCPeerConnection.js.map +1 -0
  162. package/lib/commonjs/RTCRtcpParameters.js +24 -0
  163. package/lib/commonjs/RTCRtcpParameters.js.map +1 -0
  164. package/lib/commonjs/RTCRtpCapabilities.js +22 -0
  165. package/lib/commonjs/RTCRtpCapabilities.js.map +1 -0
  166. package/lib/commonjs/RTCRtpCodecCapability.js +19 -0
  167. package/lib/commonjs/RTCRtpCodecCapability.js.map +1 -0
  168. package/lib/commonjs/RTCRtpCodecParameters.js +38 -0
  169. package/lib/commonjs/RTCRtpCodecParameters.js.map +1 -0
  170. package/lib/commonjs/RTCRtpEncodingParameters.js +78 -0
  171. package/lib/commonjs/RTCRtpEncodingParameters.js.map +1 -0
  172. package/lib/commonjs/RTCRtpHeaderExtension.js +27 -0
  173. package/lib/commonjs/RTCRtpHeaderExtension.js.map +1 -0
  174. package/lib/commonjs/RTCRtpParameters.js +35 -0
  175. package/lib/commonjs/RTCRtpParameters.js.map +1 -0
  176. package/lib/commonjs/RTCRtpReceiveParameters.js +15 -0
  177. package/lib/commonjs/RTCRtpReceiveParameters.js.map +1 -0
  178. package/lib/commonjs/RTCRtpReceiver.js +53 -0
  179. package/lib/commonjs/RTCRtpReceiver.js.map +1 -0
  180. package/lib/commonjs/RTCRtpSendParameters.js +49 -0
  181. package/lib/commonjs/RTCRtpSendParameters.js.map +1 -0
  182. package/lib/commonjs/RTCRtpSender.js +67 -0
  183. package/lib/commonjs/RTCRtpSender.js.map +1 -0
  184. package/lib/commonjs/RTCRtpTransceiver.js +81 -0
  185. package/lib/commonjs/RTCRtpTransceiver.js.map +1 -0
  186. package/lib/commonjs/RTCSessionDescription.js +33 -0
  187. package/lib/commonjs/RTCSessionDescription.js.map +1 -0
  188. package/lib/commonjs/RTCTrackEvent.js +38 -0
  189. package/lib/commonjs/RTCTrackEvent.js.map +1 -0
  190. package/lib/commonjs/RTCUtil.js +186 -0
  191. package/lib/commonjs/RTCUtil.js.map +1 -0
  192. package/lib/commonjs/RTCView.js +16 -0
  193. package/lib/commonjs/RTCView.js.map +1 -0
  194. package/lib/commonjs/RTCView.web.js +62 -0
  195. package/lib/commonjs/RTCView.web.js.map +1 -0
  196. package/lib/commonjs/ScreenCapturePickerView.js +10 -0
  197. package/lib/commonjs/ScreenCapturePickerView.js.map +1 -0
  198. package/lib/commonjs/ScreenCapturePickerView.web.js +10 -0
  199. package/lib/commonjs/ScreenCapturePickerView.web.js.map +1 -0
  200. package/lib/commonjs/getDisplayMedia.js +33 -0
  201. package/lib/commonjs/getDisplayMedia.js.map +1 -0
  202. package/lib/commonjs/getUserMedia.js +101 -0
  203. package/lib/commonjs/getUserMedia.js.map +1 -0
  204. package/lib/commonjs/index.js +224 -0
  205. package/lib/commonjs/index.js.map +1 -0
  206. package/lib/commonjs/index.web.js +175 -0
  207. package/lib/commonjs/index.web.js.map +1 -0
  208. package/lib/commonjs/webStream.js +35 -0
  209. package/lib/commonjs/webStream.js.map +1 -0
  210. package/lib/module/Constraints.js +2 -0
  211. package/lib/module/Constraints.js.map +1 -0
  212. package/lib/module/EventEmitter.js +41 -0
  213. package/lib/module/EventEmitter.js.map +1 -0
  214. package/lib/module/Logger.js +39 -0
  215. package/lib/module/Logger.js.map +1 -0
  216. package/lib/module/MediaDevices.js +46 -0
  217. package/lib/module/MediaDevices.js.map +1 -0
  218. package/lib/module/MediaStream.js +129 -0
  219. package/lib/module/MediaStream.js.map +1 -0
  220. package/lib/module/MediaStreamError.js +12 -0
  221. package/lib/module/MediaStreamError.js.map +1 -0
  222. package/lib/module/MediaStreamErrorEvent.js +10 -0
  223. package/lib/module/MediaStreamErrorEvent.js.map +1 -0
  224. package/lib/module/MediaStreamTrack.js +195 -0
  225. package/lib/module/MediaStreamTrack.js.map +1 -0
  226. package/lib/module/MediaStreamTrackEvent.js +19 -0
  227. package/lib/module/MediaStreamTrackEvent.js.map +1 -0
  228. package/lib/module/MessageEvent.js +20 -0
  229. package/lib/module/MessageEvent.js.map +1 -0
  230. package/lib/module/Permissions.js +109 -0
  231. package/lib/module/Permissions.js.map +1 -0
  232. package/lib/module/RTCAudioSession.js +26 -0
  233. package/lib/module/RTCAudioSession.js.map +1 -0
  234. package/lib/module/RTCDataChannel.js +155 -0
  235. package/lib/module/RTCDataChannel.js.map +1 -0
  236. package/lib/module/RTCDataChannelEvent.js +19 -0
  237. package/lib/module/RTCDataChannelEvent.js.map +1 -0
  238. package/lib/module/RTCDataPacketCryptor.js +66 -0
  239. package/lib/module/RTCDataPacketCryptor.js.map +1 -0
  240. package/lib/module/RTCDataPacketCryptorFactory.js +19 -0
  241. package/lib/module/RTCDataPacketCryptorFactory.js.map +1 -0
  242. package/lib/module/RTCErrorEvent.js +16 -0
  243. package/lib/module/RTCErrorEvent.js.map +1 -0
  244. package/lib/module/RTCFrameCryptor.js +128 -0
  245. package/lib/module/RTCFrameCryptor.js.map +1 -0
  246. package/lib/module/RTCFrameCryptorFactory.js +70 -0
  247. package/lib/module/RTCFrameCryptorFactory.js.map +1 -0
  248. package/lib/module/RTCIceCandidate.js +27 -0
  249. package/lib/module/RTCIceCandidate.js.map +1 -0
  250. package/lib/module/RTCIceCandidateEvent.js +21 -0
  251. package/lib/module/RTCIceCandidateEvent.js.map +1 -0
  252. package/lib/module/RTCKeyProvider.js +101 -0
  253. package/lib/module/RTCKeyProvider.js.map +1 -0
  254. package/lib/module/RTCPIPView.js +26 -0
  255. package/lib/module/RTCPIPView.js.map +1 -0
  256. package/lib/module/RTCPIPView.web.js +11 -0
  257. package/lib/module/RTCPIPView.web.js.map +1 -0
  258. package/lib/module/RTCPeerConnection.js +684 -0
  259. package/lib/module/RTCPeerConnection.js.map +1 -0
  260. package/lib/module/RTCRtcpParameters.js +17 -0
  261. package/lib/module/RTCRtcpParameters.js.map +1 -0
  262. package/lib/module/RTCRtpCapabilities.js +15 -0
  263. package/lib/module/RTCRtpCapabilities.js.map +1 -0
  264. package/lib/module/RTCRtpCodecCapability.js +12 -0
  265. package/lib/module/RTCRtpCodecCapability.js.map +1 -0
  266. package/lib/module/RTCRtpCodecParameters.js +31 -0
  267. package/lib/module/RTCRtpCodecParameters.js.map +1 -0
  268. package/lib/module/RTCRtpEncodingParameters.js +71 -0
  269. package/lib/module/RTCRtpEncodingParameters.js.map +1 -0
  270. package/lib/module/RTCRtpHeaderExtension.js +20 -0
  271. package/lib/module/RTCRtpHeaderExtension.js.map +1 -0
  272. package/lib/module/RTCRtpParameters.js +27 -0
  273. package/lib/module/RTCRtpParameters.js.map +1 -0
  274. package/lib/module/RTCRtpReceiveParameters.js +7 -0
  275. package/lib/module/RTCRtpReceiveParameters.js.map +1 -0
  276. package/lib/module/RTCRtpReceiver.js +45 -0
  277. package/lib/module/RTCRtpReceiver.js.map +1 -0
  278. package/lib/module/RTCRtpSendParameters.js +41 -0
  279. package/lib/module/RTCRtpSendParameters.js.map +1 -0
  280. package/lib/module/RTCRtpSender.js +59 -0
  281. package/lib/module/RTCRtpSender.js.map +1 -0
  282. package/lib/module/RTCRtpTransceiver.js +74 -0
  283. package/lib/module/RTCRtpTransceiver.js.map +1 -0
  284. package/lib/module/RTCSessionDescription.js +26 -0
  285. package/lib/module/RTCSessionDescription.js.map +1 -0
  286. package/lib/module/RTCTrackEvent.js +31 -0
  287. package/lib/module/RTCTrackEvent.js.map +1 -0
  288. package/lib/module/RTCUtil.js +176 -0
  289. package/lib/module/RTCUtil.js.map +1 -0
  290. package/lib/module/RTCView.js +11 -0
  291. package/lib/module/RTCView.js.map +1 -0
  292. package/lib/module/RTCView.web.js +54 -0
  293. package/lib/module/RTCView.web.js.map +1 -0
  294. package/lib/module/ScreenCapturePickerView.js +3 -0
  295. package/lib/module/ScreenCapturePickerView.js.map +1 -0
  296. package/lib/module/ScreenCapturePickerView.web.js +4 -0
  297. package/lib/module/ScreenCapturePickerView.web.js.map +1 -0
  298. package/lib/module/getDisplayMedia.js +26 -0
  299. package/lib/module/getDisplayMedia.js.map +1 -0
  300. package/lib/module/getUserMedia.js +92 -0
  301. package/lib/module/getUserMedia.js.map +1 -0
  302. package/lib/module/index.js +60 -0
  303. package/lib/module/index.js.map +1 -0
  304. package/lib/module/index.web.js +114 -0
  305. package/lib/module/index.web.js.map +1 -0
  306. package/lib/module/webStream.js +27 -0
  307. package/lib/module/webStream.js.map +1 -0
  308. package/lib/typescript/Constraints.d.ts +19 -0
  309. package/lib/typescript/EventEmitter.d.ts +6 -0
  310. package/lib/typescript/Logger.d.ts +13 -0
  311. package/lib/typescript/MediaDevices.d.ts +30 -0
  312. package/lib/typescript/MediaStream.d.ts +48 -0
  313. package/lib/typescript/MediaStreamError.d.ts +6 -0
  314. package/lib/typescript/MediaStreamErrorEvent.d.ts +6 -0
  315. package/lib/typescript/MediaStreamTrack.d.ts +101 -0
  316. package/lib/typescript/MediaStreamTrackEvent.d.ts +19 -0
  317. package/lib/typescript/MessageEvent.d.ts +20 -0
  318. package/lib/typescript/Permissions.d.ts +55 -0
  319. package/lib/typescript/RTCAudioSession.d.ts +10 -0
  320. package/lib/typescript/RTCDataChannel.d.ts +43 -0
  321. package/lib/typescript/RTCDataChannelEvent.d.ts +19 -0
  322. package/lib/typescript/RTCDataPacketCryptor.d.ts +12 -0
  323. package/lib/typescript/RTCDataPacketCryptorFactory.d.ts +6 -0
  324. package/lib/typescript/RTCErrorEvent.d.ts +12 -0
  325. package/lib/typescript/RTCFrameCryptor.d.ts +47 -0
  326. package/lib/typescript/RTCFrameCryptorFactory.d.ts +21 -0
  327. package/lib/typescript/RTCIceCandidate.d.ts +17 -0
  328. package/lib/typescript/RTCIceCandidateEvent.d.ts +20 -0
  329. package/lib/typescript/RTCKeyProvider.d.ts +21 -0
  330. package/lib/typescript/RTCPIPView.d.ts +15 -0
  331. package/lib/typescript/RTCPIPView.web.d.ts +13 -0
  332. package/lib/typescript/RTCPeerConnection.d.ts +117 -0
  333. package/lib/typescript/RTCRtcpParameters.d.ts +10 -0
  334. package/lib/typescript/RTCRtpCapabilities.d.ts +9 -0
  335. package/lib/typescript/RTCRtpCodecCapability.d.ts +7 -0
  336. package/lib/typescript/RTCRtpCodecParameters.d.ts +16 -0
  337. package/lib/typescript/RTCRtpEncodingParameters.d.ts +23 -0
  338. package/lib/typescript/RTCRtpHeaderExtension.d.ts +12 -0
  339. package/lib/typescript/RTCRtpParameters.d.ts +19 -0
  340. package/lib/typescript/RTCRtpReceiveParameters.d.ts +4 -0
  341. package/lib/typescript/RTCRtpReceiver.d.ts +21 -0
  342. package/lib/typescript/RTCRtpSendParameters.d.ts +20 -0
  343. package/lib/typescript/RTCRtpSender.d.ts +22 -0
  344. package/lib/typescript/RTCRtpTransceiver.d.ts +31 -0
  345. package/lib/typescript/RTCSessionDescription.d.ts +12 -0
  346. package/lib/typescript/RTCTrackEvent.d.ts +29 -0
  347. package/lib/typescript/RTCUtil.d.ts +37 -0
  348. package/lib/typescript/RTCView.d.ts +117 -0
  349. package/lib/typescript/RTCView.web.d.ts +25 -0
  350. package/lib/typescript/ScreenCapturePickerView.d.ts +2 -0
  351. package/lib/typescript/ScreenCapturePickerView.web.d.ts +1 -0
  352. package/lib/typescript/getDisplayMedia.d.ts +2 -0
  353. package/lib/typescript/getUserMedia.d.ts +7 -0
  354. package/lib/typescript/index.d.ts +22 -0
  355. package/lib/typescript/index.web.d.ts +101 -0
  356. package/lib/typescript/webStream.d.ts +3 -0
  357. package/livekit-react-native-webrtc.podspec +29 -0
  358. package/macos/RCTWebRTC.xcodeproj/project.pbxproj +324 -0
  359. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  360. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  361. package/metro.config.js +7 -0
  362. package/metro.config.macos.js +14 -0
  363. package/package.json +66 -0
  364. package/react-native.config.js +11 -0
  365. package/src/.eslintrc.cjs +67 -0
  366. package/src/Constraints.ts +21 -0
  367. package/src/EventEmitter.ts +65 -0
  368. package/src/Logger.ts +49 -0
  369. package/src/MediaDevices.ts +53 -0
  370. package/src/MediaStream.ts +161 -0
  371. package/src/MediaStreamError.ts +12 -0
  372. package/src/MediaStreamErrorEvent.ts +11 -0
  373. package/src/MediaStreamTrack.ts +284 -0
  374. package/src/MediaStreamTrackEvent.ts +25 -0
  375. package/src/MessageEvent.ts +26 -0
  376. package/src/Permissions.ts +133 -0
  377. package/src/RTCAudioSession.ts +25 -0
  378. package/src/RTCDataChannel.ts +190 -0
  379. package/src/RTCDataChannelEvent.ts +28 -0
  380. package/src/RTCDataPacketCryptor.ts +90 -0
  381. package/src/RTCDataPacketCryptorFactory.ts +25 -0
  382. package/src/RTCErrorEvent.ts +21 -0
  383. package/src/RTCFrameCryptor.ts +163 -0
  384. package/src/RTCFrameCryptorFactory.ts +102 -0
  385. package/src/RTCIceCandidate.ts +29 -0
  386. package/src/RTCIceCandidateEvent.ts +26 -0
  387. package/src/RTCKeyProvider.ts +117 -0
  388. package/src/RTCPIPView.tsx +47 -0
  389. package/src/RTCPIPView.web.tsx +18 -0
  390. package/src/RTCPeerConnection.ts +832 -0
  391. package/src/RTCRtcpParameters.ts +23 -0
  392. package/src/RTCRtpCapabilities.ts +16 -0
  393. package/src/RTCRtpCodecCapability.ts +13 -0
  394. package/src/RTCRtpCodecParameters.ts +44 -0
  395. package/src/RTCRtpEncodingParameters.ts +90 -0
  396. package/src/RTCRtpHeaderExtension.ts +27 -0
  397. package/src/RTCRtpParameters.ts +37 -0
  398. package/src/RTCRtpReceiveParameters.ts +7 -0
  399. package/src/RTCRtpReceiver.ts +60 -0
  400. package/src/RTCRtpSendParameters.ts +63 -0
  401. package/src/RTCRtpSender.ts +78 -0
  402. package/src/RTCRtpTransceiver.ts +107 -0
  403. package/src/RTCSessionDescription.ts +30 -0
  404. package/src/RTCTrackEvent.ts +42 -0
  405. package/src/RTCUtil.ts +211 -0
  406. package/src/RTCView.ts +122 -0
  407. package/src/RTCView.web.tsx +82 -0
  408. package/src/ScreenCapturePickerView.ts +4 -0
  409. package/src/ScreenCapturePickerView.web.tsx +3 -0
  410. package/src/getDisplayMedia.ts +30 -0
  411. package/src/getUserMedia.ts +111 -0
  412. package/src/index.ts +107 -0
  413. package/src/index.web.ts +191 -0
  414. package/src/webStream.ts +33 -0
  415. package/tools/format.sh +6 -0
  416. package/tools/release.sh +45 -0
  417. package/tsconfig.json +17 -0
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.RTCFrameCryptorStateEvent = exports.RTCFrameCryptorState = void 0;
7
+ var _index = require("event-target-shim/index");
8
+ var _reactNative = require("react-native");
9
+ var _EventEmitter = require("./EventEmitter");
10
+ var _Logger = _interopRequireDefault(require("./Logger"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+ const {
14
+ WebRTCModule
15
+ } = _reactNative.NativeModules;
16
+ const log = new _Logger.default('pc');
17
+ /**
18
+ * @eventClass
19
+ * This event is fired whenever the RTCDataChannel has changed in any way.
20
+ * @param {FRAME_CRYPTOR_EVENTS} type - The type of event.
21
+ * @param {IRTCDataChannelEventInitDict} eventInitDict - The event init properties.
22
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel#events MDN} for details.
23
+ */
24
+ class RTCFrameCryptorStateEvent extends _index.Event {
25
+ /** @eventProperty */
26
+
27
+ /** @eventProperty */
28
+
29
+ constructor(type, eventInitDict) {
30
+ super(type, eventInitDict);
31
+ _defineProperty(this, "frameCryptor", void 0);
32
+ _defineProperty(this, "state", void 0);
33
+ this.frameCryptor = eventInitDict.frameCryptor;
34
+ this.state = eventInitDict.state;
35
+ }
36
+ }
37
+ exports.RTCFrameCryptorStateEvent = RTCFrameCryptorStateEvent;
38
+ let RTCFrameCryptorState;
39
+ exports.RTCFrameCryptorState = RTCFrameCryptorState;
40
+ (function (RTCFrameCryptorState) {
41
+ RTCFrameCryptorState[RTCFrameCryptorState["FrameCryptorStateNew"] = 0] = "FrameCryptorStateNew";
42
+ RTCFrameCryptorState[RTCFrameCryptorState["FrameCryptorStateOk"] = 1] = "FrameCryptorStateOk";
43
+ RTCFrameCryptorState[RTCFrameCryptorState["FrameCryptorStateEncryptionFailed"] = 2] = "FrameCryptorStateEncryptionFailed";
44
+ RTCFrameCryptorState[RTCFrameCryptorState["FrameCryptorStateDecryptionFailed"] = 3] = "FrameCryptorStateDecryptionFailed";
45
+ RTCFrameCryptorState[RTCFrameCryptorState["FrameCryptorStateMissingKey"] = 4] = "FrameCryptorStateMissingKey";
46
+ RTCFrameCryptorState[RTCFrameCryptorState["FrameCryptorStateKeyRatcheted"] = 5] = "FrameCryptorStateKeyRatcheted";
47
+ RTCFrameCryptorState[RTCFrameCryptorState["FrameCryptorStateInternalError"] = 6] = "FrameCryptorStateInternalError";
48
+ })(RTCFrameCryptorState || (exports.RTCFrameCryptorState = RTCFrameCryptorState = {}));
49
+ class RTCFrameCryptor extends _index.EventTarget {
50
+ constructor(frameCryptorId, participantId) {
51
+ super();
52
+ _defineProperty(this, "_frameCryptorId", void 0);
53
+ _defineProperty(this, "_participantId", void 0);
54
+ this._frameCryptorId = frameCryptorId;
55
+ this._participantId = participantId;
56
+ this._registerEvents();
57
+ }
58
+ get id() {
59
+ return this._frameCryptorId;
60
+ }
61
+ get participantId() {
62
+ return this._participantId;
63
+ }
64
+ _cryptorStateFromString(str) {
65
+ switch (str) {
66
+ case 'new':
67
+ return RTCFrameCryptorState.FrameCryptorStateNew;
68
+ case 'ok':
69
+ return RTCFrameCryptorState.FrameCryptorStateOk;
70
+ case 'decryptionFailed':
71
+ return RTCFrameCryptorState.FrameCryptorStateDecryptionFailed;
72
+ case 'encryptionFailed':
73
+ return RTCFrameCryptorState.FrameCryptorStateEncryptionFailed;
74
+ case 'internalError':
75
+ return RTCFrameCryptorState.FrameCryptorStateInternalError;
76
+ case 'keyRatcheted':
77
+ return RTCFrameCryptorState.FrameCryptorStateKeyRatcheted;
78
+ case 'missingKey':
79
+ return RTCFrameCryptorState.FrameCryptorStateMissingKey;
80
+ default:
81
+ throw 'Unknown FrameCryptorState: $str';
82
+ }
83
+ }
84
+ async setKeyIndex(keyIndex) {
85
+ const params = {
86
+ frameCryptorId: this._frameCryptorId,
87
+ keyIndex
88
+ };
89
+ return WebRTCModule.frameCryptorSetKeyIndex(params).then(data => data['result']);
90
+ }
91
+ async getKeyIndex() {
92
+ const params = {
93
+ frameCryptorId: this._frameCryptorId
94
+ };
95
+ return WebRTCModule.frameCryptorGetKeyIndex(params).then(data => data['keyIndex']);
96
+ }
97
+ async setEnabled(enabled) {
98
+ const params = {
99
+ frameCryptorId: this._frameCryptorId,
100
+ enabled
101
+ };
102
+ return WebRTCModule.frameCryptorSetEnabled(params).then(data => data['result']);
103
+ }
104
+ async getEnabled() {
105
+ const params = {
106
+ frameCryptorId: this._frameCryptorId
107
+ };
108
+ return WebRTCModule.frameCryptorGetEnabled(params).then(data => data['enabled']);
109
+ }
110
+ async dispose() {
111
+ const params = {
112
+ frameCryptorId: this._frameCryptorId
113
+ };
114
+ await WebRTCModule.frameCryptorDispose(params);
115
+ (0, _EventEmitter.removeListener)(this);
116
+ }
117
+ _registerEvents() {
118
+ (0, _EventEmitter.addListener)(this, 'frameCryptionStateChanged', ev => {
119
+ if (ev.participantId !== this._participantId || ev.frameCryptorId !== this._frameCryptorId) {
120
+ return;
121
+ }
122
+ log.debug(`${this.id} frameCryptionStateChanged ${ev.state}`);
123
+ const initDict = {
124
+ frameCryptor: this,
125
+ state: ev.state
126
+ };
127
+ this.dispatchEvent(new RTCFrameCryptorStateEvent('onframecryptorstatechanged', initDict));
128
+ });
129
+ }
130
+ }
131
+
132
+ /**
133
+ * Define the `onxxx` event handlers.
134
+ */
135
+ exports.default = RTCFrameCryptor;
136
+ const proto = RTCFrameCryptor.prototype;
137
+ (0, _index.defineEventAttribute)(proto, 'onframecryptorstatechanged');
138
+ //# sourceMappingURL=RTCFrameCryptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_reactNative","_EventEmitter","_Logger","_interopRequireDefault","obj","__esModule","default","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","WebRTCModule","NativeModules","log","Logger","RTCFrameCryptorStateEvent","Event","constructor","type","eventInitDict","frameCryptor","state","exports","RTCFrameCryptorState","RTCFrameCryptor","EventTarget","frameCryptorId","participantId","_frameCryptorId","_participantId","_registerEvents","id","_cryptorStateFromString","str","FrameCryptorStateNew","FrameCryptorStateOk","FrameCryptorStateDecryptionFailed","FrameCryptorStateEncryptionFailed","FrameCryptorStateInternalError","FrameCryptorStateKeyRatcheted","FrameCryptorStateMissingKey","setKeyIndex","keyIndex","params","frameCryptorSetKeyIndex","then","data","getKeyIndex","frameCryptorGetKeyIndex","setEnabled","enabled","frameCryptorSetEnabled","getEnabled","frameCryptorGetEnabled","dispose","frameCryptorDispose","removeListener","addListener","ev","debug","initDict","dispatchEvent","proto","prototype","defineEventAttribute"],"sources":["RTCFrameCryptor.ts"],"sourcesContent":["import { Event, EventTarget, defineEventAttribute } from 'event-target-shim/index';\r\nimport { NativeModules } from 'react-native';\r\n\r\nimport { addListener, removeListener } from './EventEmitter';\r\nimport Logger from './Logger';\r\nconst { WebRTCModule } = NativeModules;\r\n\r\nconst log = new Logger('pc');\r\n\r\ntype FRAME_CRYPTOR_EVENTS = 'onframecryptorstatechanged';\r\n\r\ninterface IRTCDataChannelEventInitDict extends Event.EventInit {\r\n frameCryptor: RTCFrameCryptor;\r\n state: RTCFrameCryptorState;\r\n}\r\n\r\n/**\r\n * @eventClass\r\n * This event is fired whenever the RTCDataChannel has changed in any way.\r\n * @param {FRAME_CRYPTOR_EVENTS} type - The type of event.\r\n * @param {IRTCDataChannelEventInitDict} eventInitDict - The event init properties.\r\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel#events MDN} for details.\r\n */\r\nexport class RTCFrameCryptorStateEvent<\r\nTEventType extends FRAME_CRYPTOR_EVENTS\r\n> extends Event<TEventType> {\r\n /** @eventProperty */\r\n frameCryptor: RTCFrameCryptor;\r\n /** @eventProperty */\r\n state: RTCFrameCryptorState;\r\n constructor(type: TEventType, eventInitDict: IRTCDataChannelEventInitDict) {\r\n super(type, eventInitDict);\r\n this.frameCryptor = eventInitDict.frameCryptor;\r\n this.state = eventInitDict.state;\r\n }\r\n}\r\n\r\ntype RTCFrameCryptorEventMap = {\r\n onframecryptorstatechanged: RTCFrameCryptorStateEvent<'onframecryptorstatechanged'>;\r\n}\r\n\r\nexport enum RTCFrameCryptorState {\r\n FrameCryptorStateNew,\r\n FrameCryptorStateOk,\r\n FrameCryptorStateEncryptionFailed,\r\n FrameCryptorStateDecryptionFailed,\r\n FrameCryptorStateMissingKey,\r\n FrameCryptorStateKeyRatcheted,\r\n FrameCryptorStateInternalError,\r\n}\r\n\r\nexport default class RTCFrameCryptor extends EventTarget<RTCFrameCryptorEventMap> {\r\n private _frameCryptorId: string;\r\n private _participantId: string;\r\n\r\n constructor(frameCryptorId: string, participantId: string) {\r\n super();\r\n this._frameCryptorId = frameCryptorId;\r\n this._participantId = participantId;\r\n this._registerEvents();\r\n }\r\n\r\n get id() {\r\n return this._frameCryptorId;\r\n }\r\n\r\n get participantId() {\r\n return this._participantId;\r\n }\r\n\r\n _cryptorStateFromString(str: string): RTCFrameCryptorState {\r\n switch (str) {\r\n case 'new':\r\n return RTCFrameCryptorState.FrameCryptorStateNew;\r\n case 'ok':\r\n return RTCFrameCryptorState.FrameCryptorStateOk;\r\n case 'decryptionFailed':\r\n return RTCFrameCryptorState.FrameCryptorStateDecryptionFailed;\r\n case 'encryptionFailed':\r\n return RTCFrameCryptorState.FrameCryptorStateEncryptionFailed;\r\n case 'internalError':\r\n return RTCFrameCryptorState.FrameCryptorStateInternalError;\r\n case 'keyRatcheted':\r\n return RTCFrameCryptorState.FrameCryptorStateKeyRatcheted;\r\n case 'missingKey':\r\n return RTCFrameCryptorState.FrameCryptorStateMissingKey;\r\n default:\r\n throw 'Unknown FrameCryptorState: $str';\r\n }\r\n }\r\n\r\n async setKeyIndex(keyIndex: number): Promise<boolean> {\r\n const params = {\r\n frameCryptorId: this._frameCryptorId,\r\n keyIndex,\r\n };\r\n\r\n return WebRTCModule.frameCryptorSetKeyIndex(params)\r\n .then(data => data['result']);\r\n }\r\n\r\n async getKeyIndex(): Promise<number> {\r\n const params = {\r\n frameCryptorId: this._frameCryptorId,\r\n };\r\n\r\n return WebRTCModule.frameCryptorGetKeyIndex(params)\r\n .then(data => data['keyIndex']);\r\n }\r\n\r\n async setEnabled(enabled: boolean): Promise<boolean> {\r\n const params = {\r\n frameCryptorId: this._frameCryptorId,\r\n enabled,\r\n };\r\n\r\n return WebRTCModule.frameCryptorSetEnabled(params)\r\n .then(data => data['result']);\r\n }\r\n\r\n async getEnabled(): Promise<boolean> {\r\n const params = {\r\n frameCryptorId: this._frameCryptorId,\r\n };\r\n\r\n return WebRTCModule.frameCryptorGetEnabled(params)\r\n .then(data => data['enabled']);\r\n }\r\n\r\n async dispose(): Promise<void> {\r\n const params = {\r\n frameCryptorId: this._frameCryptorId,\r\n };\r\n\r\n await WebRTCModule.frameCryptorDispose(params);\r\n removeListener(this);\r\n }\r\n\r\n\r\n _registerEvents(): void {\r\n addListener(this, 'frameCryptionStateChanged', (ev: any) => {\r\n if (ev.participantId !== this._participantId || ev.frameCryptorId !== this._frameCryptorId) {\r\n return;\r\n }\r\n\r\n log.debug(`${this.id} frameCryptionStateChanged ${ev.state}`);\r\n\r\n const initDict = {\r\n frameCryptor: this,\r\n state: ev.state,\r\n };\r\n\r\n this.dispatchEvent(new RTCFrameCryptorStateEvent('onframecryptorstatechanged', initDict));\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Define the `onxxx` event handlers.\r\n */\r\nconst proto = RTCFrameCryptor.prototype;\r\n\r\ndefineEventAttribute(proto, 'onframecryptorstatechanged');"],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.RTCFrameCryptorAlgorithm = void 0;
7
+ var base64 = _interopRequireWildcard(require("base64-js"));
8
+ var _reactNative = require("react-native");
9
+ var _RTCFrameCryptor = _interopRequireDefault(require("./RTCFrameCryptor"));
10
+ var _RTCKeyProvider = _interopRequireDefault(require("./RTCKeyProvider"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ const {
15
+ WebRTCModule
16
+ } = _reactNative.NativeModules;
17
+ let RTCFrameCryptorAlgorithm; // kAesCbc = 1,
18
+ exports.RTCFrameCryptorAlgorithm = RTCFrameCryptorAlgorithm;
19
+ (function (RTCFrameCryptorAlgorithm) {
20
+ RTCFrameCryptorAlgorithm[RTCFrameCryptorAlgorithm["kAesGcm"] = 0] = "kAesGcm";
21
+ })(RTCFrameCryptorAlgorithm || (exports.RTCFrameCryptorAlgorithm = RTCFrameCryptorAlgorithm = {}));
22
+ class RTCFrameCryptorFactory {
23
+ static createFrameCryptorForRtpSender(participantId, sender, algorithm, keyProvider) {
24
+ const params = {
25
+ 'peerConnectionId': sender._peerConnectionId,
26
+ 'rtpSenderId': sender._id,
27
+ participantId,
28
+ 'keyProviderId': keyProvider._id,
29
+ 'type': 'sender',
30
+ 'algorithm': algorithm
31
+ };
32
+ const result = WebRTCModule.frameCryptorFactoryCreateFrameCryptor(params);
33
+ if (!result) {
34
+ throw new Error('Error when creating frame cryptor for sender');
35
+ }
36
+ return new _RTCFrameCryptor.default(result, participantId);
37
+ }
38
+ static createFrameCryptorForRtpReceiver(participantId, receiver, algorithm, keyProvider) {
39
+ const params = {
40
+ 'peerConnectionId': receiver._peerConnectionId,
41
+ 'rtpReceiverId': receiver._id,
42
+ participantId,
43
+ 'keyProviderId': keyProvider._id,
44
+ 'type': 'receiver',
45
+ 'algorithm': algorithm
46
+ };
47
+ const result = WebRTCModule.frameCryptorFactoryCreateFrameCryptor(params);
48
+ if (!result) {
49
+ throw new Error('Error when creating frame cryptor for receiver');
50
+ }
51
+ return new _RTCFrameCryptor.default(result, participantId);
52
+ }
53
+ static createDefaultKeyProvider(options) {
54
+ var _options$failureToler, _options$keyRingSize, _options$discardFrame;
55
+ const params = {
56
+ 'sharedKey': options.sharedKey,
57
+ 'ratchetWindowSize': options.ratchetWindowSize,
58
+ 'failureTolerance': (_options$failureToler = options.failureTolerance) !== null && _options$failureToler !== void 0 ? _options$failureToler : -1,
59
+ 'keyRingSize': (_options$keyRingSize = options.keyRingSize) !== null && _options$keyRingSize !== void 0 ? _options$keyRingSize : 16,
60
+ 'discardFrameWhenCryptorNotReady': (_options$discardFrame = options.discardFrameWhenCryptorNotReady) !== null && _options$discardFrame !== void 0 ? _options$discardFrame : false
61
+ };
62
+ if (typeof options.ratchetSalt === 'string') {
63
+ params['ratchetSalt'] = options.ratchetSalt;
64
+ params['ratchetSaltIsBase64'] = false;
65
+ } else {
66
+ const bytes = options.ratchetSalt;
67
+ params['ratchetSalt'] = base64.fromByteArray(bytes);
68
+ params['ratchetSaltIsBase64'] = true;
69
+ }
70
+ if (options.uncryptedMagicBytes) {
71
+ params['uncryptedMagicBytes'] = base64.fromByteArray(options.uncryptedMagicBytes);
72
+ }
73
+ const result = WebRTCModule.frameCryptorFactoryCreateKeyProvider(params);
74
+ if (!result) {
75
+ throw new Error('Error when creating key provider!');
76
+ }
77
+ return new _RTCKeyProvider.default(result);
78
+ }
79
+ }
80
+ exports.default = RTCFrameCryptorFactory;
81
+ //# sourceMappingURL=RTCFrameCryptorFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["base64","_interopRequireWildcard","require","_reactNative","_RTCFrameCryptor","_interopRequireDefault","_RTCKeyProvider","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","WebRTCModule","NativeModules","RTCFrameCryptorAlgorithm","exports","RTCFrameCryptorFactory","createFrameCryptorForRtpSender","participantId","sender","algorithm","keyProvider","params","_peerConnectionId","_id","result","frameCryptorFactoryCreateFrameCryptor","Error","RTCFrameCryptor","createFrameCryptorForRtpReceiver","receiver","createDefaultKeyProvider","options","_options$failureToler","_options$keyRingSize","_options$discardFrame","sharedKey","ratchetWindowSize","failureTolerance","keyRingSize","discardFrameWhenCryptorNotReady","ratchetSalt","bytes","fromByteArray","uncryptedMagicBytes","frameCryptorFactoryCreateKeyProvider","RTCKeyProvider"],"sources":["RTCFrameCryptorFactory.ts"],"sourcesContent":["import * as base64 from 'base64-js';\r\nimport { NativeModules } from 'react-native';\r\n\r\nimport RTCFrameCryptor from './RTCFrameCryptor';\r\nimport RTCKeyProvider from './RTCKeyProvider';\r\nimport RTCRtpReceiver from './RTCRtpReceiver';\r\nimport RTCRtpSender from './RTCRtpSender';\r\nconst { WebRTCModule } = NativeModules;\r\n\r\nexport enum RTCFrameCryptorAlgorithm {\r\n kAesGcm = 0,\r\n // kAesCbc = 1,\r\n}\r\n\r\nexport type RTCKeyProviderOptions = {\r\n sharedKey: boolean,\r\n ratchetSalt: string | Uint8Array,\r\n ratchetWindowSize: number,\r\n uncryptedMagicBytes?: Uint8Array,\r\n failureTolerance?: number,\r\n keyRingSize?: number,\r\n discardFrameWhenCryptorNotReady?: boolean\r\n}\r\n\r\nexport default class RTCFrameCryptorFactory {\r\n static createFrameCryptorForRtpSender(\r\n participantId: string,\r\n sender: RTCRtpSender,\r\n algorithm: RTCFrameCryptorAlgorithm,\r\n keyProvider: RTCKeyProvider\r\n ): RTCFrameCryptor {\r\n const params = {\r\n 'peerConnectionId': sender._peerConnectionId,\r\n 'rtpSenderId': sender._id,\r\n participantId,\r\n 'keyProviderId': keyProvider._id,\r\n 'type': 'sender',\r\n 'algorithm': algorithm\r\n };\r\n const result = WebRTCModule.frameCryptorFactoryCreateFrameCryptor(params);\r\n\r\n if (!result) {\r\n throw new Error('Error when creating frame cryptor for sender');\r\n }\r\n\r\n return new RTCFrameCryptor(result, participantId);\r\n }\r\n static createFrameCryptorForRtpReceiver(\r\n participantId: string,\r\n receiver: RTCRtpReceiver,\r\n algorithm: RTCFrameCryptorAlgorithm,\r\n keyProvider: RTCKeyProvider\r\n ): RTCFrameCryptor {\r\n const params = {\r\n 'peerConnectionId': receiver._peerConnectionId,\r\n 'rtpReceiverId': receiver._id,\r\n participantId,\r\n 'keyProviderId': keyProvider._id,\r\n 'type': 'receiver',\r\n 'algorithm': algorithm\r\n };\r\n const result = WebRTCModule.frameCryptorFactoryCreateFrameCryptor(params);\r\n\r\n if (!result) {\r\n throw new Error('Error when creating frame cryptor for receiver');\r\n }\r\n\r\n return new RTCFrameCryptor(result, participantId);\r\n }\r\n\r\n static createDefaultKeyProvider(options: RTCKeyProviderOptions): RTCKeyProvider {\r\n const params = {\r\n 'sharedKey': options.sharedKey,\r\n 'ratchetWindowSize': options.ratchetWindowSize,\r\n 'failureTolerance': options.failureTolerance ?? -1,\r\n 'keyRingSize': options.keyRingSize ?? 16,\r\n 'discardFrameWhenCryptorNotReady': options.discardFrameWhenCryptorNotReady ?? false\r\n };\r\n\r\n if (typeof options.ratchetSalt === 'string') {\r\n params['ratchetSalt'] = options.ratchetSalt;\r\n params['ratchetSaltIsBase64'] = false;\r\n } else {\r\n const bytes = options.ratchetSalt as Uint8Array;\r\n\r\n params['ratchetSalt'] = base64.fromByteArray(bytes);\r\n params['ratchetSaltIsBase64'] = true;\r\n }\r\n\r\n if (options.uncryptedMagicBytes) {\r\n params['uncryptedMagicBytes'] = base64.fromByteArray(options.uncryptedMagicBytes);\r\n }\r\n\r\n const result = WebRTCModule.frameCryptorFactoryCreateKeyProvider(params);\r\n\r\n if (!result) {\r\n throw new Error('Error when creating key provider!');\r\n }\r\n\r\n return new RTCKeyProvider(result);\r\n }\r\n}"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+ class RTCIceCandidate {
9
+ constructor(_ref) {
10
+ let {
11
+ candidate = '',
12
+ sdpMLineIndex = null,
13
+ sdpMid = null
14
+ } = _ref;
15
+ _defineProperty(this, "candidate", void 0);
16
+ _defineProperty(this, "sdpMLineIndex", void 0);
17
+ _defineProperty(this, "sdpMid", void 0);
18
+ if (sdpMLineIndex === null && sdpMid === null) {
19
+ throw new TypeError('`sdpMLineIndex` and `sdpMid` must not be both null');
20
+ }
21
+ this.candidate = candidate;
22
+ this.sdpMLineIndex = sdpMLineIndex;
23
+ this.sdpMid = sdpMid;
24
+ }
25
+ toJSON() {
26
+ return {
27
+ candidate: this.candidate,
28
+ sdpMLineIndex: this.sdpMLineIndex,
29
+ sdpMid: this.sdpMid
30
+ };
31
+ }
32
+ }
33
+ exports.default = RTCIceCandidate;
34
+ //# sourceMappingURL=RTCIceCandidate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RTCIceCandidate","constructor","_ref","candidate","sdpMLineIndex","sdpMid","_defineProperty","TypeError","toJSON","exports","default"],"sources":["RTCIceCandidate.ts"],"sourcesContent":["interface RTCIceCandidateInfo {\r\n candidate?: string;\r\n sdpMLineIndex?: number | null;\r\n sdpMid?: string | null;\r\n}\r\n\r\nexport default class RTCIceCandidate {\r\n candidate: string;\r\n sdpMLineIndex?: number | null;\r\n sdpMid?: string | null;\r\n\r\n constructor({ candidate = '', sdpMLineIndex = null, sdpMid = null }: RTCIceCandidateInfo) {\r\n if (sdpMLineIndex === null && sdpMid === null) {\r\n throw new TypeError('`sdpMLineIndex` and `sdpMid` must not be both null');\r\n }\r\n\r\n this.candidate = candidate;\r\n this.sdpMLineIndex = sdpMLineIndex;\r\n this.sdpMid = sdpMid;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n candidate: this.candidate,\r\n sdpMLineIndex: this.sdpMLineIndex,\r\n sdpMid: this.sdpMid\r\n };\r\n }\r\n}\r\n"],"mappings":";;;;;;;AAMe,MAAMA,eAAe,CAAC;EAKjCC,WAAWA,CAAAC,IAAA,EAA+E;IAAA,IAA9E;MAAEC,SAAS,GAAG,EAAE;MAAEC,aAAa,GAAG,IAAI;MAAEC,MAAM,GAAG;IAA0B,CAAC,GAAAH,IAAA;IAAAI,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACpF,IAAIF,aAAa,KAAK,IAAI,IAAIC,MAAM,KAAK,IAAI,EAAE;MAC3C,MAAM,IAAIE,SAAS,CAAC,oDAAoD,CAAC;IAC7E;IAEA,IAAI,CAACJ,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACC,MAAM,GAAGA,MAAM;EACxB;EAEAG,MAAMA,CAAA,EAAG;IACL,OAAO;MACHL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,aAAa,EAAE,IAAI,CAACA,aAAa;MACjCC,MAAM,EAAE,IAAI,CAACA;IACjB,CAAC;EACL;AACJ;AAACI,OAAA,CAAAC,OAAA,GAAAV,eAAA"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _index = require("event-target-shim/index");
8
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ /**
10
+ * @eventClass
11
+ * This event is fired whenever the icecandidate related RTC_EVENTS changed.
12
+ * @type {RTCIceCandidateEvent} for icecandidate related.
13
+ * @param {RTC_ICECANDIDATE_EVENTS} type - The type of event.
14
+ * @param {IRTCDataChannelEventInitDict} eventInitDict - The event init properties.
15
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection#events MDN} for details.
16
+ */
17
+ class RTCIceCandidateEvent extends _index.Event {
18
+ /** @eventProperty */
19
+
20
+ constructor(type, eventInitDict) {
21
+ var _eventInitDict$candid;
22
+ super(type, eventInitDict);
23
+ _defineProperty(this, "candidate", void 0);
24
+ this.candidate = (_eventInitDict$candid = eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.candidate) !== null && _eventInitDict$candid !== void 0 ? _eventInitDict$candid : null;
25
+ }
26
+ }
27
+ exports.default = RTCIceCandidateEvent;
28
+ //# sourceMappingURL=RTCIceCandidateEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_index","require","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","RTCIceCandidateEvent","Event","constructor","type","eventInitDict","_eventInitDict$candid","candidate","exports","default"],"sources":["RTCIceCandidateEvent.ts"],"sourcesContent":["import { Event } from 'event-target-shim/index';\r\n\r\nimport type RTCIceCandidate from './RTCIceCandidate';\r\n\r\ntype RTC_ICECANDIDATE_EVENTS = 'icecandidate' | 'icecandidateerror'\r\n\r\ninterface IRTCDataChannelEventInitDict extends Event.EventInit {\r\n candidate: RTCIceCandidate | null\r\n}\r\n\r\n/**\r\n * @eventClass\r\n * This event is fired whenever the icecandidate related RTC_EVENTS changed.\r\n * @type {RTCIceCandidateEvent} for icecandidate related.\r\n * @param {RTC_ICECANDIDATE_EVENTS} type - The type of event.\r\n * @param {IRTCDataChannelEventInitDict} eventInitDict - The event init properties.\r\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection#events MDN} for details.\r\n */\r\nexport default class RTCIceCandidateEvent<TEventType extends RTC_ICECANDIDATE_EVENTS> extends Event<TEventType> {\r\n /** @eventProperty */\r\n candidate: RTCIceCandidate | null;\r\n constructor(type: TEventType, eventInitDict: IRTCDataChannelEventInitDict) {\r\n super(type, eventInitDict);\r\n this.candidate = eventInitDict?.candidate ?? null;\r\n }\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAgD,SAAAC,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,QAAAD,GAAA,IAAAD,GAAA,IAAAG,MAAA,CAAAC,cAAA,CAAAJ,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAG,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAP,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAUhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,MAAMQ,oBAAoB,SAAqDC,YAAK,CAAa;EAC5G;;EAEAC,WAAWA,CAACC,IAAgB,EAAEC,aAA2C,EAAE;IAAA,IAAAC,qBAAA;IACvE,KAAK,CAACF,IAAI,EAAEC,aAAa,CAAC;IAACb,eAAA;IAC3B,IAAI,CAACe,SAAS,IAAAD,qBAAA,GAAGD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEE,SAAS,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EACrD;AACJ;AAACE,OAAA,CAAAC,OAAA,GAAAR,oBAAA"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.FrameCryptorState = void 0;
7
+ var base64 = _interopRequireWildcard(require("base64-js"));
8
+ var _reactNative = require("react-native");
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ const {
13
+ WebRTCModule
14
+ } = _reactNative.NativeModules;
15
+ let FrameCryptorState;
16
+ exports.FrameCryptorState = FrameCryptorState;
17
+ (function (FrameCryptorState) {
18
+ FrameCryptorState[FrameCryptorState["FrameCryptorStateNew"] = 0] = "FrameCryptorStateNew";
19
+ FrameCryptorState[FrameCryptorState["FrameCryptorStateOk"] = 1] = "FrameCryptorStateOk";
20
+ FrameCryptorState[FrameCryptorState["FrameCryptorStateEncryptionFailed"] = 2] = "FrameCryptorStateEncryptionFailed";
21
+ FrameCryptorState[FrameCryptorState["FrameCryptorStateDecryptionFailed"] = 3] = "FrameCryptorStateDecryptionFailed";
22
+ FrameCryptorState[FrameCryptorState["FrameCryptorStateMissingKey"] = 4] = "FrameCryptorStateMissingKey";
23
+ FrameCryptorState[FrameCryptorState["FrameCryptorStateKeyRatcheted"] = 5] = "FrameCryptorStateKeyRatcheted";
24
+ FrameCryptorState[FrameCryptorState["FrameCryptorStateInternalError"] = 6] = "FrameCryptorStateInternalError";
25
+ })(FrameCryptorState || (exports.FrameCryptorState = FrameCryptorState = {}));
26
+ class RTCKeyProvider {
27
+ constructor(keyProviderId) {
28
+ _defineProperty(this, "_id", void 0);
29
+ this._id = keyProviderId;
30
+ }
31
+ async setSharedKey(key) {
32
+ let keyIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
33
+ const params = {
34
+ keyProviderId: this._id,
35
+ keyIndex
36
+ };
37
+ if (typeof key === 'string') {
38
+ params['key'] = key;
39
+ params['keyIsBase64'] = false;
40
+ } else {
41
+ params['key'] = base64.fromByteArray(key);
42
+ params['keyIsBase64'] = true;
43
+ }
44
+ return WebRTCModule.keyProviderSetSharedKey(params).then(data => data['result']);
45
+ }
46
+ async ratchetSharedKey() {
47
+ let keyIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
48
+ const params = {
49
+ keyProviderId: this._id,
50
+ keyIndex
51
+ };
52
+ return WebRTCModule.keyProviderRatchetSharedKey(params).then(data => base64.toByteArray(data['result']));
53
+ }
54
+ async exportSharedKey() {
55
+ let keyIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
56
+ const params = {
57
+ keyProviderId: this._id,
58
+ keyIndex
59
+ };
60
+ return WebRTCModule.keyProviderExportSharedKey(params).then(data => base64.toByteArray(data['result']));
61
+ }
62
+ async setKey(participantId, key) {
63
+ let keyIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
64
+ const params = {
65
+ keyProviderId: this._id,
66
+ participantId,
67
+ keyIndex
68
+ };
69
+ if (typeof key === 'string') {
70
+ params['key'] = key;
71
+ params['keyIsBase64'] = false;
72
+ } else {
73
+ params['key'] = base64.fromByteArray(key);
74
+ params['keyIsBase64'] = true;
75
+ }
76
+ return WebRTCModule.keyProviderSetKey(params).then(data => data['result']);
77
+ }
78
+ async ratchetKey(participantId) {
79
+ let keyIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
80
+ const params = {
81
+ keyProviderId: this._id,
82
+ participantId,
83
+ keyIndex
84
+ };
85
+ return WebRTCModule.keyProviderRatchetKey(params).then(data => base64.toByteArray(data['result']));
86
+ }
87
+ async exportKey(participantId) {
88
+ let keyIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
89
+ const params = {
90
+ keyProviderId: this._id,
91
+ participantId,
92
+ keyIndex
93
+ };
94
+ return WebRTCModule.keyProviderExportKey(params).then(data => base64.toByteArray(data['result']));
95
+ }
96
+ async setSifTrailer(trailer) {
97
+ const params = {
98
+ keyProviderId: this._id,
99
+ 'sifTrailer': base64.fromByteArray(trailer)
100
+ };
101
+ return WebRTCModule.keyProviderSetSifTrailer(params);
102
+ }
103
+ async dispose() {
104
+ const params = {
105
+ keyProviderId: this._id
106
+ };
107
+ return WebRTCModule.keyProviderDispose(params);
108
+ }
109
+ }
110
+ exports.default = RTCKeyProvider;
111
+ //# sourceMappingURL=RTCKeyProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["base64","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_defineProperty","value","enumerable","configurable","writable","WebRTCModule","NativeModules","FrameCryptorState","exports","RTCKeyProvider","constructor","keyProviderId","_id","setSharedKey","keyIndex","arguments","length","undefined","params","fromByteArray","keyProviderSetSharedKey","then","data","ratchetSharedKey","keyProviderRatchetSharedKey","toByteArray","exportSharedKey","keyProviderExportSharedKey","setKey","participantId","keyProviderSetKey","ratchetKey","keyProviderRatchetKey","exportKey","keyProviderExportKey","setSifTrailer","trailer","keyProviderSetSifTrailer","dispose","keyProviderDispose"],"sources":["RTCKeyProvider.ts"],"sourcesContent":["import * as base64 from 'base64-js';\r\nimport { NativeModules } from 'react-native';\r\nconst { WebRTCModule } = NativeModules;\r\n\r\nexport enum FrameCryptorState {\r\n FrameCryptorStateNew,\r\n FrameCryptorStateOk,\r\n FrameCryptorStateEncryptionFailed,\r\n FrameCryptorStateDecryptionFailed,\r\n FrameCryptorStateMissingKey,\r\n FrameCryptorStateKeyRatcheted,\r\n FrameCryptorStateInternalError,\r\n}\r\n\r\nexport default class RTCKeyProvider {\r\n _id: string;\r\n\r\n constructor(keyProviderId: string) {\r\n this._id = keyProviderId;\r\n }\r\n\r\n async setSharedKey(key: string | Uint8Array, keyIndex = 0) {\r\n const params = {\r\n keyProviderId: this._id,\r\n keyIndex,\r\n };\r\n\r\n if (typeof key === 'string') {\r\n params['key'] = key;\r\n params['keyIsBase64'] = false;\r\n } else {\r\n params['key'] = base64.fromByteArray(key as Uint8Array);\r\n params['keyIsBase64'] = true;\r\n }\r\n\r\n return WebRTCModule.keyProviderSetSharedKey(params)\r\n .then(data => data['result']);\r\n }\r\n\r\n async ratchetSharedKey(keyIndex = 0): Promise<Uint8Array> {\r\n const params = {\r\n keyProviderId: this._id,\r\n keyIndex,\r\n };\r\n\r\n return WebRTCModule.keyProviderRatchetSharedKey(params)\r\n .then(data => base64.toByteArray(data['result']));\r\n }\r\n\r\n async exportSharedKey(keyIndex = 0): Promise<Uint8Array> {\r\n const params = {\r\n keyProviderId: this._id,\r\n keyIndex,\r\n };\r\n\r\n return WebRTCModule.keyProviderExportSharedKey(params)\r\n .then(data => base64.toByteArray(data['result']));\r\n }\r\n\r\n async setKey(participantId: string, key: string | Uint8Array, keyIndex = 0): Promise<boolean> {\r\n const params = {\r\n keyProviderId: this._id,\r\n participantId,\r\n keyIndex,\r\n };\r\n\r\n if (typeof key === 'string') {\r\n params['key'] = key;\r\n params['keyIsBase64'] = false;\r\n } else {\r\n params['key'] = base64.fromByteArray(key as Uint8Array);\r\n params['keyIsBase64'] = true;\r\n }\r\n\r\n return WebRTCModule.keyProviderSetKey(params)\r\n .then(data => data['result']);\r\n }\r\n\r\n async ratchetKey(participantId: string, keyIndex = 0): Promise<Uint8Array> {\r\n const params = {\r\n keyProviderId: this._id,\r\n participantId,\r\n keyIndex,\r\n };\r\n\r\n return WebRTCModule.keyProviderRatchetKey(params)\r\n .then(data => base64.toByteArray(data['result']));\r\n }\r\n\r\n async exportKey(participantId: string, keyIndex = 0): Promise<Uint8Array> {\r\n const params = {\r\n keyProviderId: this._id,\r\n participantId,\r\n keyIndex,\r\n };\r\n\r\n return WebRTCModule.keyProviderExportKey(params)\r\n .then(data => base64.toByteArray(data['result']));\r\n }\r\n\r\n async setSifTrailer(trailer: Uint8Array) {\r\n const params = {\r\n keyProviderId: this._id,\r\n 'sifTrailer': base64.fromByteArray(trailer),\r\n };\r\n\r\n return WebRTCModule.keyProviderSetSifTrailer(params);\r\n }\r\n\r\n async dispose() {\r\n const params = {\r\n keyProviderId: this._id,\r\n };\r\n\r\n return WebRTCModule.keyProviderDispose(params);\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.startIOSPIP = startIOSPIP;
8
+ exports.stopIOSPIP = stopIOSPIP;
9
+ var _react = require("react");
10
+ var _reactNative = _interopRequireWildcard(require("react-native"));
11
+ var _RTCView = _interopRequireDefault(require("./RTCView"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
+ /**
17
+ * A convenience wrapper around RTCView to handle the fallback view as a prop.
18
+ */
19
+ const RTCPIPView = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
20
+ var _rtcViewProps$iosPIP, _rtcViewProps$iosPIP2;
21
+ const rtcViewProps = {
22
+ ...props
23
+ };
24
+ const fallbackView = (_rtcViewProps$iosPIP = rtcViewProps.iosPIP) === null || _rtcViewProps$iosPIP === void 0 ? void 0 : _rtcViewProps$iosPIP.fallbackView;
25
+ (_rtcViewProps$iosPIP2 = rtcViewProps.iosPIP) === null || _rtcViewProps$iosPIP2 === void 0 ? true : delete _rtcViewProps$iosPIP2.fallbackView;
26
+ return /*#__PURE__*/React.createElement(_RTCView.default, _extends({
27
+ ref: ref
28
+ }, rtcViewProps), fallbackView);
29
+ });
30
+ function startIOSPIP(ref) {
31
+ _reactNative.UIManager.dispatchViewManagerCommand(_reactNative.default.findNodeHandle(ref.current), _reactNative.UIManager.getViewManagerConfig('RTCVideoView').Commands.startIOSPIP, []);
32
+ }
33
+ function stopIOSPIP(ref) {
34
+ _reactNative.UIManager.dispatchViewManagerCommand(_reactNative.default.findNodeHandle(ref.current), _reactNative.UIManager.getViewManagerConfig('RTCVideoView').Commands.stopIOSPIP, []);
35
+ }
36
+ var _default = RTCPIPView;
37
+ exports.default = _default;
38
+ //# sourceMappingURL=RTCPIPView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_interopRequireWildcard","_RTCView","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","target","i","arguments","length","source","apply","RTCPIPView","forwardRef","props","ref","_rtcViewProps$iosPIP","_rtcViewProps$iosPIP2","rtcViewProps","fallbackView","iosPIP","React","createElement","startIOSPIP","UIManager","dispatchViewManagerCommand","ReactNative","findNodeHandle","current","getViewManagerConfig","Commands","stopIOSPIP","_default","exports"],"sources":["RTCPIPView.tsx"],"sourcesContent":["import { Component, forwardRef } from 'react';\r\nimport ReactNative, { UIManager } from 'react-native';\r\n\r\nimport RTCView, { RTCIOSPIPOptions, RTCVideoViewProps } from './RTCView';\r\n\r\nexport interface RTCPIPViewProps extends RTCVideoViewProps {\r\n iosPIP?: RTCIOSPIPOptions & {\r\n fallbackView?: Component;\r\n };\r\n}\r\n\r\ntype RTCViewInstance = InstanceType<typeof RTCView>;\r\n\r\n/**\r\n * A convenience wrapper around RTCView to handle the fallback view as a prop.\r\n */\r\nconst RTCPIPView = forwardRef<RTCViewInstance, RTCPIPViewProps>((props, ref) => {\r\n const rtcViewProps = { ...props };\r\n const fallbackView = rtcViewProps.iosPIP?.fallbackView;\r\n\r\n delete rtcViewProps.iosPIP?.fallbackView;\r\n\r\n return (\r\n <RTCView ref={ref}\r\n {...rtcViewProps}>\r\n {fallbackView}\r\n </RTCView>\r\n );\r\n});\r\n\r\nexport function startIOSPIP(ref) {\r\n UIManager.dispatchViewManagerCommand(\r\n ReactNative.findNodeHandle(ref.current),\r\n UIManager.getViewManagerConfig('RTCVideoView').Commands.startIOSPIP,\r\n []\r\n );\r\n}\r\n\r\nexport function stopIOSPIP(ref) {\r\n UIManager.dispatchViewManagerCommand(\r\n ReactNative.findNodeHandle(ref.current),\r\n UIManager.getViewManagerConfig('RTCVideoView').Commands.stopIOSPIP,\r\n []\r\n );\r\n}\r\n\r\nexport default RTCPIPView;"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.startIOSPIP = startIOSPIP;
8
+ exports.stopIOSPIP = stopIOSPIP;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _RTCView = _interopRequireDefault(require("./RTCView.web"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ const RTCPIPView = /*#__PURE__*/(0, _react.forwardRef)(props => /*#__PURE__*/_react.default.createElement(_RTCView.default, props));
15
+
16
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
17
+ function startIOSPIP() {}
18
+
19
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
20
+ function stopIOSPIP() {}
21
+ var _default = RTCPIPView;
22
+ exports.default = _default;
23
+ //# sourceMappingURL=RTCPIPView.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_RTCView","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","RTCPIPView","forwardRef","props","createElement","startIOSPIP","stopIOSPIP","_default","exports"],"sources":["RTCPIPView.web.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\r\n\r\nimport RTCView, { RTCIOSPIPOptions, RTCVideoViewProps } from './RTCView.web';\r\n\r\nexport type RTCPIPViewProps = RTCVideoViewProps & {\r\n fallbackView?: React.ReactNode;\r\n iosPIP?: RTCIOSPIPOptions;\r\n};\r\n\r\nconst RTCPIPView = forwardRef<unknown, RTCPIPViewProps>(props => <RTCView {...props} />);\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-empty-function\r\nexport function startIOSPIP() {}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-empty-function\r\nexport function stopIOSPIP() {}\r\n\r\nexport default RTCPIPView;\r\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA6E,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAI,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAO7E,MAAMW,UAAU,gBAAG,IAAAC,iBAAU,EAA2BC,KAAK,iBAAI7B,MAAA,CAAAO,OAAA,CAAAuB,aAAA,CAAC3B,QAAA,CAAAI,OAAO,EAAKsB,KAAQ,CAAC,CAAC;;AAExF;AACO,SAASE,WAAWA,CAAA,EAAG,CAAC;;AAE/B;AACO,SAASC,UAAUA,CAAA,EAAG,CAAC;AAAC,IAAAC,QAAA,GAEhBN,UAAU;AAAAO,OAAA,CAAA3B,OAAA,GAAA0B,QAAA"}