@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,98 +1,98 @@
1
- package com.oney.WebRTCModule;
2
-
3
- import com.facebook.react.bridge.ReadableMap;
4
- import com.facebook.react.uimanager.SimpleViewManager;
5
- import com.facebook.react.uimanager.ThemedReactContext;
6
- import com.facebook.react.uimanager.annotations.ReactProp;
7
- import com.facebook.react.uimanager.events.RCTEventEmitter;
8
-
9
- import java.util.HashMap;
10
- import java.util.Map;
11
-
12
- public class RTCVideoViewManager extends SimpleViewManager<WebRTCView> {
13
- private static final String REACT_CLASS = "RTCVideoView";
14
-
15
- @Override
16
- public String getName() {
17
- return REACT_CLASS;
18
- }
19
-
20
- @Override
21
- public WebRTCView createViewInstance(ThemedReactContext context) {
22
- return new WebRTCView(context);
23
- }
24
-
25
- /**
26
- * Sets the indicator which determines whether a specific {@link WebRTCView}
27
- * is to mirror the video specified by {@code streamURL} during its rendering.
28
- * For more details, refer to the documentation of the {@code mirror} property
29
- * of the JavaScript counterpart of {@code WebRTCView} i.e. {@code RTCView}.
30
- *
31
- * @param view The {@code WebRTCView} on which the specified {@code mirror} is
32
- * to be set.
33
- * @param mirror If the specified {@code WebRTCView} is to mirror the video
34
- * specified by its associated {@code streamURL} during its rendering,
35
- * {@code true}; otherwise, {@code false}.
36
- */
37
- @ReactProp(name = "mirror")
38
- public void setMirror(WebRTCView view, boolean mirror) {
39
- view.setMirror(mirror);
40
- }
41
-
42
- /**
43
- * In the fashion of
44
- * https://www.w3.org/TR/html5/embedded-content-0.html#dom-video-videowidth
45
- * and https://www.w3.org/TR/html5/rendering.html#video-object-fit, resembles
46
- * the CSS style {@code object-fit}.
47
- *
48
- * @param view The {@code WebRTCView} on which the specified {@code objectFit}
49
- * is to be set.
50
- * @param objectFit For details, refer to the documentation of the
51
- * {@code objectFit} property of the JavaScript counterpart of
52
- * {@code WebRTCView} i.e. {@code RTCView}.
53
- */
54
- @ReactProp(name = "objectFit")
55
- public void setObjectFit(WebRTCView view, String objectFit) {
56
- view.setObjectFit(objectFit);
57
- }
58
-
59
- @ReactProp(name = "streamURL")
60
- public void setStreamURL(WebRTCView view, String streamURL) {
61
- view.setStreamURL(streamURL);
62
- }
63
-
64
- /**
65
- * Sets the z-order of a specific {@link WebRTCView} in the stacking space of
66
- * all {@code WebRTCView}s. For more details, refer to the documentation of
67
- * the {@code zOrder} property of the JavaScript counterpart of
68
- * {@code WebRTCView} i.e. {@code RTCView}.
69
- *
70
- * @param view The {@code WebRTCView} on which the specified {@code zOrder} is
71
- * to be set.
72
- * @param zOrder The z-order to set on the specified {@code WebRTCView}.
73
- */
74
- @ReactProp(name = "zOrder")
75
- public void setZOrder(WebRTCView view, int zOrder) {
76
- view.setZOrder(zOrder);
77
- }
78
-
79
- /**
80
- * Sets the callback for when video dimensions change.
81
- *
82
- * @param view The {@code WebRTCView} on which the callback is to be set.
83
- * @param onDimensionsChange The callback to be called when video dimensions change.
84
- */
85
- @ReactProp(name = "onDimensionsChange")
86
- public void setOnDimensionsChange(WebRTCView view, boolean onDimensionsChange) {
87
- view.setOnDimensionsChange(onDimensionsChange);
88
- }
89
-
90
- @Override
91
- public Map<String, Object> getExportedCustomDirectEventTypeConstants() {
92
- Map<String, Object> eventTypeConstants = new HashMap<>();
93
- Map<String, String> dimensionsChangeEvent = new HashMap<>();
94
- dimensionsChangeEvent.put("registrationName", "onDimensionsChange");
95
- eventTypeConstants.put("onDimensionsChange", dimensionsChangeEvent);
96
- return eventTypeConstants;
97
- }
98
- }
1
+ package com.oney.WebRTCModule;
2
+
3
+ import com.facebook.react.bridge.ReadableMap;
4
+ import com.facebook.react.uimanager.SimpleViewManager;
5
+ import com.facebook.react.uimanager.ThemedReactContext;
6
+ import com.facebook.react.uimanager.annotations.ReactProp;
7
+ import com.facebook.react.uimanager.events.RCTEventEmitter;
8
+
9
+ import java.util.HashMap;
10
+ import java.util.Map;
11
+
12
+ public class RTCVideoViewManager extends SimpleViewManager<WebRTCView> {
13
+ private static final String REACT_CLASS = "RTCVideoView";
14
+
15
+ @Override
16
+ public String getName() {
17
+ return REACT_CLASS;
18
+ }
19
+
20
+ @Override
21
+ public WebRTCView createViewInstance(ThemedReactContext context) {
22
+ return new WebRTCView(context);
23
+ }
24
+
25
+ /**
26
+ * Sets the indicator which determines whether a specific {@link WebRTCView}
27
+ * is to mirror the video specified by {@code streamURL} during its rendering.
28
+ * For more details, refer to the documentation of the {@code mirror} property
29
+ * of the JavaScript counterpart of {@code WebRTCView} i.e. {@code RTCView}.
30
+ *
31
+ * @param view The {@code WebRTCView} on which the specified {@code mirror} is
32
+ * to be set.
33
+ * @param mirror If the specified {@code WebRTCView} is to mirror the video
34
+ * specified by its associated {@code streamURL} during its rendering,
35
+ * {@code true}; otherwise, {@code false}.
36
+ */
37
+ @ReactProp(name = "mirror")
38
+ public void setMirror(WebRTCView view, boolean mirror) {
39
+ view.setMirror(mirror);
40
+ }
41
+
42
+ /**
43
+ * In the fashion of
44
+ * https://www.w3.org/TR/html5/embedded-content-0.html#dom-video-videowidth
45
+ * and https://www.w3.org/TR/html5/rendering.html#video-object-fit, resembles
46
+ * the CSS style {@code object-fit}.
47
+ *
48
+ * @param view The {@code WebRTCView} on which the specified {@code objectFit}
49
+ * is to be set.
50
+ * @param objectFit For details, refer to the documentation of the
51
+ * {@code objectFit} property of the JavaScript counterpart of
52
+ * {@code WebRTCView} i.e. {@code RTCView}.
53
+ */
54
+ @ReactProp(name = "objectFit")
55
+ public void setObjectFit(WebRTCView view, String objectFit) {
56
+ view.setObjectFit(objectFit);
57
+ }
58
+
59
+ @ReactProp(name = "streamURL")
60
+ public void setStreamURL(WebRTCView view, String streamURL) {
61
+ view.setStreamURL(streamURL);
62
+ }
63
+
64
+ /**
65
+ * Sets the z-order of a specific {@link WebRTCView} in the stacking space of
66
+ * all {@code WebRTCView}s. For more details, refer to the documentation of
67
+ * the {@code zOrder} property of the JavaScript counterpart of
68
+ * {@code WebRTCView} i.e. {@code RTCView}.
69
+ *
70
+ * @param view The {@code WebRTCView} on which the specified {@code zOrder} is
71
+ * to be set.
72
+ * @param zOrder The z-order to set on the specified {@code WebRTCView}.
73
+ */
74
+ @ReactProp(name = "zOrder")
75
+ public void setZOrder(WebRTCView view, int zOrder) {
76
+ view.setZOrder(zOrder);
77
+ }
78
+
79
+ /**
80
+ * Sets the callback for when video dimensions change.
81
+ *
82
+ * @param view The {@code WebRTCView} on which the callback is to be set.
83
+ * @param onDimensionsChange The callback to be called when video dimensions change.
84
+ */
85
+ @ReactProp(name = "onDimensionsChange")
86
+ public void setOnDimensionsChange(WebRTCView view, boolean onDimensionsChange) {
87
+ view.setOnDimensionsChange(onDimensionsChange);
88
+ }
89
+
90
+ @Override
91
+ public Map<String, Object> getExportedCustomDirectEventTypeConstants() {
92
+ Map<String, Object> eventTypeConstants = new HashMap<>();
93
+ Map<String, String> dimensionsChangeEvent = new HashMap<>();
94
+ dimensionsChangeEvent.put("registrationName", "onDimensionsChange");
95
+ eventTypeConstants.put("onDimensionsChange", dimensionsChangeEvent);
96
+ return eventTypeConstants;
97
+ }
98
+ }
@@ -1,36 +1,36 @@
1
- package com.oney.WebRTCModule;
2
-
3
- import com.facebook.react.bridge.ReadableMap;
4
- import com.facebook.react.bridge.ReadableType;
5
-
6
- public class ReactBridgeUtil {
7
- /**
8
- * Reads a value from given <tt>ReadableMap</tt> and returns it as
9
- * a <tt>String</tt>. Note that integer value is converted to double, before
10
- * it gets converted to a string.
11
- * @param map the <tt>ReadableMap</tt> from which the value will be obtained
12
- * @param key the map's key under which the value has been mapped.
13
- * @return a <tt>String</tt> representation of the value if exists or
14
- * <tt>null</tt> if there is no value mapped for given <tt>key</tt>.
15
- */
16
- public static String getMapStrValue(ReadableMap map, String key) {
17
- if (!map.hasKey(key)) {
18
- return null;
19
- }
20
- ReadableType type = map.getType(key);
21
- switch (type) {
22
- case Boolean:
23
- return String.valueOf(map.getBoolean(key));
24
- case Number:
25
- // Don't know how to distinguish between Int and Double from
26
- // ReadableType.Number. 'getInt' will fail on double value,
27
- // while 'getDouble' works for both.
28
- // return String.valueOf(map.getInt(key));
29
- return String.valueOf(map.getDouble(key));
30
- case String:
31
- return map.getString(key);
32
- default:
33
- return null;
34
- }
35
- }
1
+ package com.oney.WebRTCModule;
2
+
3
+ import com.facebook.react.bridge.ReadableMap;
4
+ import com.facebook.react.bridge.ReadableType;
5
+
6
+ public class ReactBridgeUtil {
7
+ /**
8
+ * Reads a value from given <tt>ReadableMap</tt> and returns it as
9
+ * a <tt>String</tt>. Note that integer value is converted to double, before
10
+ * it gets converted to a string.
11
+ * @param map the <tt>ReadableMap</tt> from which the value will be obtained
12
+ * @param key the map's key under which the value has been mapped.
13
+ * @return a <tt>String</tt> representation of the value if exists or
14
+ * <tt>null</tt> if there is no value mapped for given <tt>key</tt>.
15
+ */
16
+ public static String getMapStrValue(ReadableMap map, String key) {
17
+ if (!map.hasKey(key)) {
18
+ return null;
19
+ }
20
+ ReadableType type = map.getType(key);
21
+ switch (type) {
22
+ case Boolean:
23
+ return String.valueOf(map.getBoolean(key));
24
+ case Number:
25
+ // Don't know how to distinguish between Int and Double from
26
+ // ReadableType.Number. 'getInt' will fail on double value,
27
+ // while 'getDouble' works for both.
28
+ // return String.valueOf(map.getInt(key));
29
+ return String.valueOf(map.getDouble(key));
30
+ case String:
31
+ return map.getString(key);
32
+ default:
33
+ return null;
34
+ }
35
+ }
36
36
  }
@@ -1,94 +1,94 @@
1
- package com.oney.WebRTCModule;
2
-
3
- import android.app.Activity;
4
- import android.content.Context;
5
- import android.content.Intent;
6
- import android.media.projection.MediaProjection;
7
- import android.util.DisplayMetrics;
8
- import android.util.Log;
9
- import android.view.OrientationEventListener;
10
-
11
- import org.webrtc.ScreenCapturerAndroid;
12
- import org.webrtc.VideoCapturer;
13
-
14
- public class ScreenCaptureController extends AbstractVideoCaptureController {
15
- /**
16
- * The {@link Log} tag with which {@code ScreenCaptureController} is to log.
17
- */
18
- private static final String TAG = ScreenCaptureController.class.getSimpleName();
19
-
20
- private static final int DEFAULT_FPS = 30;
21
-
22
- private final Intent mediaProjectionPermissionResultData;
23
-
24
- private final OrientationEventListener orientationListener;
25
-
26
- private final Context context;
27
-
28
- public ScreenCaptureController(Context context, int width, int height, Intent mediaProjectionPermissionResultData) {
29
- super(width, height, DEFAULT_FPS);
30
-
31
- this.mediaProjectionPermissionResultData = mediaProjectionPermissionResultData;
32
-
33
- this.context = context;
34
-
35
- this.orientationListener = new OrientationEventListener(context) {
36
- @Override
37
- public void onOrientationChanged(int orientation) {
38
- DisplayMetrics displayMetrics = DisplayUtils.getDisplayMetrics((Activity) context);
39
- final int width = displayMetrics.widthPixels;
40
- final int height = displayMetrics.heightPixels;
41
- if (width != ScreenCaptureController.this.actualWidth
42
- || height != ScreenCaptureController.this.actualHeight) {
43
- ScreenCaptureController.this.actualWidth = width;
44
- ScreenCaptureController.this.actualHeight = height;
45
-
46
- // Pivot to the executor thread because videoCapturer.changeCaptureFormat runs in the main
47
- // thread and may deadlock.
48
- ThreadUtils.runOnExecutor(() -> {
49
- try {
50
- videoCapturer.changeCaptureFormat(width, height, DEFAULT_FPS);
51
- } catch (Exception ex) {
52
- // We ignore exceptions here. The video capturer runs on its own
53
- // thread and we cannot synchronize with it.
54
- }
55
- });
56
- }
57
- }
58
- };
59
-
60
- if (this.orientationListener.canDetectOrientation()) {
61
- this.orientationListener.enable();
62
- }
63
- }
64
-
65
- @Override
66
- public String getDeviceId() {
67
- return "screen-capture";
68
- }
69
-
70
- @Override
71
- public void dispose() {
72
- MediaProjectionService.abort(context);
73
- super.dispose();
74
- }
75
-
76
- @Override
77
- protected VideoCapturer createVideoCapturer() {
78
- VideoCapturer videoCapturer =
79
- new ScreenCapturerAndroid(mediaProjectionPermissionResultData, new MediaProjection.Callback() {
80
- @Override
81
- public void onStop() {
82
- Log.w(TAG, "Media projection stopped.");
83
- orientationListener.disable();
84
- stopCapture();
85
-
86
- if (capturerEventsListener != null) {
87
- capturerEventsListener.onCapturerEnded();
88
- }
89
- }
90
- });
91
-
92
- return videoCapturer;
93
- }
94
- }
1
+ package com.oney.WebRTCModule;
2
+
3
+ import android.app.Activity;
4
+ import android.content.Context;
5
+ import android.content.Intent;
6
+ import android.media.projection.MediaProjection;
7
+ import android.util.DisplayMetrics;
8
+ import android.util.Log;
9
+ import android.view.OrientationEventListener;
10
+
11
+ import org.webrtc.ScreenCapturerAndroid;
12
+ import org.webrtc.VideoCapturer;
13
+
14
+ public class ScreenCaptureController extends AbstractVideoCaptureController {
15
+ /**
16
+ * The {@link Log} tag with which {@code ScreenCaptureController} is to log.
17
+ */
18
+ private static final String TAG = ScreenCaptureController.class.getSimpleName();
19
+
20
+ private static final int DEFAULT_FPS = 30;
21
+
22
+ private final Intent mediaProjectionPermissionResultData;
23
+
24
+ private final OrientationEventListener orientationListener;
25
+
26
+ private final Context context;
27
+
28
+ public ScreenCaptureController(Context context, int width, int height, Intent mediaProjectionPermissionResultData) {
29
+ super(width, height, DEFAULT_FPS);
30
+
31
+ this.mediaProjectionPermissionResultData = mediaProjectionPermissionResultData;
32
+
33
+ this.context = context;
34
+
35
+ this.orientationListener = new OrientationEventListener(context) {
36
+ @Override
37
+ public void onOrientationChanged(int orientation) {
38
+ DisplayMetrics displayMetrics = DisplayUtils.getDisplayMetrics((Activity) context);
39
+ final int width = displayMetrics.widthPixels;
40
+ final int height = displayMetrics.heightPixels;
41
+ if (width != ScreenCaptureController.this.actualWidth
42
+ || height != ScreenCaptureController.this.actualHeight) {
43
+ ScreenCaptureController.this.actualWidth = width;
44
+ ScreenCaptureController.this.actualHeight = height;
45
+
46
+ // Pivot to the executor thread because videoCapturer.changeCaptureFormat runs in the main
47
+ // thread and may deadlock.
48
+ ThreadUtils.runOnExecutor(() -> {
49
+ try {
50
+ videoCapturer.changeCaptureFormat(width, height, DEFAULT_FPS);
51
+ } catch (Exception ex) {
52
+ // We ignore exceptions here. The video capturer runs on its own
53
+ // thread and we cannot synchronize with it.
54
+ }
55
+ });
56
+ }
57
+ }
58
+ };
59
+
60
+ if (this.orientationListener.canDetectOrientation()) {
61
+ this.orientationListener.enable();
62
+ }
63
+ }
64
+
65
+ @Override
66
+ public String getDeviceId() {
67
+ return "screen-capture";
68
+ }
69
+
70
+ @Override
71
+ public void dispose() {
72
+ MediaProjectionService.abort(context);
73
+ super.dispose();
74
+ }
75
+
76
+ @Override
77
+ protected VideoCapturer createVideoCapturer() {
78
+ VideoCapturer videoCapturer =
79
+ new ScreenCapturerAndroid(mediaProjectionPermissionResultData, new MediaProjection.Callback() {
80
+ @Override
81
+ public void onStop() {
82
+ Log.w(TAG, "Media projection stopped.");
83
+ orientationListener.disable();
84
+ stopCapture();
85
+
86
+ if (capturerEventsListener != null) {
87
+ capturerEventsListener.onCapturerEnded();
88
+ }
89
+ }
90
+ });
91
+
92
+ return videoCapturer;
93
+ }
94
+ }