@sbhjt-gr/react-native-webrtc 124.0.3 → 124.0.4

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 (361) hide show
  1. package/.clang-format +11 -11
  2. package/.eslintignore +6 -6
  3. package/.nvmrc +1 -1
  4. package/ISSUE_TEMPLATE.md +40 -40
  5. package/LICENSE +22 -22
  6. package/README.md +103 -103
  7. package/android/build.gradle +37 -37
  8. package/android/consumer-rules.pro +3 -3
  9. package/android/src/main/AndroidManifest.xml +11 -11
  10. package/android/src/main/java/com/oney/WebRTCModule/AbstractVideoCaptureController.java +113 -113
  11. package/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java +338 -338
  12. package/android/src/main/java/com/oney/WebRTCModule/CameraEventsHandler.java +49 -49
  13. package/android/src/main/java/com/oney/WebRTCModule/DataChannelWrapper.java +99 -99
  14. package/android/src/main/java/com/oney/WebRTCModule/DataPacketCryptorManager.java +62 -62
  15. package/android/src/main/java/com/oney/WebRTCModule/DisplayUtils.java +16 -16
  16. package/android/src/main/java/com/oney/WebRTCModule/EglUtils.java +66 -66
  17. package/android/src/main/java/com/oney/WebRTCModule/GetUserMediaImpl.java +539 -539
  18. package/android/src/main/java/com/oney/WebRTCModule/LibraryLoader.java +21 -21
  19. package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionNotification.java +70 -70
  20. package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionService.java +82 -82
  21. package/android/src/main/java/com/oney/WebRTCModule/PeerConnectionObserver.java +588 -588
  22. package/android/src/main/java/com/oney/WebRTCModule/RTCCryptoManager.java +493 -493
  23. package/android/src/main/java/com/oney/WebRTCModule/RTCVideoViewManager.java +98 -98
  24. package/android/src/main/java/com/oney/WebRTCModule/ReactBridgeUtil.java +35 -35
  25. package/android/src/main/java/com/oney/WebRTCModule/ScreenCaptureController.java +94 -94
  26. package/android/src/main/java/com/oney/WebRTCModule/SerializeUtils.java +342 -342
  27. package/android/src/main/java/com/oney/WebRTCModule/StringUtils.java +100 -100
  28. package/android/src/main/java/com/oney/WebRTCModule/ThreadUtils.java +41 -41
  29. package/android/src/main/java/com/oney/WebRTCModule/TrackCapturerEventsEmitter.java +34 -34
  30. package/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java +137 -137
  31. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java +1649 -1643
  32. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModuleOptions.java +33 -33
  33. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModulePackage.java +21 -21
  34. package/android/src/main/java/com/oney/WebRTCModule/WebRTCView.java +583 -583
  35. package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraClient.java +529 -501
  36. package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraConfig.java +17 -17
  37. package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraListener.java +7 -7
  38. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/ProcessorProvider.java +38 -38
  39. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoEffectProcessor.java +59 -59
  40. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessor.java +19 -19
  41. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessorFactoryInterface.java +12 -12
  42. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoDecoderFactory.java +73 -73
  43. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoEncoderFactory.java +73 -73
  44. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoDecoderFactoryProxy.java +36 -36
  45. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoEncoderFactoryProxy.java +36 -36
  46. package/android/src/main/java/org/webrtc/Camera1Helper.java +54 -54
  47. package/android/src/main/java/org/webrtc/Camera2Helper.java +52 -52
  48. package/android/src/main/res/values/strings.xml +5 -5
  49. package/android/src/main/res/values/styles.xml +8 -8
  50. package/ios/RCTWebRTC/CaptureController.h +18 -18
  51. package/ios/RCTWebRTC/CaptureController.m +28 -28
  52. package/ios/RCTWebRTC/CapturerEventsDelegate.h +12 -12
  53. package/ios/RCTWebRTC/DataChannelWrapper.h +27 -27
  54. package/ios/RCTWebRTC/DataChannelWrapper.m +42 -42
  55. package/ios/RCTWebRTC/I420Converter.h +22 -22
  56. package/ios/RCTWebRTC/I420Converter.m +164 -164
  57. package/ios/RCTWebRTC/PIPController.h +24 -24
  58. package/ios/RCTWebRTC/PIPController.m +234 -234
  59. package/ios/RCTWebRTC/PalabraAudioSink.h +13 -13
  60. package/ios/RCTWebRTC/PalabraAudioSink.m +18 -18
  61. package/ios/RCTWebRTC/PalabraClient.h +42 -36
  62. package/ios/RCTWebRTC/PalabraClient.m +680 -644
  63. package/ios/RCTWebRTC/RCTConvert+WebRTC.h +16 -16
  64. package/ios/RCTWebRTC/RCTConvert+WebRTC.m +206 -206
  65. package/ios/RCTWebRTC/RTCMediaStreamTrack+React.h +10 -10
  66. package/ios/RCTWebRTC/RTCMediaStreamTrack+React.m +16 -16
  67. package/ios/RCTWebRTC/RTCVideoViewManager.h +29 -29
  68. package/ios/RCTWebRTC/RTCVideoViewManager.m +411 -411
  69. package/ios/RCTWebRTC/SampleBufferVideoCallView.h +12 -12
  70. package/ios/RCTWebRTC/SampleBufferVideoCallView.m +178 -178
  71. package/ios/RCTWebRTC/ScreenCaptureController.h +20 -20
  72. package/ios/RCTWebRTC/ScreenCaptureController.m +82 -82
  73. package/ios/RCTWebRTC/ScreenCapturePickerViewManager.h +7 -7
  74. package/ios/RCTWebRTC/ScreenCapturePickerViewManager.m +59 -59
  75. package/ios/RCTWebRTC/ScreenCapturer.h +19 -19
  76. package/ios/RCTWebRTC/ScreenCapturer.m +263 -263
  77. package/ios/RCTWebRTC/SerializeUtils.h +28 -28
  78. package/ios/RCTWebRTC/SerializeUtils.m +314 -314
  79. package/ios/RCTWebRTC/SocketConnection.h +13 -13
  80. package/ios/RCTWebRTC/SocketConnection.m +137 -137
  81. package/ios/RCTWebRTC/TrackCapturerEventsEmitter.h +14 -14
  82. package/ios/RCTWebRTC/TrackCapturerEventsEmitter.m +36 -36
  83. package/ios/RCTWebRTC/VideoCaptureController.h +21 -21
  84. package/ios/RCTWebRTC/VideoCaptureController.m +328 -328
  85. package/ios/RCTWebRTC/WLVAudioDevice.h +12 -12
  86. package/ios/RCTWebRTC/WLVAudioDevice.m +137 -137
  87. package/ios/RCTWebRTC/WebRTCModule+Palabra.h +4 -4
  88. package/ios/RCTWebRTC/WebRTCModule+Palabra.m +92 -83
  89. package/ios/RCTWebRTC/WebRTCModule+Permissions.m +75 -75
  90. package/ios/RCTWebRTC/WebRTCModule+RTCAudioSession.m +20 -20
  91. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.h +14 -14
  92. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m +165 -165
  93. package/ios/RCTWebRTC/WebRTCModule+RTCFrameCryptor.m +611 -611
  94. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.h +13 -13
  95. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m +728 -728
  96. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.h +24 -24
  97. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m +1004 -1004
  98. package/ios/RCTWebRTC/WebRTCModule+Transceivers.m +267 -267
  99. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.h +12 -12
  100. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.m +166 -166
  101. package/ios/RCTWebRTC/WebRTCModule.h +58 -58
  102. package/ios/RCTWebRTC/WebRTCModule.m +169 -169
  103. package/ios/RCTWebRTC/WebRTCModuleOptions.h +24 -24
  104. package/ios/RCTWebRTC/WebRTCModuleOptions.m +31 -31
  105. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.h +9 -9
  106. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.m +23 -23
  107. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.h +13 -13
  108. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.m +23 -23
  109. package/ios/RCTWebRTC/videoEffects/VideoFrameProcessor.h +8 -8
  110. package/ios/RCTWebRTC.xcodeproj/project.pbxproj +404 -404
  111. package/ios/RCTWebRTC.xcworkspace/contents.xcworkspacedata +10 -10
  112. package/lib/commonjs/Constraints.js.map +1 -1
  113. package/lib/commonjs/EventEmitter.js.map +1 -1
  114. package/lib/commonjs/Logger.js.map +1 -1
  115. package/lib/commonjs/MediaDevices.js +17 -17
  116. package/lib/commonjs/MediaDevices.js.map +1 -1
  117. package/lib/commonjs/MediaStream.js +19 -19
  118. package/lib/commonjs/MediaStream.js.map +1 -1
  119. package/lib/commonjs/MediaStreamError.js.map +1 -1
  120. package/lib/commonjs/MediaStreamErrorEvent.js.map +1 -1
  121. package/lib/commonjs/MediaStreamTrack.js +28 -28
  122. package/lib/commonjs/MediaStreamTrack.js.map +1 -1
  123. package/lib/commonjs/MediaStreamTrackEvent.js +6 -6
  124. package/lib/commonjs/MediaStreamTrackEvent.js.map +1 -1
  125. package/lib/commonjs/MessageEvent.js +7 -7
  126. package/lib/commonjs/MessageEvent.js.map +1 -1
  127. package/lib/commonjs/Permissions.js +28 -28
  128. package/lib/commonjs/Permissions.js.map +1 -1
  129. package/lib/commonjs/RTCAudioSession.js +4 -4
  130. package/lib/commonjs/RTCAudioSession.js.map +1 -1
  131. package/lib/commonjs/RTCDataChannel.js +2 -2
  132. package/lib/commonjs/RTCDataChannel.js.map +1 -1
  133. package/lib/commonjs/RTCDataChannelEvent.js +6 -6
  134. package/lib/commonjs/RTCDataChannelEvent.js.map +1 -1
  135. package/lib/commonjs/RTCDataPacketCryptor.js.map +1 -1
  136. package/lib/commonjs/RTCDataPacketCryptorFactory.js.map +1 -1
  137. package/lib/commonjs/RTCErrorEvent.js +3 -3
  138. package/lib/commonjs/RTCErrorEvent.js.map +1 -1
  139. package/lib/commonjs/RTCFrameCryptor.js +8 -8
  140. package/lib/commonjs/RTCFrameCryptor.js.map +1 -1
  141. package/lib/commonjs/RTCFrameCryptorFactory.js.map +1 -1
  142. package/lib/commonjs/RTCIceCandidate.js.map +1 -1
  143. package/lib/commonjs/RTCIceCandidateEvent.js +7 -7
  144. package/lib/commonjs/RTCIceCandidateEvent.js.map +1 -1
  145. package/lib/commonjs/RTCKeyProvider.js.map +1 -1
  146. package/lib/commonjs/RTCPIPView.js +2 -2
  147. package/lib/commonjs/RTCPIPView.js.map +1 -1
  148. package/lib/commonjs/RTCPIPView.web.js.map +1 -1
  149. package/lib/commonjs/RTCPeerConnection.js +36 -36
  150. package/lib/commonjs/RTCPeerConnection.js.map +1 -1
  151. package/lib/commonjs/RTCRtcpParameters.js.map +1 -1
  152. package/lib/commonjs/RTCRtpCapabilities.js +2 -2
  153. package/lib/commonjs/RTCRtpCapabilities.js.map +1 -1
  154. package/lib/commonjs/RTCRtpCodecCapability.js.map +1 -1
  155. package/lib/commonjs/RTCRtpCodecParameters.js.map +1 -1
  156. package/lib/commonjs/RTCRtpEncodingParameters.js.map +1 -1
  157. package/lib/commonjs/RTCRtpHeaderExtension.js.map +1 -1
  158. package/lib/commonjs/RTCRtpParameters.js.map +1 -1
  159. package/lib/commonjs/RTCRtpReceiveParameters.js.map +1 -1
  160. package/lib/commonjs/RTCRtpReceiver.js +7 -7
  161. package/lib/commonjs/RTCRtpReceiver.js.map +1 -1
  162. package/lib/commonjs/RTCRtpSendParameters.js +3 -3
  163. package/lib/commonjs/RTCRtpSendParameters.js.map +1 -1
  164. package/lib/commonjs/RTCRtpSender.js +7 -7
  165. package/lib/commonjs/RTCRtpSender.js.map +1 -1
  166. package/lib/commonjs/RTCRtpTransceiver.js.map +1 -1
  167. package/lib/commonjs/RTCSessionDescription.js.map +1 -1
  168. package/lib/commonjs/RTCTrackEvent.js +6 -6
  169. package/lib/commonjs/RTCTrackEvent.js.map +1 -1
  170. package/lib/commonjs/RTCUtil.js +28 -28
  171. package/lib/commonjs/RTCUtil.js.map +1 -1
  172. package/lib/commonjs/RTCView.js +5 -5
  173. package/lib/commonjs/RTCView.js.map +1 -1
  174. package/lib/commonjs/RTCView.web.js.map +1 -1
  175. package/lib/commonjs/ScreenCapturePickerView.js.map +1 -1
  176. package/lib/commonjs/ScreenCapturePickerView.web.js.map +1 -1
  177. package/lib/commonjs/getDisplayMedia.js.map +1 -1
  178. package/lib/commonjs/getUserMedia.js.map +1 -1
  179. package/lib/commonjs/index.js.map +1 -1
  180. package/lib/commonjs/index.web.js.map +1 -1
  181. package/lib/commonjs/webStream.js.map +1 -1
  182. package/lib/module/Constraints.js.map +1 -1
  183. package/lib/module/EventEmitter.js.map +1 -1
  184. package/lib/module/Logger.js.map +1 -1
  185. package/lib/module/MediaDevices.js +17 -17
  186. package/lib/module/MediaDevices.js.map +1 -1
  187. package/lib/module/MediaStream.js +19 -19
  188. package/lib/module/MediaStream.js.map +1 -1
  189. package/lib/module/MediaStreamError.js.map +1 -1
  190. package/lib/module/MediaStreamErrorEvent.js.map +1 -1
  191. package/lib/module/MediaStreamTrack.js +28 -28
  192. package/lib/module/MediaStreamTrack.js.map +1 -1
  193. package/lib/module/MediaStreamTrackEvent.js +6 -6
  194. package/lib/module/MediaStreamTrackEvent.js.map +1 -1
  195. package/lib/module/MessageEvent.js +7 -7
  196. package/lib/module/MessageEvent.js.map +1 -1
  197. package/lib/module/Permissions.js +28 -28
  198. package/lib/module/Permissions.js.map +1 -1
  199. package/lib/module/RTCAudioSession.js +4 -4
  200. package/lib/module/RTCAudioSession.js.map +1 -1
  201. package/lib/module/RTCDataChannel.js +2 -2
  202. package/lib/module/RTCDataChannel.js.map +1 -1
  203. package/lib/module/RTCDataChannelEvent.js +6 -6
  204. package/lib/module/RTCDataChannelEvent.js.map +1 -1
  205. package/lib/module/RTCDataPacketCryptor.js.map +1 -1
  206. package/lib/module/RTCDataPacketCryptorFactory.js.map +1 -1
  207. package/lib/module/RTCErrorEvent.js +3 -3
  208. package/lib/module/RTCErrorEvent.js.map +1 -1
  209. package/lib/module/RTCFrameCryptor.js +8 -8
  210. package/lib/module/RTCFrameCryptor.js.map +1 -1
  211. package/lib/module/RTCFrameCryptorFactory.js.map +1 -1
  212. package/lib/module/RTCIceCandidate.js.map +1 -1
  213. package/lib/module/RTCIceCandidateEvent.js +7 -7
  214. package/lib/module/RTCIceCandidateEvent.js.map +1 -1
  215. package/lib/module/RTCKeyProvider.js.map +1 -1
  216. package/lib/module/RTCPIPView.js +2 -2
  217. package/lib/module/RTCPIPView.js.map +1 -1
  218. package/lib/module/RTCPIPView.web.js.map +1 -1
  219. package/lib/module/RTCPeerConnection.js +36 -36
  220. package/lib/module/RTCPeerConnection.js.map +1 -1
  221. package/lib/module/RTCRtcpParameters.js.map +1 -1
  222. package/lib/module/RTCRtpCapabilities.js +2 -2
  223. package/lib/module/RTCRtpCapabilities.js.map +1 -1
  224. package/lib/module/RTCRtpCodecCapability.js.map +1 -1
  225. package/lib/module/RTCRtpCodecParameters.js.map +1 -1
  226. package/lib/module/RTCRtpEncodingParameters.js.map +1 -1
  227. package/lib/module/RTCRtpHeaderExtension.js.map +1 -1
  228. package/lib/module/RTCRtpParameters.js.map +1 -1
  229. package/lib/module/RTCRtpReceiveParameters.js.map +1 -1
  230. package/lib/module/RTCRtpReceiver.js +7 -7
  231. package/lib/module/RTCRtpReceiver.js.map +1 -1
  232. package/lib/module/RTCRtpSendParameters.js +3 -3
  233. package/lib/module/RTCRtpSendParameters.js.map +1 -1
  234. package/lib/module/RTCRtpSender.js +7 -7
  235. package/lib/module/RTCRtpSender.js.map +1 -1
  236. package/lib/module/RTCRtpTransceiver.js.map +1 -1
  237. package/lib/module/RTCSessionDescription.js.map +1 -1
  238. package/lib/module/RTCTrackEvent.js +6 -6
  239. package/lib/module/RTCTrackEvent.js.map +1 -1
  240. package/lib/module/RTCUtil.js +28 -28
  241. package/lib/module/RTCUtil.js.map +1 -1
  242. package/lib/module/RTCView.js +5 -5
  243. package/lib/module/RTCView.js.map +1 -1
  244. package/lib/module/RTCView.web.js.map +1 -1
  245. package/lib/module/ScreenCapturePickerView.js.map +1 -1
  246. package/lib/module/ScreenCapturePickerView.web.js.map +1 -1
  247. package/lib/module/getDisplayMedia.js.map +1 -1
  248. package/lib/module/getUserMedia.js.map +1 -1
  249. package/lib/module/index.js.map +1 -1
  250. package/lib/module/index.web.js.map +1 -1
  251. package/lib/module/webStream.js.map +1 -1
  252. package/lib/typescript/Constraints.d.ts +19 -19
  253. package/lib/typescript/EventEmitter.d.ts +6 -6
  254. package/lib/typescript/Logger.d.ts +13 -13
  255. package/lib/typescript/MediaDevices.d.ts +30 -30
  256. package/lib/typescript/MediaStream.d.ts +48 -48
  257. package/lib/typescript/MediaStreamError.d.ts +6 -6
  258. package/lib/typescript/MediaStreamErrorEvent.d.ts +6 -6
  259. package/lib/typescript/MediaStreamTrack.d.ts +101 -101
  260. package/lib/typescript/MediaStreamTrackEvent.d.ts +19 -19
  261. package/lib/typescript/MessageEvent.d.ts +20 -20
  262. package/lib/typescript/Permissions.d.ts +55 -55
  263. package/lib/typescript/RTCAudioSession.d.ts +10 -10
  264. package/lib/typescript/RTCDataChannel.d.ts +43 -43
  265. package/lib/typescript/RTCDataChannelEvent.d.ts +19 -19
  266. package/lib/typescript/RTCDataPacketCryptor.d.ts +12 -12
  267. package/lib/typescript/RTCDataPacketCryptorFactory.d.ts +6 -6
  268. package/lib/typescript/RTCErrorEvent.d.ts +12 -12
  269. package/lib/typescript/RTCFrameCryptor.d.ts +47 -47
  270. package/lib/typescript/RTCFrameCryptorFactory.d.ts +21 -21
  271. package/lib/typescript/RTCIceCandidate.d.ts +17 -17
  272. package/lib/typescript/RTCIceCandidateEvent.d.ts +20 -20
  273. package/lib/typescript/RTCKeyProvider.d.ts +21 -21
  274. package/lib/typescript/RTCPIPView.d.ts +15 -15
  275. package/lib/typescript/RTCPIPView.web.d.ts +13 -13
  276. package/lib/typescript/RTCPeerConnection.d.ts +117 -117
  277. package/lib/typescript/RTCRtcpParameters.d.ts +10 -10
  278. package/lib/typescript/RTCRtpCapabilities.d.ts +9 -9
  279. package/lib/typescript/RTCRtpCodecCapability.d.ts +7 -7
  280. package/lib/typescript/RTCRtpCodecParameters.d.ts +16 -16
  281. package/lib/typescript/RTCRtpEncodingParameters.d.ts +23 -23
  282. package/lib/typescript/RTCRtpHeaderExtension.d.ts +12 -12
  283. package/lib/typescript/RTCRtpParameters.d.ts +19 -19
  284. package/lib/typescript/RTCRtpReceiveParameters.d.ts +4 -4
  285. package/lib/typescript/RTCRtpReceiver.d.ts +21 -21
  286. package/lib/typescript/RTCRtpSendParameters.d.ts +20 -20
  287. package/lib/typescript/RTCRtpSender.d.ts +22 -22
  288. package/lib/typescript/RTCRtpTransceiver.d.ts +31 -31
  289. package/lib/typescript/RTCSessionDescription.d.ts +12 -12
  290. package/lib/typescript/RTCTrackEvent.d.ts +29 -29
  291. package/lib/typescript/RTCUtil.d.ts +37 -37
  292. package/lib/typescript/RTCView.d.ts +117 -117
  293. package/lib/typescript/RTCView.web.d.ts +25 -25
  294. package/lib/typescript/ScreenCapturePickerView.d.ts +2 -2
  295. package/lib/typescript/ScreenCapturePickerView.web.d.ts +1 -1
  296. package/lib/typescript/getDisplayMedia.d.ts +2 -2
  297. package/lib/typescript/getUserMedia.d.ts +7 -7
  298. package/lib/typescript/index.d.ts +22 -22
  299. package/lib/typescript/index.web.d.ts +101 -101
  300. package/lib/typescript/webStream.d.ts +3 -3
  301. package/livekit-react-native-webrtc.podspec +29 -29
  302. package/macos/RCTWebRTC.xcodeproj/project.pbxproj +324 -324
  303. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -7
  304. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -8
  305. package/metro.config.js +7 -7
  306. package/metro.config.macos.js +14 -14
  307. package/package.json +66 -66
  308. package/react-native.config.js +11 -11
  309. package/src/.eslintrc.cjs +67 -67
  310. package/src/Constraints.ts +20 -20
  311. package/src/EventEmitter.ts +65 -65
  312. package/src/Logger.ts +49 -49
  313. package/src/MediaDevices.ts +53 -53
  314. package/src/MediaStream.ts +161 -161
  315. package/src/MediaStreamError.ts +12 -12
  316. package/src/MediaStreamErrorEvent.ts +11 -11
  317. package/src/MediaStreamTrack.ts +282 -282
  318. package/src/MediaStreamTrackEvent.ts +25 -25
  319. package/src/MessageEvent.ts +26 -26
  320. package/src/Permissions.ts +133 -133
  321. package/src/RTCAudioSession.ts +25 -25
  322. package/src/RTCDataChannel.ts +190 -190
  323. package/src/RTCDataChannelEvent.ts +28 -28
  324. package/src/RTCDataPacketCryptor.ts +90 -90
  325. package/src/RTCDataPacketCryptorFactory.ts +24 -24
  326. package/src/RTCErrorEvent.ts +20 -20
  327. package/src/RTCFrameCryptor.ts +162 -162
  328. package/src/RTCFrameCryptorFactory.ts +101 -101
  329. package/src/RTCIceCandidate.ts +29 -29
  330. package/src/RTCIceCandidateEvent.ts +26 -26
  331. package/src/RTCKeyProvider.ts +117 -117
  332. package/src/RTCPIPView.tsx +46 -46
  333. package/src/RTCPIPView.web.tsx +18 -18
  334. package/src/RTCPeerConnection.ts +935 -935
  335. package/src/RTCRtcpParameters.ts +23 -23
  336. package/src/RTCRtpCapabilities.ts +16 -16
  337. package/src/RTCRtpCodecCapability.ts +12 -12
  338. package/src/RTCRtpCodecParameters.ts +44 -44
  339. package/src/RTCRtpEncodingParameters.ts +90 -90
  340. package/src/RTCRtpHeaderExtension.ts +27 -27
  341. package/src/RTCRtpParameters.ts +37 -37
  342. package/src/RTCRtpReceiveParameters.ts +7 -7
  343. package/src/RTCRtpReceiver.ts +60 -60
  344. package/src/RTCRtpSendParameters.ts +63 -63
  345. package/src/RTCRtpSender.ts +78 -78
  346. package/src/RTCRtpTransceiver.ts +107 -107
  347. package/src/RTCSessionDescription.ts +30 -30
  348. package/src/RTCTrackEvent.ts +42 -42
  349. package/src/RTCUtil.ts +211 -211
  350. package/src/RTCView.ts +122 -122
  351. package/src/RTCView.web.tsx +80 -80
  352. package/src/ScreenCapturePickerView.ts +4 -4
  353. package/src/ScreenCapturePickerView.web.tsx +3 -3
  354. package/src/getDisplayMedia.ts +30 -30
  355. package/src/getUserMedia.ts +136 -136
  356. package/src/index.ts +107 -107
  357. package/src/index.web.ts +191 -191
  358. package/src/webStream.ts +31 -31
  359. package/tools/format.sh +6 -6
  360. package/tools/release.sh +45 -45
  361. package/tsconfig.json +17 -17
