@sbhjt-gr/react-native-webrtc 137.0.2

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 (377) hide show
  1. package/.clang-format +11 -0
  2. package/.eslintignore +6 -0
  3. package/.nvmrc +1 -0
  4. package/ISSUE_TEMPLATE.md +40 -0
  5. package/LICENSE +22 -0
  6. package/README.md +82 -0
  7. package/android/build.gradle +36 -0
  8. package/android/consumer-rules.pro +3 -0
  9. package/android/src/main/AndroidManifest.xml +11 -0
  10. package/android/src/main/java/com/oney/WebRTCModule/AbstractVideoCaptureController.java +113 -0
  11. package/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java +338 -0
  12. package/android/src/main/java/com/oney/WebRTCModule/CameraEventsHandler.java +49 -0
  13. package/android/src/main/java/com/oney/WebRTCModule/DataChannelWrapper.java +99 -0
  14. package/android/src/main/java/com/oney/WebRTCModule/DataPacketCryptorManager.java +63 -0
  15. package/android/src/main/java/com/oney/WebRTCModule/DisplayUtils.java +16 -0
  16. package/android/src/main/java/com/oney/WebRTCModule/EglUtils.java +66 -0
  17. package/android/src/main/java/com/oney/WebRTCModule/GetUserMediaImpl.java +539 -0
  18. package/android/src/main/java/com/oney/WebRTCModule/LibraryLoader.java +21 -0
  19. package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionNotification.java +70 -0
  20. package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionService.java +82 -0
  21. package/android/src/main/java/com/oney/WebRTCModule/PeerConnectionObserver.java +588 -0
  22. package/android/src/main/java/com/oney/WebRTCModule/RTCCryptoManager.java +493 -0
  23. package/android/src/main/java/com/oney/WebRTCModule/RTCVideoViewManager.java +98 -0
  24. package/android/src/main/java/com/oney/WebRTCModule/ReactBridgeUtil.java +36 -0
  25. package/android/src/main/java/com/oney/WebRTCModule/ScreenCaptureController.java +94 -0
  26. package/android/src/main/java/com/oney/WebRTCModule/SerializeUtils.java +342 -0
  27. package/android/src/main/java/com/oney/WebRTCModule/StringUtils.java +101 -0
  28. package/android/src/main/java/com/oney/WebRTCModule/ThreadUtils.java +41 -0
  29. package/android/src/main/java/com/oney/WebRTCModule/TrackCapturerEventsEmitter.java +34 -0
  30. package/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java +137 -0
  31. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java +1593 -0
  32. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModuleOptions.java +33 -0
  33. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModulePackage.java +21 -0
  34. package/android/src/main/java/com/oney/WebRTCModule/WebRTCView.java +583 -0
  35. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/ProcessorProvider.java +38 -0
  36. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoEffectProcessor.java +59 -0
  37. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessor.java +19 -0
  38. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessorFactoryInterface.java +12 -0
  39. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoDecoderFactory.java +73 -0
  40. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoEncoderFactory.java +73 -0
  41. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoDecoderFactoryProxy.java +36 -0
  42. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoEncoderFactoryProxy.java +36 -0
  43. package/android/src/main/java/org/webrtc/Camera1Helper.java +54 -0
  44. package/android/src/main/java/org/webrtc/Camera2Helper.java +52 -0
  45. package/android/src/main/res/values/strings.xml +5 -0
  46. package/android/src/main/res/values/styles.xml +8 -0
  47. package/apple/.placeholder +0 -0
  48. package/ios/RCTWebRTC/CaptureController.h +18 -0
  49. package/ios/RCTWebRTC/CaptureController.m +29 -0
  50. package/ios/RCTWebRTC/CapturerEventsDelegate.h +12 -0
  51. package/ios/RCTWebRTC/DataChannelWrapper.h +27 -0
  52. package/ios/RCTWebRTC/DataChannelWrapper.m +42 -0
  53. package/ios/RCTWebRTC/I420Converter.h +22 -0
  54. package/ios/RCTWebRTC/I420Converter.m +164 -0
  55. package/ios/RCTWebRTC/PIPController.h +24 -0
  56. package/ios/RCTWebRTC/PIPController.m +234 -0
  57. package/ios/RCTWebRTC/RCTConvert+WebRTC.h +16 -0
  58. package/ios/RCTWebRTC/RCTConvert+WebRTC.m +206 -0
  59. package/ios/RCTWebRTC/RTCMediaStreamTrack+React.h +10 -0
  60. package/ios/RCTWebRTC/RTCMediaStreamTrack+React.m +16 -0
  61. package/ios/RCTWebRTC/RTCVideoViewManager.h +29 -0
  62. package/ios/RCTWebRTC/RTCVideoViewManager.m +411 -0
  63. package/ios/RCTWebRTC/SampleBufferVideoCallView.h +12 -0
  64. package/ios/RCTWebRTC/SampleBufferVideoCallView.m +178 -0
  65. package/ios/RCTWebRTC/ScreenCaptureController.h +20 -0
  66. package/ios/RCTWebRTC/ScreenCaptureController.m +83 -0
  67. package/ios/RCTWebRTC/ScreenCapturePickerViewManager.h +7 -0
  68. package/ios/RCTWebRTC/ScreenCapturePickerViewManager.m +60 -0
  69. package/ios/RCTWebRTC/ScreenCapturer.h +19 -0
  70. package/ios/RCTWebRTC/ScreenCapturer.m +264 -0
  71. package/ios/RCTWebRTC/SerializeUtils.h +28 -0
  72. package/ios/RCTWebRTC/SerializeUtils.m +314 -0
  73. package/ios/RCTWebRTC/SocketConnection.h +13 -0
  74. package/ios/RCTWebRTC/SocketConnection.m +137 -0
  75. package/ios/RCTWebRTC/TrackCapturerEventsEmitter.h +14 -0
  76. package/ios/RCTWebRTC/TrackCapturerEventsEmitter.m +37 -0
  77. package/ios/RCTWebRTC/VideoCaptureController.h +21 -0
  78. package/ios/RCTWebRTC/VideoCaptureController.m +328 -0
  79. package/ios/RCTWebRTC/WebRTCModule+Permissions.m +75 -0
  80. package/ios/RCTWebRTC/WebRTCModule+RTCAudioSession.m +20 -0
  81. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.h +14 -0
  82. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m +165 -0
  83. package/ios/RCTWebRTC/WebRTCModule+RTCFrameCryptor.m +611 -0
  84. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.h +14 -0
  85. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m +545 -0
  86. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.h +24 -0
  87. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m +1004 -0
  88. package/ios/RCTWebRTC/WebRTCModule+Transceivers.m +267 -0
  89. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.h +12 -0
  90. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.m +166 -0
  91. package/ios/RCTWebRTC/WebRTCModule.h +45 -0
  92. package/ios/RCTWebRTC/WebRTCModule.m +149 -0
  93. package/ios/RCTWebRTC/WebRTCModuleOptions.h +24 -0
  94. package/ios/RCTWebRTC/WebRTCModuleOptions.m +31 -0
  95. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.h +9 -0
  96. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.m +23 -0
  97. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.h +13 -0
  98. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.m +23 -0
  99. package/ios/RCTWebRTC/videoEffects/VideoFrameProcessor.h +8 -0
  100. package/ios/RCTWebRTC.xcodeproj/project.pbxproj +404 -0
  101. package/ios/RCTWebRTC.xcworkspace/contents.xcworkspacedata +10 -0
  102. package/lib/commonjs/Constraints.js +2 -0
  103. package/lib/commonjs/Constraints.js.map +1 -0
  104. package/lib/commonjs/EventEmitter.js +69 -0
  105. package/lib/commonjs/EventEmitter.js.map +1 -0
  106. package/lib/commonjs/Logger.js +47 -0
  107. package/lib/commonjs/Logger.js.map +1 -0
  108. package/lib/commonjs/MediaDevices.js +54 -0
  109. package/lib/commonjs/MediaDevices.js.map +1 -0
  110. package/lib/commonjs/MediaStream.js +137 -0
  111. package/lib/commonjs/MediaStream.js.map +1 -0
  112. package/lib/commonjs/MediaStreamError.js +19 -0
  113. package/lib/commonjs/MediaStreamError.js.map +1 -0
  114. package/lib/commonjs/MediaStreamErrorEvent.js +17 -0
  115. package/lib/commonjs/MediaStreamErrorEvent.js.map +1 -0
  116. package/lib/commonjs/MediaStreamTrack.js +239 -0
  117. package/lib/commonjs/MediaStreamTrack.js.map +1 -0
  118. package/lib/commonjs/MediaStreamTrackEvent.js +26 -0
  119. package/lib/commonjs/MediaStreamTrackEvent.js.map +1 -0
  120. package/lib/commonjs/MessageEvent.js +27 -0
  121. package/lib/commonjs/MessageEvent.js.map +1 -0
  122. package/lib/commonjs/Permissions.js +116 -0
  123. package/lib/commonjs/Permissions.js.map +1 -0
  124. package/lib/commonjs/RTCAudioSession.js +33 -0
  125. package/lib/commonjs/RTCAudioSession.js.map +1 -0
  126. package/lib/commonjs/RTCDataChannel.js +165 -0
  127. package/lib/commonjs/RTCDataChannel.js.map +1 -0
  128. package/lib/commonjs/RTCDataChannelEvent.js +26 -0
  129. package/lib/commonjs/RTCDataChannelEvent.js.map +1 -0
  130. package/lib/commonjs/RTCDataPacketCryptor.js +76 -0
  131. package/lib/commonjs/RTCDataPacketCryptor.js.map +1 -0
  132. package/lib/commonjs/RTCDataPacketCryptorFactory.js +27 -0
  133. package/lib/commonjs/RTCDataPacketCryptorFactory.js.map +1 -0
  134. package/lib/commonjs/RTCErrorEvent.js +23 -0
  135. package/lib/commonjs/RTCErrorEvent.js.map +1 -0
  136. package/lib/commonjs/RTCFrameCryptor.js +138 -0
  137. package/lib/commonjs/RTCFrameCryptor.js.map +1 -0
  138. package/lib/commonjs/RTCFrameCryptorFactory.js +81 -0
  139. package/lib/commonjs/RTCFrameCryptorFactory.js.map +1 -0
  140. package/lib/commonjs/RTCIceCandidate.js +34 -0
  141. package/lib/commonjs/RTCIceCandidate.js.map +1 -0
  142. package/lib/commonjs/RTCIceCandidateEvent.js +28 -0
  143. package/lib/commonjs/RTCIceCandidateEvent.js.map +1 -0
  144. package/lib/commonjs/RTCKeyProvider.js +111 -0
  145. package/lib/commonjs/RTCKeyProvider.js.map +1 -0
  146. package/lib/commonjs/RTCPIPView.js +38 -0
  147. package/lib/commonjs/RTCPIPView.js.map +1 -0
  148. package/lib/commonjs/RTCPeerConnection.js +694 -0
  149. package/lib/commonjs/RTCPeerConnection.js.map +1 -0
  150. package/lib/commonjs/RTCRtcpParameters.js +24 -0
  151. package/lib/commonjs/RTCRtcpParameters.js.map +1 -0
  152. package/lib/commonjs/RTCRtpCapabilities.js +22 -0
  153. package/lib/commonjs/RTCRtpCapabilities.js.map +1 -0
  154. package/lib/commonjs/RTCRtpCodecCapability.js +19 -0
  155. package/lib/commonjs/RTCRtpCodecCapability.js.map +1 -0
  156. package/lib/commonjs/RTCRtpCodecParameters.js +38 -0
  157. package/lib/commonjs/RTCRtpCodecParameters.js.map +1 -0
  158. package/lib/commonjs/RTCRtpEncodingParameters.js +78 -0
  159. package/lib/commonjs/RTCRtpEncodingParameters.js.map +1 -0
  160. package/lib/commonjs/RTCRtpHeaderExtension.js +27 -0
  161. package/lib/commonjs/RTCRtpHeaderExtension.js.map +1 -0
  162. package/lib/commonjs/RTCRtpParameters.js +35 -0
  163. package/lib/commonjs/RTCRtpParameters.js.map +1 -0
  164. package/lib/commonjs/RTCRtpReceiveParameters.js +15 -0
  165. package/lib/commonjs/RTCRtpReceiveParameters.js.map +1 -0
  166. package/lib/commonjs/RTCRtpReceiver.js +53 -0
  167. package/lib/commonjs/RTCRtpReceiver.js.map +1 -0
  168. package/lib/commonjs/RTCRtpSendParameters.js +49 -0
  169. package/lib/commonjs/RTCRtpSendParameters.js.map +1 -0
  170. package/lib/commonjs/RTCRtpSender.js +67 -0
  171. package/lib/commonjs/RTCRtpSender.js.map +1 -0
  172. package/lib/commonjs/RTCRtpTransceiver.js +81 -0
  173. package/lib/commonjs/RTCRtpTransceiver.js.map +1 -0
  174. package/lib/commonjs/RTCSessionDescription.js +33 -0
  175. package/lib/commonjs/RTCSessionDescription.js.map +1 -0
  176. package/lib/commonjs/RTCTrackEvent.js +38 -0
  177. package/lib/commonjs/RTCTrackEvent.js.map +1 -0
  178. package/lib/commonjs/RTCUtil.js +186 -0
  179. package/lib/commonjs/RTCUtil.js.map +1 -0
  180. package/lib/commonjs/RTCView.js +16 -0
  181. package/lib/commonjs/RTCView.js.map +1 -0
  182. package/lib/commonjs/ScreenCapturePickerView.js +10 -0
  183. package/lib/commonjs/ScreenCapturePickerView.js.map +1 -0
  184. package/lib/commonjs/getDisplayMedia.js +33 -0
  185. package/lib/commonjs/getDisplayMedia.js.map +1 -0
  186. package/lib/commonjs/getUserMedia.js +101 -0
  187. package/lib/commonjs/getUserMedia.js.map +1 -0
  188. package/lib/commonjs/index.js +224 -0
  189. package/lib/commonjs/index.js.map +1 -0
  190. package/lib/module/Constraints.js +2 -0
  191. package/lib/module/Constraints.js.map +1 -0
  192. package/lib/module/EventEmitter.js +58 -0
  193. package/lib/module/EventEmitter.js.map +1 -0
  194. package/lib/module/Logger.js +39 -0
  195. package/lib/module/Logger.js.map +1 -0
  196. package/lib/module/MediaDevices.js +46 -0
  197. package/lib/module/MediaDevices.js.map +1 -0
  198. package/lib/module/MediaStream.js +129 -0
  199. package/lib/module/MediaStream.js.map +1 -0
  200. package/lib/module/MediaStreamError.js +12 -0
  201. package/lib/module/MediaStreamError.js.map +1 -0
  202. package/lib/module/MediaStreamErrorEvent.js +10 -0
  203. package/lib/module/MediaStreamErrorEvent.js.map +1 -0
  204. package/lib/module/MediaStreamTrack.js +231 -0
  205. package/lib/module/MediaStreamTrack.js.map +1 -0
  206. package/lib/module/MediaStreamTrackEvent.js +19 -0
  207. package/lib/module/MediaStreamTrackEvent.js.map +1 -0
  208. package/lib/module/MessageEvent.js +20 -0
  209. package/lib/module/MessageEvent.js.map +1 -0
  210. package/lib/module/Permissions.js +109 -0
  211. package/lib/module/Permissions.js.map +1 -0
  212. package/lib/module/RTCAudioSession.js +26 -0
  213. package/lib/module/RTCAudioSession.js.map +1 -0
  214. package/lib/module/RTCDataChannel.js +155 -0
  215. package/lib/module/RTCDataChannel.js.map +1 -0
  216. package/lib/module/RTCDataChannelEvent.js +19 -0
  217. package/lib/module/RTCDataChannelEvent.js.map +1 -0
  218. package/lib/module/RTCDataPacketCryptor.js +66 -0
  219. package/lib/module/RTCDataPacketCryptor.js.map +1 -0
  220. package/lib/module/RTCDataPacketCryptorFactory.js +19 -0
  221. package/lib/module/RTCDataPacketCryptorFactory.js.map +1 -0
  222. package/lib/module/RTCErrorEvent.js +16 -0
  223. package/lib/module/RTCErrorEvent.js.map +1 -0
  224. package/lib/module/RTCFrameCryptor.js +128 -0
  225. package/lib/module/RTCFrameCryptor.js.map +1 -0
  226. package/lib/module/RTCFrameCryptorFactory.js +70 -0
  227. package/lib/module/RTCFrameCryptorFactory.js.map +1 -0
  228. package/lib/module/RTCIceCandidate.js +27 -0
  229. package/lib/module/RTCIceCandidate.js.map +1 -0
  230. package/lib/module/RTCIceCandidateEvent.js +21 -0
  231. package/lib/module/RTCIceCandidateEvent.js.map +1 -0
  232. package/lib/module/RTCKeyProvider.js +101 -0
  233. package/lib/module/RTCKeyProvider.js.map +1 -0
  234. package/lib/module/RTCPIPView.js +26 -0
  235. package/lib/module/RTCPIPView.js.map +1 -0
  236. package/lib/module/RTCPeerConnection.js +684 -0
  237. package/lib/module/RTCPeerConnection.js.map +1 -0
  238. package/lib/module/RTCRtcpParameters.js +17 -0
  239. package/lib/module/RTCRtcpParameters.js.map +1 -0
  240. package/lib/module/RTCRtpCapabilities.js +15 -0
  241. package/lib/module/RTCRtpCapabilities.js.map +1 -0
  242. package/lib/module/RTCRtpCodecCapability.js +12 -0
  243. package/lib/module/RTCRtpCodecCapability.js.map +1 -0
  244. package/lib/module/RTCRtpCodecParameters.js +31 -0
  245. package/lib/module/RTCRtpCodecParameters.js.map +1 -0
  246. package/lib/module/RTCRtpEncodingParameters.js +71 -0
  247. package/lib/module/RTCRtpEncodingParameters.js.map +1 -0
  248. package/lib/module/RTCRtpHeaderExtension.js +20 -0
  249. package/lib/module/RTCRtpHeaderExtension.js.map +1 -0
  250. package/lib/module/RTCRtpParameters.js +27 -0
  251. package/lib/module/RTCRtpParameters.js.map +1 -0
  252. package/lib/module/RTCRtpReceiveParameters.js +7 -0
  253. package/lib/module/RTCRtpReceiveParameters.js.map +1 -0
  254. package/lib/module/RTCRtpReceiver.js +45 -0
  255. package/lib/module/RTCRtpReceiver.js.map +1 -0
  256. package/lib/module/RTCRtpSendParameters.js +41 -0
  257. package/lib/module/RTCRtpSendParameters.js.map +1 -0
  258. package/lib/module/RTCRtpSender.js +59 -0
  259. package/lib/module/RTCRtpSender.js.map +1 -0
  260. package/lib/module/RTCRtpTransceiver.js +74 -0
  261. package/lib/module/RTCRtpTransceiver.js.map +1 -0
  262. package/lib/module/RTCSessionDescription.js +26 -0
  263. package/lib/module/RTCSessionDescription.js.map +1 -0
  264. package/lib/module/RTCTrackEvent.js +31 -0
  265. package/lib/module/RTCTrackEvent.js.map +1 -0
  266. package/lib/module/RTCUtil.js +176 -0
  267. package/lib/module/RTCUtil.js.map +1 -0
  268. package/lib/module/RTCView.js +11 -0
  269. package/lib/module/RTCView.js.map +1 -0
  270. package/lib/module/ScreenCapturePickerView.js +3 -0
  271. package/lib/module/ScreenCapturePickerView.js.map +1 -0
  272. package/lib/module/getDisplayMedia.js +26 -0
  273. package/lib/module/getDisplayMedia.js.map +1 -0
  274. package/lib/module/getUserMedia.js +92 -0
  275. package/lib/module/getUserMedia.js.map +1 -0
  276. package/lib/module/index.js +60 -0
  277. package/lib/module/index.js.map +1 -0
  278. package/lib/typescript/Constraints.d.ts +19 -0
  279. package/lib/typescript/EventEmitter.d.ts +7 -0
  280. package/lib/typescript/Logger.d.ts +13 -0
  281. package/lib/typescript/MediaDevices.d.ts +30 -0
  282. package/lib/typescript/MediaStream.d.ts +48 -0
  283. package/lib/typescript/MediaStreamError.d.ts +6 -0
  284. package/lib/typescript/MediaStreamErrorEvent.d.ts +6 -0
  285. package/lib/typescript/MediaStreamTrack.d.ts +103 -0
  286. package/lib/typescript/MediaStreamTrackEvent.d.ts +19 -0
  287. package/lib/typescript/MessageEvent.d.ts +21 -0
  288. package/lib/typescript/Permissions.d.ts +55 -0
  289. package/lib/typescript/RTCAudioSession.d.ts +10 -0
  290. package/lib/typescript/RTCDataChannel.d.ts +43 -0
  291. package/lib/typescript/RTCDataChannelEvent.d.ts +19 -0
  292. package/lib/typescript/RTCDataPacketCryptor.d.ts +12 -0
  293. package/lib/typescript/RTCDataPacketCryptorFactory.d.ts +6 -0
  294. package/lib/typescript/RTCErrorEvent.d.ts +12 -0
  295. package/lib/typescript/RTCFrameCryptor.d.ts +47 -0
  296. package/lib/typescript/RTCFrameCryptorFactory.d.ts +21 -0
  297. package/lib/typescript/RTCIceCandidate.d.ts +17 -0
  298. package/lib/typescript/RTCIceCandidateEvent.d.ts +20 -0
  299. package/lib/typescript/RTCKeyProvider.d.ts +21 -0
  300. package/lib/typescript/RTCPIPView.d.ts +15 -0
  301. package/lib/typescript/RTCPeerConnection.d.ts +117 -0
  302. package/lib/typescript/RTCRtcpParameters.d.ts +10 -0
  303. package/lib/typescript/RTCRtpCapabilities.d.ts +9 -0
  304. package/lib/typescript/RTCRtpCodecCapability.d.ts +7 -0
  305. package/lib/typescript/RTCRtpCodecParameters.d.ts +16 -0
  306. package/lib/typescript/RTCRtpEncodingParameters.d.ts +23 -0
  307. package/lib/typescript/RTCRtpHeaderExtension.d.ts +12 -0
  308. package/lib/typescript/RTCRtpParameters.d.ts +19 -0
  309. package/lib/typescript/RTCRtpReceiveParameters.d.ts +4 -0
  310. package/lib/typescript/RTCRtpReceiver.d.ts +21 -0
  311. package/lib/typescript/RTCRtpSendParameters.d.ts +20 -0
  312. package/lib/typescript/RTCRtpSender.d.ts +22 -0
  313. package/lib/typescript/RTCRtpTransceiver.d.ts +31 -0
  314. package/lib/typescript/RTCSessionDescription.d.ts +12 -0
  315. package/lib/typescript/RTCTrackEvent.d.ts +29 -0
  316. package/lib/typescript/RTCUtil.d.ts +37 -0
  317. package/lib/typescript/RTCView.d.ts +117 -0
  318. package/lib/typescript/ScreenCapturePickerView.d.ts +2 -0
  319. package/lib/typescript/getDisplayMedia.d.ts +2 -0
  320. package/lib/typescript/getUserMedia.d.ts +7 -0
  321. package/lib/typescript/index.d.ts +22 -0
  322. package/livekit-react-native-webrtc.podspec +29 -0
  323. package/macos/RCTWebRTC.xcodeproj/project.pbxproj +324 -0
  324. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  325. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  326. package/metro.config.js +7 -0
  327. package/metro.config.macos.js +14 -0
  328. package/package.json +65 -0
  329. package/react-native.config.js +11 -0
  330. package/src/.eslintrc.cjs +67 -0
  331. package/src/Constraints.ts +21 -0
  332. package/src/EventEmitter.ts +83 -0
  333. package/src/Logger.ts +49 -0
  334. package/src/MediaDevices.ts +53 -0
  335. package/src/MediaStream.ts +161 -0
  336. package/src/MediaStreamError.ts +12 -0
  337. package/src/MediaStreamErrorEvent.ts +11 -0
  338. package/src/MediaStreamTrack.ts +331 -0
  339. package/src/MediaStreamTrackEvent.ts +25 -0
  340. package/src/MessageEvent.ts +26 -0
  341. package/src/Permissions.ts +133 -0
  342. package/src/RTCAudioSession.ts +25 -0
  343. package/src/RTCDataChannel.ts +190 -0
  344. package/src/RTCDataChannelEvent.ts +28 -0
  345. package/src/RTCDataPacketCryptor.ts +90 -0
  346. package/src/RTCDataPacketCryptorFactory.ts +25 -0
  347. package/src/RTCErrorEvent.ts +21 -0
  348. package/src/RTCFrameCryptor.ts +163 -0
  349. package/src/RTCFrameCryptorFactory.ts +102 -0
  350. package/src/RTCIceCandidate.ts +29 -0
  351. package/src/RTCIceCandidateEvent.ts +26 -0
  352. package/src/RTCKeyProvider.ts +117 -0
  353. package/src/RTCPIPView.tsx +47 -0
  354. package/src/RTCPeerConnection.ts +832 -0
  355. package/src/RTCRtcpParameters.ts +23 -0
  356. package/src/RTCRtpCapabilities.ts +16 -0
  357. package/src/RTCRtpCodecCapability.ts +13 -0
  358. package/src/RTCRtpCodecParameters.ts +44 -0
  359. package/src/RTCRtpEncodingParameters.ts +90 -0
  360. package/src/RTCRtpHeaderExtension.ts +27 -0
  361. package/src/RTCRtpParameters.ts +37 -0
  362. package/src/RTCRtpReceiveParameters.ts +7 -0
  363. package/src/RTCRtpReceiver.ts +60 -0
  364. package/src/RTCRtpSendParameters.ts +63 -0
  365. package/src/RTCRtpSender.ts +78 -0
  366. package/src/RTCRtpTransceiver.ts +107 -0
  367. package/src/RTCSessionDescription.ts +30 -0
  368. package/src/RTCTrackEvent.ts +42 -0
  369. package/src/RTCUtil.ts +211 -0
  370. package/src/RTCView.ts +122 -0
  371. package/src/ScreenCapturePickerView.ts +4 -0
  372. package/src/getDisplayMedia.ts +30 -0
  373. package/src/getUserMedia.ts +111 -0
  374. package/src/index.ts +101 -0
  375. package/tools/format.sh +6 -0
  376. package/tools/release.sh +45 -0
  377. package/tsconfig.json +16 -0