@@ -1,53 +1,53 @@
1
- import { EventTarget, Event, defineEventAttribute } from 'event-target-shim/index';
2
- import { NativeModules } from 'react-native';
3
-
4
- import getDisplayMedia from './getDisplayMedia';
5
- import getUserMedia, { Constraints } from './getUserMedia';
6
-
7
- const { WebRTCModule } = NativeModules;
8
-
9
- type MediaDevicesEventMap = {
10
- devicechange: Event<'devicechange'>
11
- }
12
-
13
- class MediaDevices extends EventTarget<MediaDevicesEventMap> {
14
- /**
15
- * W3C "Media Capture and Streams" compatible {@code enumerateDevices}
16
- * implementation.
17
- */
18
- enumerateDevices() {
19
- return new Promise(resolve => WebRTCModule.enumerateDevices(resolve));
20
- }
21
-
22
- /**
23
- * W3C "Screen Capture" compatible {@code getDisplayMedia} implementation.
24
- * See: https://w3c.github.io/mediacapture-screen-share/
25
- *
26
- * @returns {Promise}
27
- */
28
- getDisplayMedia() {
29
- return getDisplayMedia();
30
- }
31
-
32
- /**
33
- * W3C "Media Capture and Streams" compatible {@code getUserMedia}
34
- * implementation.
35
- * See: https://www.w3.org/TR/mediacapture-streams/#dom-mediadevices-enumeratedevices
36
- *
37
- * @param {*} constraints
38
- * @returns {Promise}
39
- */
40
- getUserMedia(constraints: Constraints) {
41
- return getUserMedia(constraints);
42
- }
43
- }
44
-
45
- /**
46
- * Define the `onxxx` event handlers.
47
- */
48
- const proto = MediaDevices.prototype;
49
-
50
- defineEventAttribute(proto, 'devicechange');
51
-
52
-
53
- export default new MediaDevices();
1
+ import { EventTarget, Event, defineEventAttribute } from 'event-target-shim/index';
2
+ import { NativeModules } from 'react-native';
3
+
4
+ import getDisplayMedia from './getDisplayMedia';
5
+ import getUserMedia, { Constraints } from './getUserMedia';
6
+
7
+ const { WebRTCModule } = NativeModules;
8
+
9
+ type MediaDevicesEventMap = {
10
+ devicechange: Event<'devicechange'>
11
+ }
12
+
13
+ class MediaDevices extends EventTarget<MediaDevicesEventMap> {
14
+ /**
15
+ * W3C "Media Capture and Streams" compatible {@code enumerateDevices}
16
+ * implementation.
17
+ */
18
+ enumerateDevices() {
19
+ return new Promise(resolve => WebRTCModule.enumerateDevices(resolve));
20
+ }
21
+
22
+ /**
23
+ * W3C "Screen Capture" compatible {@code getDisplayMedia} implementation.
24
+ * See: https://w3c.github.io/mediacapture-screen-share/
25
+ *
26
+ * @returns {Promise}
27
+ */
28
+ getDisplayMedia() {
29
+ return getDisplayMedia();
30
+ }
31
+
32
+ /**
33
+ * W3C "Media Capture and Streams" compatible {@code getUserMedia}
34
+ * implementation.
35
+ * See: https://www.w3.org/TR/mediacapture-streams/#dom-mediadevices-enumeratedevices
36
+ *
37
+ * @param {*} constraints
38
+ * @returns {Promise}
39
+ */
40
+ getUserMedia(constraints: Constraints) {
41
+ return getUserMedia(constraints);
42
+ }
43
+ }
44
+
45
+ /**
46
+ * Define the `onxxx` event handlers.
47
+ */
48
+ const proto = MediaDevices.prototype;
49
+
50
+ defineEventAttribute(proto, 'devicechange');
51
+
52
+
53
+ export default new MediaDevices();
@@ -1,161 +1,161 @@
1
- import { EventTarget, defineEventAttribute } from 'event-target-shim/index';
2
- import { NativeModules } from 'react-native';
3
-
4
- import MediaStreamTrack, { MediaStreamTrackInfo } from './MediaStreamTrack';
5
- import MediaStreamTrackEvent from './MediaStreamTrackEvent';
6
- import { uniqueID } from './RTCUtil';
7
-
8
- const { WebRTCModule } = NativeModules;
9
-
10
- type MediaStreamEventMap = {
11
- addtrack: MediaStreamTrackEvent<'addtrack'>
12
- removetrack: MediaStreamTrackEvent<'removetrack'>
13
- }
14
-
15
- export default class MediaStream extends EventTarget<MediaStreamEventMap> {
16
- _tracks: MediaStreamTrack[] = [];
17
- _id: string;
18
-
19
- /**
20
- * The identifier of this MediaStream unique within the associated
21
- * WebRTCModule instance. As the id of a remote MediaStream instance is unique
22
- * only within the associated RTCPeerConnection, it is not sufficiently unique
23
- * to identify this MediaStream across multiple RTCPeerConnections and to
24
- * unambiguously differentiate it from a local MediaStream instance not added
25
- * to an RTCPeerConnection.
26
- */
27
- _reactTag: string;
28
-
29
- /**
30
- * A MediaStream can be constructed in several ways, depending on the parameters
31
- * that are passed here.
32
- *
33
- * - undefined: just a new stream, with no tracks.
34
- * - MediaStream instance: a new stream, with a copy of the tracks of the passed stream.
35
- * - Array of MediaStreamTrack: a new stream with a copy of the tracks in the array.
36
- * - object: a new stream instance, represented by the passed info object, this is always
37
- * done internally, when the stream is first created in native and the JS wrapper is
38
- * built afterwards.
39
- */
40
- constructor(arg?:
41
- MediaStream |
42
- MediaStreamTrack[] |
43
- { streamId: string, streamReactTag: string, tracks: MediaStreamTrackInfo[] }
44
- ) {
45
- super();
46
-
47
- // Assign a UUID to start with. It will get overridden for remote streams.
48
- this._id = uniqueID();
49
-
50
- // Local MediaStreams are created by WebRTCModule to have their id and
51
- // reactTag equal because WebRTCModule follows the respective standard's
52
- // recommendation for id generation i.e. uses UUID which is unique enough
53
- // for the purposes of reactTag.
54
- this._reactTag = this._id;
55
-
56
- if (typeof arg === 'undefined') {
57
- WebRTCModule.mediaStreamCreate(this.id);
58
- } else if (arg instanceof MediaStream) {
59
- WebRTCModule.mediaStreamCreate(this.id);
60
-
61
- for (const track of arg.getTracks()) {
62
- this.addTrack(track);
63
- }
64
- } else if (Array.isArray(arg)) {
65
- WebRTCModule.mediaStreamCreate(this.id);
66
-
67
- for (const track of arg) {
68
- this.addTrack(track);
69
- }
70
- } else if (typeof arg === 'object' && arg.streamId && arg.streamReactTag && arg.tracks) {
71
- this._id = arg.streamId;
72
- this._reactTag = arg.streamReactTag;
73
-
74
- for (const trackInfo of arg.tracks) {
75
- // We are not using addTrack here because the track is already part of the
76
- // stream, so there is no need to add it on the native side.
77
- this._tracks.push(new MediaStreamTrack(trackInfo));
78
- }
79
- } else {
80
- throw new TypeError(`invalid type: ${typeof arg}`);
81
- }
82
- }
83
-
84
- get id(): string {
85
- return this._id;
86
- }
87
-
88
- get active(): boolean {
89
- // TODO: can we reliably report this value?
90
-
91
- return true;
92
- }
93
-
94
- addTrack(track: MediaStreamTrack): void {
95
- const index = this._tracks.indexOf(track);
96
-
97
- if (index !== -1) {
98
- return;
99
- }
100
-
101
- this._tracks.push(track);
102
- WebRTCModule.mediaStreamAddTrack(this._reactTag, track.remote ? track._peerConnectionId : -1, track.id);
103
- }
104
-
105
- removeTrack(track: MediaStreamTrack): void {
106
- const index = this._tracks.indexOf(track);
107
-
108
- if (index === -1) {
109
- return;
110
- }
111
-
112
- this._tracks.splice(index, 1);
113
- WebRTCModule.mediaStreamRemoveTrack(this._reactTag, track.remote ? track._peerConnectionId : -1, track.id);
114
- }
115
-
116
- getTracks(): MediaStreamTrack[] {
117
- return this._tracks.slice();
118
- }
119
-
120
- getTrackById(trackId): MediaStreamTrack | undefined {
121
- return this._tracks.find(track => track.id === trackId);
122
- }
123
-
124
- getAudioTracks(): MediaStreamTrack[] {
125
- return this._tracks.filter(track => track.kind === 'audio');
126
- }
127
-
128
- getVideoTracks(): MediaStreamTrack[] {
129
- return this._tracks.filter(track => track.kind === 'video');
130
- }
131
-
132
- clone(): never {
133
- throw new Error('Not implemented.');
134
- }
135
-
136
- toURL(): string {
137
- return this._reactTag;
138
- }
139
-
140
- release(releaseTracks = true): void {
141
- const tracks = [ ...this._tracks ];
142
-
143
- for (const track of tracks) {
144
- this.removeTrack(track);
145
-
146
- if (releaseTracks) {
147
- track.release();
148
- }
149
- }
150
-
151
- WebRTCModule.mediaStreamRelease(this._reactTag);
152
- }
153
- }
154
-
155
- /**
156
- * Define the `onxxx` event handlers.
157
- */
158
- const proto = MediaStream.prototype;
159
-
160
- defineEventAttribute(proto, 'addtrack');
161
- defineEventAttribute(proto, 'removetrack');
1
+ import { EventTarget, defineEventAttribute } from 'event-target-shim/index';
2
+ import { NativeModules } from 'react-native';
3
+
4
+ import MediaStreamTrack, { MediaStreamTrackInfo } from './MediaStreamTrack';
5
+ import MediaStreamTrackEvent from './MediaStreamTrackEvent';
6
+ import { uniqueID } from './RTCUtil';
7
+
8
+ const { WebRTCModule } = NativeModules;
9
+
10
+ type MediaStreamEventMap = {
11
+ addtrack: MediaStreamTrackEvent<'addtrack'>
12
+ removetrack: MediaStreamTrackEvent<'removetrack'>
13
+ }
14
+
15
+ export default class MediaStream extends EventTarget<MediaStreamEventMap> {
16
+ _tracks: MediaStreamTrack[] = [];
17
+ _id: string;
18
+
19
+ /**
20
+ * The identifier of this MediaStream unique within the associated
21
+ * WebRTCModule instance. As the id of a remote MediaStream instance is unique
22
+ * only within the associated RTCPeerConnection, it is not sufficiently unique
23
+ * to identify this MediaStream across multiple RTCPeerConnections and to
24
+ * unambiguously differentiate it from a local MediaStream instance not added
25
+ * to an RTCPeerConnection.
26
+ */
27
+ _reactTag: string;
28
+
29
+ /**
30
+ * A MediaStream can be constructed in several ways, depending on the parameters
31
+ * that are passed here.
32
+ *
33
+ * - undefined: just a new stream, with no tracks.
34
+ * - MediaStream instance: a new stream, with a copy of the tracks of the passed stream.
35
+ * - Array of MediaStreamTrack: a new stream with a copy of the tracks in the array.
36
+ * - object: a new stream instance, represented by the passed info object, this is always
37
+ * done internally, when the stream is first created in native and the JS wrapper is
38
+ * built afterwards.
39
+ */
40
+ constructor(arg?:
41
+ MediaStream |
42
+ MediaStreamTrack[] |
43
+ { streamId: string, streamReactTag: string, tracks: MediaStreamTrackInfo[] }
44
+ ) {
45
+ super();
46
+
47
+ // Assign a UUID to start with. It will get overridden for remote streams.
48
+ this._id = uniqueID();
49
+
50
+ // Local MediaStreams are created by WebRTCModule to have their id and
51
+ // reactTag equal because WebRTCModule follows the respective standard's
52
+ // recommendation for id generation i.e. uses UUID which is unique enough
53
+ // for the purposes of reactTag.
54
+ this._reactTag = this._id;
55
+
56
+ if (typeof arg === 'undefined') {
57
+ WebRTCModule.mediaStreamCreate(this.id);
58
+ } else if (arg instanceof MediaStream) {
59
+ WebRTCModule.mediaStreamCreate(this.id);
60
+
61
+ for (const track of arg.getTracks()) {
62
+ this.addTrack(track);
63
+ }
64
+ } else if (Array.isArray(arg)) {
65
+ WebRTCModule.mediaStreamCreate(this.id);
66
+
67
+ for (const track of arg) {
68
+ this.addTrack(track);
69
+ }
70
+ } else if (typeof arg === 'object' && arg.streamId && arg.streamReactTag && arg.tracks) {
71
+ this._id = arg.streamId;
72
+ this._reactTag = arg.streamReactTag;
73
+
74
+ for (const trackInfo of arg.tracks) {
75
+ // We are not using addTrack here because the track is already part of the
76
+ // stream, so there is no need to add it on the native side.
77
+ this._tracks.push(new MediaStreamTrack(trackInfo));
78
+ }
79
+ } else {
80
+ throw new TypeError(`invalid type: ${typeof arg}`);
81
+ }
82
+ }
83
+
84
+ get id(): string {
85
+ return this._id;
86
+ }
87
+
88
+ get active(): boolean {
89
+ // TODO: can we reliably report this value?
90
+
91
+ return true;
92
+ }
93
+
94
+ addTrack(track: MediaStreamTrack): void {
95
+ const index = this._tracks.indexOf(track);
96
+
97
+ if (index !== -1) {
98
+ return;
99
+ }
100
+
101
+ this._tracks.push(track);
102
+ WebRTCModule.mediaStreamAddTrack(this._reactTag, track.remote ? track._peerConnectionId : -1, track.id);
103
+ }
104
+
105
+ removeTrack(track: MediaStreamTrack): void {
106
+ const index = this._tracks.indexOf(track);
107
+
108
+ if (index === -1) {
109
+ return;
110
+ }
111
+
112
+ this._tracks.splice(index, 1);
113
+ WebRTCModule.mediaStreamRemoveTrack(this._reactTag, track.remote ? track._peerConnectionId : -1, track.id);
114
+ }
115
+
116
+ getTracks(): MediaStreamTrack[] {
117
+ return this._tracks.slice();
118
+ }
119
+
120
+ getTrackById(trackId): MediaStreamTrack | undefined {
121
+ return this._tracks.find(track => track.id === trackId);
122
+ }
123
+
124
+ getAudioTracks(): MediaStreamTrack[] {
125
+ return this._tracks.filter(track => track.kind === 'audio');
126
+ }
127
+
128
+ getVideoTracks(): MediaStreamTrack[] {
129
+ return this._tracks.filter(track => track.kind === 'video');
130
+ }
131
+
132
+ clone(): never {
133
+ throw new Error('Not implemented.');
134
+ }
135
+
136
+ toURL(): string {
137
+ return this._reactTag;
138
+ }
139
+
140
+ release(releaseTracks = true): void {
141
+ const tracks = [ ...this._tracks ];
142
+
143
+ for (const track of tracks) {
144
+ this.removeTrack(track);
145
+
146
+ if (releaseTracks) {
147
+ track.release();
148
+ }
149
+ }
150
+
151
+ WebRTCModule.mediaStreamRelease(this._reactTag);
152
+ }
153
+ }
154
+
155
+ /**
156
+ * Define the `onxxx` event handlers.
157
+ */
158
+ const proto = MediaStream.prototype;
159
+
160
+ defineEventAttribute(proto, 'addtrack');
161
+ defineEventAttribute(proto, 'removetrack');
@@ -1,12 +1,12 @@
1
-
2
- export default class MediaStreamError {
3
- name: string;
4
- message?: string;
5
- constraintName?: string;
6
-
7
- constructor(error) {
8
- this.name = error.name;
9
- this.message = error.message;
10
- this.constraintName = error.constraintName;
11
- }
12
- }
1
+
2
+ export default class MediaStreamError {
3
+ name: string;
4
+ message?: string;
5
+ constraintName?: string;
6
+
7
+ constructor(error) {
8
+ this.name = error.name;
9
+ this.message = error.message;
10
+ this.constraintName = error.constraintName;
11
+ }
12
+ }
@@ -1,11 +1,11 @@
1
-
2
- import type MediaStreamError from './MediaStreamError';
3
-
4
- export default class MediaStreamErrorEvent {
5
- type: string;
6
- error?: MediaStreamError;
7
- constructor(type, eventInitDict) {
8
- this.type = type.toString();
9
- Object.assign(this, eventInitDict);
10
- }
11
- }
1
+
2
+ import type MediaStreamError from './MediaStreamError';
3
+
4
+ export default class MediaStreamErrorEvent {
5
+ type: string;
6
+ error?: MediaStreamError;
7
+ constructor(type, eventInitDict) {
8
+ this.type = type.toString();
9
+ Object.assign(this, eventInitDict);
10
+ }
11
+ }