@@ -0,0 +1,9 @@
1
+ #import "VideoFrameProcessor.h"
2
+
3
+ @interface ProcessorProvider : NSObject
4
+
5
+ + (NSObject<VideoFrameProcessorDelegate> *)getProcessor:(NSString *)name;
6
+ + (void)addProcessor:(NSObject<VideoFrameProcessorDelegate> *)processor forName:(NSString *)name;
7
+ + (void)removeProcessor:(NSString *)name;
8
+
9
+ @end
@@ -0,0 +1,23 @@
1
+ #import "ProcessorProvider.h"
2
+
3
+ @implementation ProcessorProvider
4
+
5
+ static NSMutableDictionary<NSString *, NSObject<VideoFrameProcessorDelegate> *> *processorMap;
6
+
7
+ + (void)initialize {
8
+ processorMap = [[NSMutableDictionary alloc] init];
9
+ }
10
+
11
+ + (NSObject<VideoFrameProcessorDelegate> *)getProcessor:(NSString *)name {
12
+ return [processorMap objectForKey:name];
13
+ }
14
+
15
+ + (void)addProcessor:(NSObject<VideoFrameProcessorDelegate> *)processor forName:(NSString *)name {
16
+ [processorMap setObject:processor forKey:name];
17
+ }
18
+
19
+ + (void)removeProcessor:(NSString *)name {
20
+ [processorMap removeObjectForKey:name];
21
+ }
22
+
23
+ @end
@@ -0,0 +1,13 @@
1
+ #import <WebRTC/RTCVideoSource.h>
2
+
3
+ #import "VideoFrameProcessor.h"
4
+
5
+ @interface VideoEffectProcessor : NSObject<RTCVideoCapturerDelegate>
6
+
7
+ @property(nonatomic, strong) NSArray<NSObject<VideoFrameProcessorDelegate> *> *videoFrameProcessors;
8
+ @property(nonatomic, strong) RTCVideoSource *videoSource;
9
+
10
+ - (instancetype)initWithProcessors:(NSArray<NSObject<VideoFrameProcessorDelegate> *> *)videoFrameProcessors
11
+ videoSource:(RTCVideoSource *)videoSource;
12
+
13
+ @end
@@ -0,0 +1,23 @@
1
+ #import <WebRTC/RTCVideoCapturer.h>
2
+
3
+ #import "VideoEffectProcessor.h"
4
+
5
+ @implementation VideoEffectProcessor
6
+
7
+ - (instancetype)initWithProcessors:(NSArray<NSObject<VideoFrameProcessorDelegate> *> *)videoFrameProcessors
8
+ videoSource:(RTCVideoSource *)videoSource {
9
+ self = [super init];
10
+ _videoFrameProcessors = videoFrameProcessors;
11
+ _videoSource = videoSource;
12
+ return self;
13
+ }
14
+
15
+ - (void)capturer:(nonnull RTCVideoCapturer *)capturer didCaptureVideoFrame:(nonnull RTCVideoFrame *)frame {
16
+ RTCVideoFrame *processedFrame = frame;
17
+ for (NSObject<VideoFrameProcessorDelegate> *processor in _videoFrameProcessors) {
18
+ processedFrame = [processor capturer:capturer didCaptureVideoFrame:processedFrame];
19
+ }
20
+ [self.videoSource capturer:capturer didCaptureVideoFrame:processedFrame];
21
+ }
22
+
23
+ @end
@@ -0,0 +1,8 @@
1
+ #import <WebRTC/RTCVideoCapturer.h>
2
+ #import <WebRTC/RTCVideoFrame.h>
3
+
4
+ @protocol VideoFrameProcessorDelegate
5
+
6
+ - (RTCVideoFrame *)capturer:(RTCVideoCapturer *)capturer didCaptureVideoFrame:(RTCVideoFrame *)frame;
7
+
8
+ @end
@@ -0,0 +1,404 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 46;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 0BDDA6E020C18B6B00B38B45 /* VideoCaptureController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BDDA6DF20C18B6B00B38B45 /* VideoCaptureController.m */; };
11
+ 4EC498BC25B8777F00E76218 /* ScreenCapturePickerViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC498BA25B8777F00E76218 /* ScreenCapturePickerViewManager.m */; };
12
+ 4EE3A8A325B840DA00FAA24A /* RCTConvert+WebRTC.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8A125B840DA00FAA24A /* RCTConvert+WebRTC.m */; };
13
+ 4EE3A8A725B8411400FAA24A /* RTCMediaStreamTrack+React.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8A625B8411400FAA24A /* RTCMediaStreamTrack+React.m */; };
14
+ 4EE3A8AC25B8412700FAA24A /* RTCVideoViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8AB25B8412700FAA24A /* RTCVideoViewManager.m */; };
15
+ 4EE3A8B225B8414000FAA24A /* WebRTCModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8B025B8414000FAA24A /* WebRTCModule.m */; };
16
+ 4EE3A8B625B8414A00FAA24A /* WebRTCModule+Permissions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8B525B8414A00FAA24A /* WebRTCModule+Permissions.m */; };
17
+ 4EE3A8BA25B8415900FAA24A /* WebRTCModule+RTCDataChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8B925B8415900FAA24A /* WebRTCModule+RTCDataChannel.m */; };
18
+ 4EE3A8BD25B8416500FAA24A /* WebRTCModule+RTCMediaStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8BC25B8416500FAA24A /* WebRTCModule+RTCMediaStream.m */; };
19
+ 4EE3A8C125B8416F00FAA24A /* WebRTCModule+RTCPeerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8BF25B8416F00FAA24A /* WebRTCModule+RTCPeerConnection.m */; };
20
+ 4EE3A8C525B8417800FAA24A /* WebRTCModule+VideoTrackAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8C325B8417800FAA24A /* WebRTCModule+VideoTrackAdapter.m */; };
21
+ 4EE3A8D125B841DD00FAA24A /* SocketConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8C825B841DD00FAA24A /* SocketConnection.m */; };
22
+ 4EE3A8D225B841DD00FAA24A /* CaptureController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8C925B841DD00FAA24A /* CaptureController.m */; };
23
+ 4EE3A8D325B841DD00FAA24A /* ScreenCaptureController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8CC25B841DD00FAA24A /* ScreenCaptureController.m */; };
24
+ 4EE3A8D425B841DD00FAA24A /* ScreenCapturer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EE3A8CD25B841DD00FAA24A /* ScreenCapturer.m */; };
25
+ D3FF699919D2664B25C9D458 /* Pods_RCTWebRTC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A20F721AD842563B66292D5B /* Pods_RCTWebRTC.framework */; };
26
+ D74EF94829652169000742E1 /* TrackCapturerEventsEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = D74EF94629652169000742E1 /* TrackCapturerEventsEmitter.m */; };
27
+ D7F0711E2C6DC91F0031F594 /* WebRTCModule+RTCAudioSession.m in Sources */ = {isa = PBXBuildFile; fileRef = D7F0711D2C6DC91F0031F594 /* WebRTCModule+RTCAudioSession.m */; };
28
+ DEC96577264176C10052DB35 /* DataChannelWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = DEC96576264176C10052DB35 /* DataChannelWrapper.m */; };
29
+ /* End PBXBuildFile section */
30
+
31
+ /* Begin PBXCopyFilesBuildPhase section */
32
+ 35A2221D1CB493700015FD5C /* CopyFiles */ = {
33
+ isa = PBXCopyFilesBuildPhase;
34
+ buildActionMask = 2147483647;
35
+ dstPath = "include/$(PRODUCT_NAME)";
36
+ dstSubfolderSpec = 16;
37
+ files = (
38
+ );
39
+ runOnlyForDeploymentPostprocessing = 0;
40
+ };
41
+ /* End PBXCopyFilesBuildPhase section */
42
+
43
+ /* Begin PBXFileReference section */
44
+ 0BDDA6DF20C18B6B00B38B45 /* VideoCaptureController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = VideoCaptureController.m; path = RCTWebRTC/VideoCaptureController.m; sourceTree = "<group>"; };
45
+ 131131FC732883F1EF6F2CA3 /* Pods-RCTWebRTC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RCTWebRTC.release.xcconfig"; path = "Target Support Files/Pods-RCTWebRTC/Pods-RCTWebRTC.release.xcconfig"; sourceTree = "<group>"; };
46
+ 1A7E646283326F2A95C8C1FA /* Pods-RCTWebRTC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RCTWebRTC.debug.xcconfig"; path = "Target Support Files/Pods-RCTWebRTC/Pods-RCTWebRTC.debug.xcconfig"; sourceTree = "<group>"; };
47
+ 35A2221F1CB493700015FD5C /* libRCTWebRTC.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTWebRTC.a; sourceTree = BUILT_PRODUCTS_DIR; };
48
+ 4EC498BA25B8777F00E76218 /* ScreenCapturePickerViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ScreenCapturePickerViewManager.m; path = RCTWebRTC/ScreenCapturePickerViewManager.m; sourceTree = SOURCE_ROOT; };
49
+ 4EC498BB25B8777F00E76218 /* ScreenCapturePickerViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenCapturePickerViewManager.h; path = RCTWebRTC/ScreenCapturePickerViewManager.h; sourceTree = SOURCE_ROOT; };
50
+ 4EE3A8A125B840DA00FAA24A /* RCTConvert+WebRTC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RCTConvert+WebRTC.m"; path = "RCTWebRTC/RCTConvert+WebRTC.m"; sourceTree = SOURCE_ROOT; };
51
+ 4EE3A8A225B840DA00FAA24A /* RCTConvert+WebRTC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RCTConvert+WebRTC.h"; path = "RCTWebRTC/RCTConvert+WebRTC.h"; sourceTree = SOURCE_ROOT; };
52
+ 4EE3A8A525B8411400FAA24A /* RTCMediaStreamTrack+React.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RTCMediaStreamTrack+React.h"; path = "RCTWebRTC/RTCMediaStreamTrack+React.h"; sourceTree = SOURCE_ROOT; };
53
+ 4EE3A8A625B8411400FAA24A /* RTCMediaStreamTrack+React.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RTCMediaStreamTrack+React.m"; path = "RCTWebRTC/RTCMediaStreamTrack+React.m"; sourceTree = SOURCE_ROOT; };
54
+ 4EE3A8AA25B8412700FAA24A /* RTCVideoViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RTCVideoViewManager.h; path = RCTWebRTC/RTCVideoViewManager.h; sourceTree = SOURCE_ROOT; };
55
+ 4EE3A8AB25B8412700FAA24A /* RTCVideoViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RTCVideoViewManager.m; path = RCTWebRTC/RTCVideoViewManager.m; sourceTree = SOURCE_ROOT; };
56
+ 4EE3A8AF25B8413200FAA24A /* VideoCaptureController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = VideoCaptureController.h; path = RCTWebRTC/VideoCaptureController.h; sourceTree = SOURCE_ROOT; };
57
+ 4EE3A8B025B8414000FAA24A /* WebRTCModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WebRTCModule.m; path = RCTWebRTC/WebRTCModule.m; sourceTree = SOURCE_ROOT; };
58
+ 4EE3A8B125B8414000FAA24A /* WebRTCModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebRTCModule.h; path = RCTWebRTC/WebRTCModule.h; sourceTree = SOURCE_ROOT; };
59
+ 4EE3A8B525B8414A00FAA24A /* WebRTCModule+Permissions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "WebRTCModule+Permissions.m"; path = "RCTWebRTC/WebRTCModule+Permissions.m"; sourceTree = SOURCE_ROOT; };
60
+ 4EE3A8B825B8415900FAA24A /* WebRTCModule+RTCDataChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "WebRTCModule+RTCDataChannel.h"; path = "RCTWebRTC/WebRTCModule+RTCDataChannel.h"; sourceTree = SOURCE_ROOT; };
61
+ 4EE3A8B925B8415900FAA24A /* WebRTCModule+RTCDataChannel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "WebRTCModule+RTCDataChannel.m"; path = "RCTWebRTC/WebRTCModule+RTCDataChannel.m"; sourceTree = SOURCE_ROOT; };
62
+ 4EE3A8BC25B8416500FAA24A /* WebRTCModule+RTCMediaStream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "WebRTCModule+RTCMediaStream.m"; path = "RCTWebRTC/WebRTCModule+RTCMediaStream.m"; sourceTree = SOURCE_ROOT; };
63
+ 4EE3A8BF25B8416F00FAA24A /* WebRTCModule+RTCPeerConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "WebRTCModule+RTCPeerConnection.m"; path = "RCTWebRTC/WebRTCModule+RTCPeerConnection.m"; sourceTree = SOURCE_ROOT; };
64
+ 4EE3A8C025B8416F00FAA24A /* WebRTCModule+RTCPeerConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "WebRTCModule+RTCPeerConnection.h"; path = "RCTWebRTC/WebRTCModule+RTCPeerConnection.h"; sourceTree = SOURCE_ROOT; };
65
+ 4EE3A8C325B8417800FAA24A /* WebRTCModule+VideoTrackAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "WebRTCModule+VideoTrackAdapter.m"; path = "RCTWebRTC/WebRTCModule+VideoTrackAdapter.m"; sourceTree = SOURCE_ROOT; };
66
+ 4EE3A8C425B8417800FAA24A /* WebRTCModule+VideoTrackAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "WebRTCModule+VideoTrackAdapter.h"; path = "RCTWebRTC/WebRTCModule+VideoTrackAdapter.h"; sourceTree = SOURCE_ROOT; };
67
+ 4EE3A8C725B841DD00FAA24A /* ScreenCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenCapturer.h; path = RCTWebRTC/ScreenCapturer.h; sourceTree = SOURCE_ROOT; };
68
+ 4EE3A8C825B841DD00FAA24A /* SocketConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SocketConnection.m; path = RCTWebRTC/SocketConnection.m; sourceTree = SOURCE_ROOT; };
69
+ 4EE3A8C925B841DD00FAA24A /* CaptureController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CaptureController.m; path = RCTWebRTC/CaptureController.m; sourceTree = SOURCE_ROOT; };
70
+ 4EE3A8CA25B841DD00FAA24A /* ScreenCaptureController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenCaptureController.h; path = RCTWebRTC/ScreenCaptureController.h; sourceTree = SOURCE_ROOT; };
71
+ 4EE3A8CB25B841DD00FAA24A /* CaptureController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CaptureController.h; path = RCTWebRTC/CaptureController.h; sourceTree = SOURCE_ROOT; };
72
+ 4EE3A8CC25B841DD00FAA24A /* ScreenCaptureController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ScreenCaptureController.m; path = RCTWebRTC/ScreenCaptureController.m; sourceTree = SOURCE_ROOT; };
73
+ 4EE3A8CD25B841DD00FAA24A /* ScreenCapturer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ScreenCapturer.m; path = RCTWebRTC/ScreenCapturer.m; sourceTree = SOURCE_ROOT; };
74
+ 4EE3A8CE25B841DD00FAA24A /* SocketConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SocketConnection.h; path = RCTWebRTC/SocketConnection.h; sourceTree = SOURCE_ROOT; };
75
+ A20F721AD842563B66292D5B /* Pods_RCTWebRTC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RCTWebRTC.framework; sourceTree = BUILT_PRODUCTS_DIR; };
76
+ D74EF94529652148000742E1 /* CapturerEventsDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CapturerEventsDelegate.h; path = RCTWebRTC/CapturerEventsDelegate.h; sourceTree = SOURCE_ROOT; };
77
+ D74EF94629652169000742E1 /* TrackCapturerEventsEmitter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TrackCapturerEventsEmitter.m; path = RCTWebRTC/TrackCapturerEventsEmitter.m; sourceTree = SOURCE_ROOT; };
78
+ D74EF94729652169000742E1 /* TrackCapturerEventsEmitter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TrackCapturerEventsEmitter.h; path = RCTWebRTC/TrackCapturerEventsEmitter.h; sourceTree = SOURCE_ROOT; };
79
+ D7F0711D2C6DC91F0031F594 /* WebRTCModule+RTCAudioSession.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "WebRTCModule+RTCAudioSession.m"; path = "RCTWebRTC/WebRTCModule+RTCAudioSession.m"; sourceTree = SOURCE_ROOT; };
80
+ D7F99C122938F4E0000A2450 /* WebRTCModule+RTCMediaStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "WebRTCModule+RTCMediaStream.h"; path = "RCTWebRTC/WebRTCModule+RTCMediaStream.h"; sourceTree = SOURCE_ROOT; };
81
+ DEC96576264176C10052DB35 /* DataChannelWrapper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = DataChannelWrapper.m; path = RCTWebRTC/DataChannelWrapper.m; sourceTree = "<group>"; };
82
+ DEC96579264176DF0052DB35 /* DataChannelWrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DataChannelWrapper.h; path = RCTWebRTC/DataChannelWrapper.h; sourceTree = "<group>"; };
83
+ /* End PBXFileReference section */
84
+
85
+ /* Begin PBXFrameworksBuildPhase section */
86
+ 35A2221C1CB493700015FD5C /* Frameworks */ = {
87
+ isa = PBXFrameworksBuildPhase;
88
+ buildActionMask = 2147483647;
89
+ files = (
90
+ D3FF699919D2664B25C9D458 /* Pods_RCTWebRTC.framework in Frameworks */,
91
+ );
92
+ runOnlyForDeploymentPostprocessing = 0;
93
+ };
94
+ /* End PBXFrameworksBuildPhase section */
95
+
96
+ /* Begin PBXGroup section */
97
+ 22DE4ED9F87C796C5D0480DC /* Pods */ = {
98
+ isa = PBXGroup;
99
+ children = (
100
+ 1A7E646283326F2A95C8C1FA /* Pods-RCTWebRTC.debug.xcconfig */,
101
+ 131131FC732883F1EF6F2CA3 /* Pods-RCTWebRTC.release.xcconfig */,
102
+ );
103
+ path = Pods;
104
+ sourceTree = "<group>";
105
+ };
106
+ 35A222161CB493700015FD5C = {
107
+ isa = PBXGroup;
108
+ children = (
109
+ 35A222311CB493C00015FD5C /* RCTWebRTC */,
110
+ 35A222201CB493700015FD5C /* Products */,
111
+ DEFDBC25256574F500344B23 /* Frameworks */,
112
+ 22DE4ED9F87C796C5D0480DC /* Pods */,
113
+ );
114
+ sourceTree = "<group>";
115
+ };
116
+ 35A222201CB493700015FD5C /* Products */ = {
117
+ isa = PBXGroup;
118
+ children = (
119
+ 35A2221F1CB493700015FD5C /* libRCTWebRTC.a */,
120
+ );
121
+ name = Products;
122
+ sourceTree = "<group>";
123
+ };
124
+ 35A222311CB493C00015FD5C /* RCTWebRTC */ = {
125
+ isa = PBXGroup;
126
+ children = (
127
+ 4EE3A8A225B840DA00FAA24A /* RCTConvert+WebRTC.h */,
128
+ 4EE3A8A125B840DA00FAA24A /* RCTConvert+WebRTC.m */,
129
+ 4EE3A8A525B8411400FAA24A /* RTCMediaStreamTrack+React.h */,
130
+ 4EE3A8A625B8411400FAA24A /* RTCMediaStreamTrack+React.m */,
131
+ 4EE3A8AA25B8412700FAA24A /* RTCVideoViewManager.h */,
132
+ 4EE3A8AB25B8412700FAA24A /* RTCVideoViewManager.m */,
133
+ 4EE3A8AF25B8413200FAA24A /* VideoCaptureController.h */,
134
+ 0BDDA6DF20C18B6B00B38B45 /* VideoCaptureController.m */,
135
+ 4EE3A8B525B8414A00FAA24A /* WebRTCModule+Permissions.m */,
136
+ D7F0711D2C6DC91F0031F594 /* WebRTCModule+RTCAudioSession.m */,
137
+ 4EE3A8B825B8415900FAA24A /* WebRTCModule+RTCDataChannel.h */,
138
+ 4EE3A8B925B8415900FAA24A /* WebRTCModule+RTCDataChannel.m */,
139
+ D7F99C122938F4E0000A2450 /* WebRTCModule+RTCMediaStream.h */,
140
+ 4EE3A8BC25B8416500FAA24A /* WebRTCModule+RTCMediaStream.m */,
141
+ 4EE3A8C025B8416F00FAA24A /* WebRTCModule+RTCPeerConnection.h */,
142
+ 4EE3A8BF25B8416F00FAA24A /* WebRTCModule+RTCPeerConnection.m */,
143
+ 4EE3A8C425B8417800FAA24A /* WebRTCModule+VideoTrackAdapter.h */,
144
+ 4EE3A8C325B8417800FAA24A /* WebRTCModule+VideoTrackAdapter.m */,
145
+ 4EE3A8B125B8414000FAA24A /* WebRTCModule.h */,
146
+ 4EE3A8B025B8414000FAA24A /* WebRTCModule.m */,
147
+ 4EE3A8CB25B841DD00FAA24A /* CaptureController.h */,
148
+ 4EE3A8C925B841DD00FAA24A /* CaptureController.m */,
149
+ D74EF94529652148000742E1 /* CapturerEventsDelegate.h */,
150
+ D74EF94729652169000742E1 /* TrackCapturerEventsEmitter.h */,
151
+ D74EF94629652169000742E1 /* TrackCapturerEventsEmitter.m */,
152
+ 4EE3A8CA25B841DD00FAA24A /* ScreenCaptureController.h */,
153
+ 4EE3A8CC25B841DD00FAA24A /* ScreenCaptureController.m */,
154
+ 4EC498BB25B8777F00E76218 /* ScreenCapturePickerViewManager.h */,
155
+ 4EC498BA25B8777F00E76218 /* ScreenCapturePickerViewManager.m */,
156
+ 4EE3A8C725B841DD00FAA24A /* ScreenCapturer.h */,
157
+ 4EE3A8CD25B841DD00FAA24A /* ScreenCapturer.m */,
158
+ 4EE3A8CE25B841DD00FAA24A /* SocketConnection.h */,
159
+ 4EE3A8C825B841DD00FAA24A /* SocketConnection.m */,
160
+ DEC96579264176DF0052DB35 /* DataChannelWrapper.h */,
161
+ DEC96576264176C10052DB35 /* DataChannelWrapper.m */,
162
+ );
163
+ name = RCTWebRTC;
164
+ path = ../apple/RCTWebRTC;
165
+ sourceTree = "<group>";
166
+ };
167
+ DEFDBC25256574F500344B23 /* Frameworks */ = {
168
+ isa = PBXGroup;
169
+ children = (
170
+ A20F721AD842563B66292D5B /* Pods_RCTWebRTC.framework */,
171
+ );
172
+ name = Frameworks;
173
+ sourceTree = "<group>";
174
+ };
175
+ /* End PBXGroup section */
176
+
177
+ /* Begin PBXNativeTarget section */
178
+ 35A2221E1CB493700015FD5C /* RCTWebRTC */ = {
179
+ isa = PBXNativeTarget;
180
+ buildConfigurationList = 35A222281CB493700015FD5C /* Build configuration list for PBXNativeTarget "RCTWebRTC" */;
181
+ buildPhases = (
182
+ B1E831D2F95BE8EA21E91593 /* [CP] Check Pods Manifest.lock */,
183
+ 35A2221B1CB493700015FD5C /* Sources */,
184
+ 35A2221C1CB493700015FD5C /* Frameworks */,
185
+ 35A2221D1CB493700015FD5C /* CopyFiles */,
186
+ );
187
+ buildRules = (
188
+ );
189
+ dependencies = (
190
+ );
191
+ name = RCTWebRTC;
192
+ productName = RCTWebRTC;
193
+ productReference = 35A2221F1CB493700015FD5C /* libRCTWebRTC.a */;
194
+ productType = "com.apple.product-type.library.static";
195
+ };
196
+ /* End PBXNativeTarget section */
197
+
198
+ /* Begin PBXProject section */
199
+ 35A222171CB493700015FD5C /* Project object */ = {
200
+ isa = PBXProject;
201
+ attributes = {
202
+ LastSwiftUpdateCheck = 1420;
203
+ LastUpgradeCheck = 0720;
204
+ TargetAttributes = {
205
+ 35A2221E1CB493700015FD5C = {
206
+ CreatedOnToolsVersion = 7.2.1;
207
+ };
208
+ };
209
+ };
210
+ buildConfigurationList = 35A2221A1CB493700015FD5C /* Build configuration list for PBXProject "RCTWebRTC" */;
211
+ compatibilityVersion = "Xcode 3.2";
212
+ developmentRegion = English;
213
+ hasScannedForEncodings = 0;
214
+ knownRegions = (
215
+ English,
216
+ en,
217
+ );
218
+ mainGroup = 35A222161CB493700015FD5C;
219
+ productRefGroup = 35A222201CB493700015FD5C /* Products */;
220
+ projectDirPath = "";
221
+ projectRoot = "";
222
+ targets = (
223
+ 35A2221E1CB493700015FD5C /* RCTWebRTC */,
224
+ );
225
+ };
226
+ /* End PBXProject section */
227
+
228
+ /* Begin PBXShellScriptBuildPhase section */
229
+ B1E831D2F95BE8EA21E91593 /* [CP] Check Pods Manifest.lock */ = {
230
+ isa = PBXShellScriptBuildPhase;
231
+ buildActionMask = 2147483647;
232
+ files = (
233
+ );
234
+ inputFileListPaths = (
235
+ );
236
+ inputPaths = (
237
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
238
+ "${PODS_ROOT}/Manifest.lock",
239
+ );
240
+ name = "[CP] Check Pods Manifest.lock";
241
+ outputFileListPaths = (
242
+ );
243
+ outputPaths = (
244
+ "$(DERIVED_FILE_DIR)/Pods-RCTWebRTC-checkManifestLockResult.txt",
245
+ );
246
+ runOnlyForDeploymentPostprocessing = 0;
247
+ shellPath = /bin/sh;
248
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
249
+ showEnvVarsInLog = 0;
250
+ };
251
+ /* End PBXShellScriptBuildPhase section */
252
+
253
+ /* Begin PBXSourcesBuildPhase section */
254
+ 35A2221B1CB493700015FD5C /* Sources */ = {
255
+ isa = PBXSourcesBuildPhase;
256
+ buildActionMask = 2147483647;
257
+ files = (
258
+ 4EE3A8C525B8417800FAA24A /* WebRTCModule+VideoTrackAdapter.m in Sources */,
259
+ 4EE3A8BA25B8415900FAA24A /* WebRTCModule+RTCDataChannel.m in Sources */,
260
+ 4EE3A8B625B8414A00FAA24A /* WebRTCModule+Permissions.m in Sources */,
261
+ DEC96577264176C10052DB35 /* DataChannelWrapper.m in Sources */,
262
+ 4EE3A8D425B841DD00FAA24A /* ScreenCapturer.m in Sources */,
263
+ 0BDDA6E020C18B6B00B38B45 /* VideoCaptureController.m in Sources */,
264
+ 4EE3A8A725B8411400FAA24A /* RTCMediaStreamTrack+React.m in Sources */,
265
+ 4EC498BC25B8777F00E76218 /* ScreenCapturePickerViewManager.m in Sources */,
266
+ 4EE3A8B225B8414000FAA24A /* WebRTCModule.m in Sources */,
267
+ 4EE3A8D225B841DD00FAA24A /* CaptureController.m in Sources */,
268
+ D7F0711E2C6DC91F0031F594 /* WebRTCModule+RTCAudioSession.m in Sources */,
269
+ D74EF94829652169000742E1 /* TrackCapturerEventsEmitter.m in Sources */,
270
+ 4EE3A8D125B841DD00FAA24A /* SocketConnection.m in Sources */,
271
+ 4EE3A8BD25B8416500FAA24A /* WebRTCModule+RTCMediaStream.m in Sources */,
272
+ 4EE3A8D325B841DD00FAA24A /* ScreenCaptureController.m in Sources */,
273
+ 4EE3A8AC25B8412700FAA24A /* RTCVideoViewManager.m in Sources */,
274
+ 4EE3A8C125B8416F00FAA24A /* WebRTCModule+RTCPeerConnection.m in Sources */,
275
+ 4EE3A8A325B840DA00FAA24A /* RCTConvert+WebRTC.m in Sources */,
276
+ );
277
+ runOnlyForDeploymentPostprocessing = 0;
278
+ };
279
+ /* End PBXSourcesBuildPhase section */
280
+
281
+ /* Begin XCBuildConfiguration section */
282
+ 35A222261CB493700015FD5C /* Debug */ = {
283
+ isa = XCBuildConfiguration;
284
+ buildSettings = {
285
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
286
+ CLANG_CXX_LIBRARY = "libc++";
287
+ CLANG_ENABLE_MODULES = YES;
288
+ CLANG_ENABLE_OBJC_ARC = YES;
289
+ CLANG_WARN_BOOL_CONVERSION = YES;
290
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
291
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
292
+ CLANG_WARN_EMPTY_BODY = YES;
293
+ CLANG_WARN_ENUM_CONVERSION = YES;
294
+ CLANG_WARN_INT_CONVERSION = YES;
295
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
296
+ CLANG_WARN_UNREACHABLE_CODE = YES;
297
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
298
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
299
+ COPY_PHASE_STRIP = NO;
300
+ DEBUG_INFORMATION_FORMAT = dwarf;
301
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
302
+ ENABLE_TESTABILITY = YES;
303
+ GCC_C_LANGUAGE_STANDARD = gnu99;
304
+ GCC_DYNAMIC_NO_PIC = NO;
305
+ GCC_NO_COMMON_BLOCKS = YES;
306
+ GCC_OPTIMIZATION_LEVEL = 0;
307
+ GCC_PREPROCESSOR_DEFINITIONS = (
308
+ "DEBUG=1",
309
+ "$(inherited)",
310
+ );
311
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
312
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
313
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
314
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
315
+ GCC_WARN_UNUSED_FUNCTION = YES;
316
+ GCC_WARN_UNUSED_VARIABLE = YES;
317
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
318
+ ONLY_ACTIVE_ARCH = YES;
319
+ SDKROOT = iphoneos;
320
+ };
321
+ name = Debug;
322
+ };
323
+ 35A222271CB493700015FD5C /* Release */ = {
324
+ isa = XCBuildConfiguration;
325
+ buildSettings = {
326
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
327
+ CLANG_CXX_LIBRARY = "libc++";
328
+ CLANG_ENABLE_MODULES = YES;
329
+ CLANG_ENABLE_OBJC_ARC = YES;
330
+ CLANG_WARN_BOOL_CONVERSION = YES;
331
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
332
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
333
+ CLANG_WARN_EMPTY_BODY = YES;
334
+ CLANG_WARN_ENUM_CONVERSION = YES;
335
+ CLANG_WARN_INT_CONVERSION = YES;
336
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
337
+ CLANG_WARN_UNREACHABLE_CODE = YES;
338
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
339
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
340
+ COPY_PHASE_STRIP = NO;
341
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
342
+ ENABLE_NS_ASSERTIONS = NO;
343
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
344
+ GCC_C_LANGUAGE_STANDARD = gnu99;
345
+ GCC_NO_COMMON_BLOCKS = YES;
346
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
347
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
348
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
349
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
350
+ GCC_WARN_UNUSED_FUNCTION = YES;
351
+ GCC_WARN_UNUSED_VARIABLE = YES;
352
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
353
+ SDKROOT = iphoneos;
354
+ VALIDATE_PRODUCT = YES;
355
+ };
356
+ name = Release;
357
+ };
358
+ 35A222291CB493700015FD5C /* Debug */ = {
359
+ isa = XCBuildConfiguration;
360
+ baseConfigurationReference = 1A7E646283326F2A95C8C1FA /* Pods-RCTWebRTC.debug.xcconfig */;
361
+ buildSettings = {
362
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
363
+ OTHER_LDFLAGS = "-ObjC";
364
+ PRODUCT_NAME = "$(TARGET_NAME)";
365
+ SKIP_INSTALL = YES;
366
+ };
367
+ name = Debug;
368
+ };
369
+ 35A2222A1CB493700015FD5C /* Release */ = {
370
+ isa = XCBuildConfiguration;
371
+ baseConfigurationReference = 131131FC732883F1EF6F2CA3 /* Pods-RCTWebRTC.release.xcconfig */;
372
+ buildSettings = {
373
+ LIBRARY_SEARCH_PATHS = "$(inherited)";
374
+ OTHER_LDFLAGS = "-ObjC";
375
+ PRODUCT_NAME = "$(TARGET_NAME)";
376
+ SKIP_INSTALL = YES;
377
+ };
378
+ name = Release;
379
+ };
380
+ /* End XCBuildConfiguration section */
381
+
382
+ /* Begin XCConfigurationList section */
383
+ 35A2221A1CB493700015FD5C /* Build configuration list for PBXProject "RCTWebRTC" */ = {
384
+ isa = XCConfigurationList;
385
+ buildConfigurations = (
386
+ 35A222261CB493700015FD5C /* Debug */,
387
+ 35A222271CB493700015FD5C /* Release */,
388
+ );
389
+ defaultConfigurationIsVisible = 0;
390
+ defaultConfigurationName = Release;
391
+ };
392
+ 35A222281CB493700015FD5C /* Build configuration list for PBXNativeTarget "RCTWebRTC" */ = {
393
+ isa = XCConfigurationList;
394
+ buildConfigurations = (
395
+ 35A222291CB493700015FD5C /* Debug */,
396
+ 35A2222A1CB493700015FD5C /* Release */,
397
+ );
398
+ defaultConfigurationIsVisible = 0;
399
+ defaultConfigurationName = Release;
400
+ };
401
+ /* End XCConfigurationList section */
402
+ };
403
+ rootObject = 35A222171CB493700015FD5C /* Project object */;
404
+ }
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "group:RCTWebRTC.xcodeproj">
6
+ </FileRef>
7
+ <FileRef
8
+ location = "group:Pods/Pods.xcodeproj">
9
+ </FileRef>
10
+ </Workspace>
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=Constraints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["Constraints.ts"],"sourcesContent":["\nexport type MediaTrackConstraints = {\n width?: ConstrainNumber;\n height?: ConstrainNumber;\n frameRate?: ConstrainNumber;\n facingMode?: ConstrainString;\n deviceId?: ConstrainString;\n groupId?: ConstrainString;\n}\n\ntype ConstrainNumber = number | {\n exact?: number,\n ideal?: number,\n max?: number,\n min?: number,\n}\n\ntype ConstrainString = string | {\n exact?: string,\n ideal?: string,\n}"],"mappings":""}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.addListener = addListener;
7
+ exports.removeListener = removeListener;
8
+ exports.removeListenerForEvent = removeListenerForEvent;
9
+ exports.setupNativeEvents = setupNativeEvents;
10
+ var _reactNative = require("react-native");
11
+ var _EventEmitter = _interopRequireDefault(require("react-native/Libraries/vendor/emitter/EventEmitter"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ // @ts-ignore
14
+
15
+ const {
16
+ WebRTCModule
17
+ } = _reactNative.NativeModules;
18
+
19
+ // This emitter is going to be used to listen to all the native events (once) and then
20
+ // re-emit them on a JS-only emitter.
21
+ const nativeEmitter = new _reactNative.NativeEventEmitter(WebRTCModule);
22
+ const NATIVE_EVENTS = ['peerConnectionSignalingStateChanged', 'peerConnectionStateChanged', 'peerConnectionOnRenegotiationNeeded', 'peerConnectionIceConnectionChanged', 'peerConnectionIceGatheringChanged', 'peerConnectionGotICECandidate', 'peerConnectionDidOpenDataChannel', 'peerConnectionOnRemoveTrack', 'peerConnectionOnTrack', 'dataChannelStateChanged', 'dataChannelReceiveMessage', 'dataChannelDidChangeBufferedAmount', 'mediaStreamTrackMuteChanged', 'mediaStreamTrackEnded', 'frameCryptionStateChanged', 'audioSamples'];
23
+ const eventEmitter = new _EventEmitter.default();
24
+ function setupNativeEvents() {
25
+ for (const eventName of NATIVE_EVENTS) {
26
+ nativeEmitter.addListener(eventName, function () {
27
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
+ args[_key] = arguments[_key];
29
+ }
30
+ eventEmitter.emit(eventName, ...args);
31
+ });
32
+ }
33
+ }
34
+ const _subscriptions = new Map();
35
+ function addListener(listener, eventName, eventHandler) {
36
+ var _subscriptions$get;
37
+ if (!NATIVE_EVENTS.includes(eventName)) {
38
+ throw new Error(`Invalid event: ${eventName}`);
39
+ }
40
+ if (!_subscriptions.has(listener)) {
41
+ _subscriptions.set(listener, []);
42
+ }
43
+ (_subscriptions$get = _subscriptions.get(listener)) === null || _subscriptions$get === void 0 ? void 0 : _subscriptions$get.push(eventEmitter.addListener(eventName, eventHandler));
44
+ }
45
+ function removeListener(listener) {
46
+ var _subscriptions$get2;
47
+ (_subscriptions$get2 = _subscriptions.get(listener)) === null || _subscriptions$get2 === void 0 ? void 0 : _subscriptions$get2.forEach(sub => {
48
+ sub.remove();
49
+ });
50
+ _subscriptions.delete(listener);
51
+ }
52
+ function removeListenerForEvent(listener, eventName) {
53
+ const subs = _subscriptions.get(listener);
54
+ if (!subs) return;
55
+ const remaining = [];
56
+ subs.forEach(sub => {
57
+ if (sub.eventType === eventName) {
58
+ sub.remove();
59
+ } else {
60
+ remaining.push(sub);
61
+ }
62
+ });
63
+ if (remaining.length === 0) {
64
+ _subscriptions.delete(listener);
65
+ } else {
66
+ _subscriptions.set(listener, remaining);
67
+ }
68
+ }
69
+ //# sourceMappingURL=EventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_EventEmitter","_interopRequireDefault","obj","__esModule","default","WebRTCModule","NativeModules","nativeEmitter","NativeEventEmitter","NATIVE_EVENTS","eventEmitter","EventEmitter","setupNativeEvents","eventName","addListener","_len","arguments","length","args","Array","_key","emit","_subscriptions","Map","listener","eventHandler","_subscriptions$get","includes","Error","has","set","get","push","removeListener","_subscriptions$get2","forEach","sub","remove","delete","removeListenerForEvent","subs","remaining","eventType"],"sources":["EventEmitter.ts"],"sourcesContent":["import { NativeModules, NativeEventEmitter, EmitterSubscription } from 'react-native';\n// @ts-ignore\nimport EventEmitter from 'react-native/Libraries/vendor/emitter/EventEmitter';\n\nconst { WebRTCModule } = NativeModules;\n\n// This emitter is going to be used to listen to all the native events (once) and then\n// re-emit them on a JS-only emitter.\nconst nativeEmitter = new NativeEventEmitter(WebRTCModule);\n\nconst NATIVE_EVENTS = [\n 'peerConnectionSignalingStateChanged',\n 'peerConnectionStateChanged',\n 'peerConnectionOnRenegotiationNeeded',\n 'peerConnectionIceConnectionChanged',\n 'peerConnectionIceGatheringChanged',\n 'peerConnectionGotICECandidate',\n 'peerConnectionDidOpenDataChannel',\n 'peerConnectionOnRemoveTrack',\n 'peerConnectionOnTrack',\n 'dataChannelStateChanged',\n 'dataChannelReceiveMessage',\n 'dataChannelDidChangeBufferedAmount',\n 'mediaStreamTrackMuteChanged',\n 'mediaStreamTrackEnded',\n 'frameCryptionStateChanged',\n 'audioSamples',\n];\n\nconst eventEmitter = new EventEmitter();\n\nexport function setupNativeEvents() {\n for (const eventName of NATIVE_EVENTS) {\n nativeEmitter.addListener(eventName, (...args) => {\n eventEmitter.emit(eventName, ...args);\n });\n }\n}\n\ntype EventHandler = (event: unknown) => void;\ntype Listener = unknown;\n\nconst _subscriptions: Map<Listener, EmitterSubscription[]> = new Map();\n\nexport function addListener(listener: Listener, eventName: string, eventHandler: EventHandler): void {\n if (!NATIVE_EVENTS.includes(eventName)) {\n throw new Error(`Invalid event: ${eventName}`);\n }\n\n if (!_subscriptions.has(listener)) {\n _subscriptions.set(listener, []);\n }\n\n _subscriptions.get(listener)?.push(eventEmitter.addListener(eventName, eventHandler));\n}\n\nexport function removeListener(listener: Listener): void {\n _subscriptions.get(listener)?.forEach(sub => {\n sub.remove();\n });\n\n _subscriptions.delete(listener);\n}\n\nexport function removeListenerForEvent(listener: Listener, eventName: string): void {\n const subs = _subscriptions.get(listener);\n if (!subs) return;\n \n const remaining: EmitterSubscription[] = [];\n subs.forEach(sub => {\n if ((sub as any).eventType === eventName) {\n sub.remove();\n } else {\n remaining.push(sub);\n }\n });\n \n if (remaining.length === 0) {\n _subscriptions.delete(listener);\n } else {\n _subscriptions.set(listener, remaining);\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA8E,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAD9E;;AAGA,MAAM;EAAEG;AAAa,CAAC,GAAGC,0BAAa;;AAEtC;AACA;AACA,MAAMC,aAAa,GAAG,IAAIC,+BAAkB,CAACH,YAAY,CAAC;AAE1D,MAAMI,aAAa,GAAG,CAClB,qCAAqC,EACrC,4BAA4B,EAC5B,qCAAqC,EACrC,oCAAoC,EACpC,mCAAmC,EACnC,+BAA+B,EAC/B,kCAAkC,EAClC,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,oCAAoC,EACpC,6BAA6B,EAC7B,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,CACjB;AAED,MAAMC,YAAY,GAAG,IAAIC,qBAAY,CAAC,CAAC;AAEhC,SAASC,iBAAiBA,CAAA,EAAG;EAChC,KAAK,MAAMC,SAAS,IAAIJ,aAAa,EAAE;IACnCF,aAAa,CAACO,WAAW,CAACD,SAAS,EAAE,YAAa;MAAA,SAAAE,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAATC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;QAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;MAAA;MACzCV,YAAY,CAACW,IAAI,CAACR,SAAS,EAAE,GAAGK,IAAI,CAAC;IACzC,CAAC,CAAC;EACN;AACJ;AAKA,MAAMI,cAAoD,GAAG,IAAIC,GAAG,CAAC,CAAC;AAE/D,SAAST,WAAWA,CAACU,QAAkB,EAAEX,SAAiB,EAAEY,YAA0B,EAAQ;EAAA,IAAAC,kBAAA;EACjG,IAAI,CAACjB,aAAa,CAACkB,QAAQ,CAACd,SAAS,CAAC,EAAE;IACpC,MAAM,IAAIe,KAAK,CAAE,kBAAiBf,SAAU,EAAC,CAAC;EAClD;EAEA,IAAI,CAACS,cAAc,CAACO,GAAG,CAACL,QAAQ,CAAC,EAAE;IAC/BF,cAAc,CAACQ,GAAG,CAACN,QAAQ,EAAE,EAAE,CAAC;EACpC;EAEA,CAAAE,kBAAA,GAAAJ,cAAc,CAACS,GAAG,CAACP,QAAQ,CAAC,cAAAE,kBAAA,uBAA5BA,kBAAA,CAA8BM,IAAI,CAACtB,YAAY,CAACI,WAAW,CAACD,SAAS,EAAEY,YAAY,CAAC,CAAC;AACzF;AAEO,SAASQ,cAAcA,CAACT,QAAkB,EAAQ;EAAA,IAAAU,mBAAA;EACrD,CAAAA,mBAAA,GAAAZ,cAAc,CAACS,GAAG,CAACP,QAAQ,CAAC,cAAAU,mBAAA,uBAA5BA,mBAAA,CAA8BC,OAAO,CAACC,GAAG,IAAI;IACzCA,GAAG,CAACC,MAAM,CAAC,CAAC;EAChB,CAAC,CAAC;EAEFf,cAAc,CAACgB,MAAM,CAACd,QAAQ,CAAC;AACnC;AAEO,SAASe,sBAAsBA,CAACf,QAAkB,EAAEX,SAAiB,EAAQ;EAChF,MAAM2B,IAAI,GAAGlB,cAAc,CAACS,GAAG,CAACP,QAAQ,CAAC;EACzC,IAAI,CAACgB,IAAI,EAAE;EAEX,MAAMC,SAAgC,GAAG,EAAE;EAC3CD,IAAI,CAACL,OAAO,CAACC,GAAG,IAAI;IAChB,IAAKA,GAAG,CAASM,SAAS,KAAK7B,SAAS,EAAE;MACtCuB,GAAG,CAACC,MAAM,CAAC,CAAC;IAChB,CAAC,MAAM;MACHI,SAAS,CAACT,IAAI,CAACI,GAAG,CAAC;IACvB;EACJ,CAAC,CAAC;EAEF,IAAIK,SAAS,CAACxB,MAAM,KAAK,CAAC,EAAE;IACxBK,cAAc,CAACgB,MAAM,CAACd,QAAQ,CAAC;EACnC,CAAC,MAAM;IACHF,cAAc,CAACQ,GAAG,CAACN,QAAQ,EAAEiB,SAAS,CAAC;EAC3C;AACJ"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _debug = _interopRequireDefault(require("debug"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ 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; }
10
+ class Logger {
11
+ static enable(ns) {
12
+ _debug.default.enable(ns);
13
+ }
14
+ constructor(prefix) {
15
+ _defineProperty(this, "_debug", void 0);
16
+ _defineProperty(this, "_info", void 0);
17
+ _defineProperty(this, "_warn", void 0);
18
+ _defineProperty(this, "_error", void 0);
19
+ const _prefix = `${Logger.ROOT_PREFIX}:${prefix}`;
20
+ this._debug = (0, _debug.default)(`${_prefix}:DEBUG`);
21
+ this._info = (0, _debug.default)(`${_prefix}:INFO`);
22
+ this._warn = (0, _debug.default)(`${_prefix}:WARN`);
23
+ this._error = (0, _debug.default)(`${_prefix}:ERROR`);
24
+ const log = console.log.bind(console);
25
+ this._debug.log = log;
26
+ this._info.log = log;
27
+ this._warn.log = log;
28
+ this._error.log = log;
29
+ }
30
+ debug(msg) {
31
+ this._debug(msg);
32
+ }
33
+ info(msg) {
34
+ this._info(msg);
35
+ }
36
+ warn(msg) {
37
+ this._warn(msg);
38
+ }
39
+ error(msg, err) {
40
+ var _err$stack;
41
+ const trace = (_err$stack = err === null || err === void 0 ? void 0 : err.stack) !== null && _err$stack !== void 0 ? _err$stack : 'N/A';
42
+ this._error(`${msg} Trace: ${trace}`);
43
+ }
44
+ }
45
+ exports.default = Logger;
46
+ _defineProperty(Logger, "ROOT_PREFIX", 'rn-webrtc');
47
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_debug","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","Logger","enable","ns","debug","constructor","prefix","_prefix","ROOT_PREFIX","_info","_warn","_error","log","console","bind","msg","info","warn","error","err","_err$stack","trace","stack","exports"],"sources":["Logger.ts"],"sourcesContent":["import debug from 'debug';\n\n\nexport default class Logger {\n static ROOT_PREFIX = 'rn-webrtc';\n\n private _debug: debug.Debugger;\n private _info: debug.Debugger;\n private _warn: debug.Debugger;\n private _error: debug.Debugger;\n\n static enable(ns: string): void {\n debug.enable(ns);\n }\n\n constructor(prefix: string) {\n const _prefix = `${Logger.ROOT_PREFIX}:${prefix}`;\n\n this._debug = debug(`${_prefix}:DEBUG`);\n this._info = debug(`${_prefix}:INFO`);\n this._warn = debug(`${_prefix}:WARN`);\n this._error = debug(`${_prefix}:ERROR`);\n\n const log = console.log.bind(console);\n\n this._debug.log = log;\n this._info.log = log;\n this._warn.log = log;\n this._error.log = log;\n }\n\n debug(msg: string): void {\n this._debug(msg);\n }\n\n info(msg: string): void {\n this._info(msg);\n }\n\n warn(msg: string): void {\n this._warn(msg);\n }\n\n error(msg: string, err?: Error): void {\n const trace = err?.stack ?? 'N/A';\n\n this._error(`${msg} Trace: ${trace}`);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,QAAAD,GAAA,IAAAJ,GAAA,IAAAM,MAAA,CAAAC,cAAA,CAAAP,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAG,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAV,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAGX,MAAMW,MAAM,CAAC;EAQxB,OAAOC,MAAMA,CAACC,EAAU,EAAQ;IAC5BC,cAAK,CAACF,MAAM,CAACC,EAAE,CAAC;EACpB;EAEAE,WAAWA,CAACC,MAAc,EAAE;IAAAb,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IACxB,MAAMc,OAAO,GAAI,GAAEN,MAAM,CAACO,WAAY,IAAGF,MAAO,EAAC;IAEjD,IAAI,CAACnB,MAAM,GAAG,IAAAiB,cAAK,EAAE,GAAEG,OAAQ,QAAO,CAAC;IACvC,IAAI,CAACE,KAAK,GAAG,IAAAL,cAAK,EAAE,GAAEG,OAAQ,OAAM,CAAC;IACrC,IAAI,CAACG,KAAK,GAAG,IAAAN,cAAK,EAAE,GAAEG,OAAQ,OAAM,CAAC;IACrC,IAAI,CAACI,MAAM,GAAG,IAAAP,cAAK,EAAE,GAAEG,OAAQ,QAAO,CAAC;IAEvC,MAAMK,GAAG,GAAGC,OAAO,CAACD,GAAG,CAACE,IAAI,CAACD,OAAO,CAAC;IAErC,IAAI,CAAC1B,MAAM,CAACyB,GAAG,GAAGA,GAAG;IACrB,IAAI,CAACH,KAAK,CAACG,GAAG,GAAGA,GAAG;IACpB,IAAI,CAACF,KAAK,CAACE,GAAG,GAAGA,GAAG;IACpB,IAAI,CAACD,MAAM,CAACC,GAAG,GAAGA,GAAG;EACzB;EAEAR,KAAKA,CAACW,GAAW,EAAQ;IACrB,IAAI,CAAC5B,MAAM,CAAC4B,GAAG,CAAC;EACpB;EAEAC,IAAIA,CAACD,GAAW,EAAQ;IACpB,IAAI,CAACN,KAAK,CAACM,GAAG,CAAC;EACnB;EAEAE,IAAIA,CAACF,GAAW,EAAQ;IACpB,IAAI,CAACL,KAAK,CAACK,GAAG,CAAC;EACnB;EAEAG,KAAKA,CAACH,GAAW,EAAEI,GAAW,EAAQ;IAAA,IAAAC,UAAA;IAClC,MAAMC,KAAK,IAAAD,UAAA,GAAGD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEG,KAAK,cAAAF,UAAA,cAAAA,UAAA,GAAI,KAAK;IAEjC,IAAI,CAACT,MAAM,CAAE,GAAEI,GAAI,WAAUM,KAAM,EAAC,CAAC;EACzC;AACJ;AAACE,OAAA,CAAA/B,OAAA,GAAAS,MAAA;AAAAR,eAAA,CA7CoBQ,MAAM,iBACF,WAAW"}