@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.
- package/.clang-format +11 -0
- package/.eslintignore +6 -0
- package/.nvmrc +1 -0
- package/ISSUE_TEMPLATE.md +40 -0
- package/LICENSE +22 -0
- package/README.md +82 -0
- package/android/build.gradle +36 -0
- package/android/consumer-rules.pro +3 -0
- package/android/src/main/AndroidManifest.xml +11 -0
- package/android/src/main/java/com/oney/WebRTCModule/AbstractVideoCaptureController.java +113 -0
- package/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java +338 -0
- package/android/src/main/java/com/oney/WebRTCModule/CameraEventsHandler.java +49 -0
- package/android/src/main/java/com/oney/WebRTCModule/DataChannelWrapper.java +99 -0
- package/android/src/main/java/com/oney/WebRTCModule/DataPacketCryptorManager.java +63 -0
- package/android/src/main/java/com/oney/WebRTCModule/DisplayUtils.java +16 -0
- package/android/src/main/java/com/oney/WebRTCModule/EglUtils.java +66 -0
- package/android/src/main/java/com/oney/WebRTCModule/GetUserMediaImpl.java +539 -0
- package/android/src/main/java/com/oney/WebRTCModule/LibraryLoader.java +21 -0
- package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionNotification.java +70 -0
- package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionService.java +82 -0
- package/android/src/main/java/com/oney/WebRTCModule/PeerConnectionObserver.java +588 -0
- package/android/src/main/java/com/oney/WebRTCModule/RTCCryptoManager.java +493 -0
- package/android/src/main/java/com/oney/WebRTCModule/RTCVideoViewManager.java +98 -0
- package/android/src/main/java/com/oney/WebRTCModule/ReactBridgeUtil.java +36 -0
- package/android/src/main/java/com/oney/WebRTCModule/ScreenCaptureController.java +94 -0
- package/android/src/main/java/com/oney/WebRTCModule/SerializeUtils.java +342 -0
- package/android/src/main/java/com/oney/WebRTCModule/StringUtils.java +101 -0
- package/android/src/main/java/com/oney/WebRTCModule/ThreadUtils.java +41 -0
- package/android/src/main/java/com/oney/WebRTCModule/TrackCapturerEventsEmitter.java +34 -0
- package/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java +137 -0
- package/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java +1593 -0
- package/android/src/main/java/com/oney/WebRTCModule/WebRTCModuleOptions.java +33 -0
- package/android/src/main/java/com/oney/WebRTCModule/WebRTCModulePackage.java +21 -0
- package/android/src/main/java/com/oney/WebRTCModule/WebRTCView.java +583 -0
- package/android/src/main/java/com/oney/WebRTCModule/videoEffects/ProcessorProvider.java +38 -0
- package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoEffectProcessor.java +59 -0
- package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessor.java +19 -0
- package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessorFactoryInterface.java +12 -0
- package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoDecoderFactory.java +73 -0
- package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoEncoderFactory.java +73 -0
- package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoDecoderFactoryProxy.java +36 -0
- package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoEncoderFactoryProxy.java +36 -0
- package/android/src/main/java/org/webrtc/Camera1Helper.java +54 -0
- package/android/src/main/java/org/webrtc/Camera2Helper.java +52 -0
- package/android/src/main/res/values/strings.xml +5 -0
- package/android/src/main/res/values/styles.xml +8 -0
- package/apple/.placeholder +0 -0
- package/ios/RCTWebRTC/CaptureController.h +18 -0
- package/ios/RCTWebRTC/CaptureController.m +29 -0
- package/ios/RCTWebRTC/CapturerEventsDelegate.h +12 -0
- package/ios/RCTWebRTC/DataChannelWrapper.h +27 -0
- package/ios/RCTWebRTC/DataChannelWrapper.m +42 -0
- package/ios/RCTWebRTC/I420Converter.h +22 -0
- package/ios/RCTWebRTC/I420Converter.m +164 -0
- package/ios/RCTWebRTC/PIPController.h +24 -0
- package/ios/RCTWebRTC/PIPController.m +234 -0
- package/ios/RCTWebRTC/RCTConvert+WebRTC.h +16 -0
- package/ios/RCTWebRTC/RCTConvert+WebRTC.m +206 -0
- package/ios/RCTWebRTC/RTCMediaStreamTrack+React.h +10 -0
- package/ios/RCTWebRTC/RTCMediaStreamTrack+React.m +16 -0
- package/ios/RCTWebRTC/RTCVideoViewManager.h +29 -0
- package/ios/RCTWebRTC/RTCVideoViewManager.m +411 -0
- package/ios/RCTWebRTC/SampleBufferVideoCallView.h +12 -0
- package/ios/RCTWebRTC/SampleBufferVideoCallView.m +178 -0
- package/ios/RCTWebRTC/ScreenCaptureController.h +20 -0
- package/ios/RCTWebRTC/ScreenCaptureController.m +83 -0
- package/ios/RCTWebRTC/ScreenCapturePickerViewManager.h +7 -0
- package/ios/RCTWebRTC/ScreenCapturePickerViewManager.m +60 -0
- package/ios/RCTWebRTC/ScreenCapturer.h +19 -0
- package/ios/RCTWebRTC/ScreenCapturer.m +264 -0
- package/ios/RCTWebRTC/SerializeUtils.h +28 -0
- package/ios/RCTWebRTC/SerializeUtils.m +314 -0
- package/ios/RCTWebRTC/SocketConnection.h +13 -0
- package/ios/RCTWebRTC/SocketConnection.m +137 -0
- package/ios/RCTWebRTC/TrackCapturerEventsEmitter.h +14 -0
- package/ios/RCTWebRTC/TrackCapturerEventsEmitter.m +37 -0
- package/ios/RCTWebRTC/VideoCaptureController.h +21 -0
- package/ios/RCTWebRTC/VideoCaptureController.m +328 -0
- package/ios/RCTWebRTC/WebRTCModule+Permissions.m +75 -0
- package/ios/RCTWebRTC/WebRTCModule+RTCAudioSession.m +20 -0
- package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.h +14 -0
- package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m +165 -0
- package/ios/RCTWebRTC/WebRTCModule+RTCFrameCryptor.m +611 -0
- package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.h +14 -0
- package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m +545 -0
- package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.h +24 -0
- package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m +1004 -0
- package/ios/RCTWebRTC/WebRTCModule+Transceivers.m +267 -0
- package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.h +12 -0
- package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.m +166 -0
- package/ios/RCTWebRTC/WebRTCModule.h +45 -0
- package/ios/RCTWebRTC/WebRTCModule.m +149 -0
- package/ios/RCTWebRTC/WebRTCModuleOptions.h +24 -0
- package/ios/RCTWebRTC/WebRTCModuleOptions.m +31 -0
- package/ios/RCTWebRTC/videoEffects/ProcessorProvider.h +9 -0
- package/ios/RCTWebRTC/videoEffects/ProcessorProvider.m +23 -0
- package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.h +13 -0
- package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.m +23 -0
- package/ios/RCTWebRTC/videoEffects/VideoFrameProcessor.h +8 -0
- package/ios/RCTWebRTC.xcodeproj/project.pbxproj +404 -0
- package/ios/RCTWebRTC.xcworkspace/contents.xcworkspacedata +10 -0
- package/lib/commonjs/Constraints.js +2 -0
- package/lib/commonjs/Constraints.js.map +1 -0
- package/lib/commonjs/EventEmitter.js +69 -0
- package/lib/commonjs/EventEmitter.js.map +1 -0
- package/lib/commonjs/Logger.js +47 -0
- package/lib/commonjs/Logger.js.map +1 -0
- package/lib/commonjs/MediaDevices.js +54 -0
- package/lib/commonjs/MediaDevices.js.map +1 -0
- package/lib/commonjs/MediaStream.js +137 -0
- package/lib/commonjs/MediaStream.js.map +1 -0
- package/lib/commonjs/MediaStreamError.js +19 -0
- package/lib/commonjs/MediaStreamError.js.map +1 -0
- package/lib/commonjs/MediaStreamErrorEvent.js +17 -0
- package/lib/commonjs/MediaStreamErrorEvent.js.map +1 -0
- package/lib/commonjs/MediaStreamTrack.js +239 -0
- package/lib/commonjs/MediaStreamTrack.js.map +1 -0
- package/lib/commonjs/MediaStreamTrackEvent.js +26 -0
- package/lib/commonjs/MediaStreamTrackEvent.js.map +1 -0
- package/lib/commonjs/MessageEvent.js +27 -0
- package/lib/commonjs/MessageEvent.js.map +1 -0
- package/lib/commonjs/Permissions.js +116 -0
- package/lib/commonjs/Permissions.js.map +1 -0
- package/lib/commonjs/RTCAudioSession.js +33 -0
- package/lib/commonjs/RTCAudioSession.js.map +1 -0
- package/lib/commonjs/RTCDataChannel.js +165 -0
- package/lib/commonjs/RTCDataChannel.js.map +1 -0
- package/lib/commonjs/RTCDataChannelEvent.js +26 -0
- package/lib/commonjs/RTCDataChannelEvent.js.map +1 -0
- package/lib/commonjs/RTCDataPacketCryptor.js +76 -0
- package/lib/commonjs/RTCDataPacketCryptor.js.map +1 -0
- package/lib/commonjs/RTCDataPacketCryptorFactory.js +27 -0
- package/lib/commonjs/RTCDataPacketCryptorFactory.js.map +1 -0
- package/lib/commonjs/RTCErrorEvent.js +23 -0
- package/lib/commonjs/RTCErrorEvent.js.map +1 -0
- package/lib/commonjs/RTCFrameCryptor.js +138 -0
- package/lib/commonjs/RTCFrameCryptor.js.map +1 -0
- package/lib/commonjs/RTCFrameCryptorFactory.js +81 -0
- package/lib/commonjs/RTCFrameCryptorFactory.js.map +1 -0
- package/lib/commonjs/RTCIceCandidate.js +34 -0
- package/lib/commonjs/RTCIceCandidate.js.map +1 -0
- package/lib/commonjs/RTCIceCandidateEvent.js +28 -0
- package/lib/commonjs/RTCIceCandidateEvent.js.map +1 -0
- package/lib/commonjs/RTCKeyProvider.js +111 -0
- package/lib/commonjs/RTCKeyProvider.js.map +1 -0
- package/lib/commonjs/RTCPIPView.js +38 -0
- package/lib/commonjs/RTCPIPView.js.map +1 -0
- package/lib/commonjs/RTCPeerConnection.js +694 -0
- package/lib/commonjs/RTCPeerConnection.js.map +1 -0
- package/lib/commonjs/RTCRtcpParameters.js +24 -0
- package/lib/commonjs/RTCRtcpParameters.js.map +1 -0
- package/lib/commonjs/RTCRtpCapabilities.js +22 -0
- package/lib/commonjs/RTCRtpCapabilities.js.map +1 -0
- package/lib/commonjs/RTCRtpCodecCapability.js +19 -0
- package/lib/commonjs/RTCRtpCodecCapability.js.map +1 -0
- package/lib/commonjs/RTCRtpCodecParameters.js +38 -0
- package/lib/commonjs/RTCRtpCodecParameters.js.map +1 -0
- package/lib/commonjs/RTCRtpEncodingParameters.js +78 -0
- package/lib/commonjs/RTCRtpEncodingParameters.js.map +1 -0
- package/lib/commonjs/RTCRtpHeaderExtension.js +27 -0
- package/lib/commonjs/RTCRtpHeaderExtension.js.map +1 -0
- package/lib/commonjs/RTCRtpParameters.js +35 -0
- package/lib/commonjs/RTCRtpParameters.js.map +1 -0
- package/lib/commonjs/RTCRtpReceiveParameters.js +15 -0
- package/lib/commonjs/RTCRtpReceiveParameters.js.map +1 -0
- package/lib/commonjs/RTCRtpReceiver.js +53 -0
- package/lib/commonjs/RTCRtpReceiver.js.map +1 -0
- package/lib/commonjs/RTCRtpSendParameters.js +49 -0
- package/lib/commonjs/RTCRtpSendParameters.js.map +1 -0
- package/lib/commonjs/RTCRtpSender.js +67 -0
- package/lib/commonjs/RTCRtpSender.js.map +1 -0
- package/lib/commonjs/RTCRtpTransceiver.js +81 -0
- package/lib/commonjs/RTCRtpTransceiver.js.map +1 -0
- package/lib/commonjs/RTCSessionDescription.js +33 -0
- package/lib/commonjs/RTCSessionDescription.js.map +1 -0
- package/lib/commonjs/RTCTrackEvent.js +38 -0
- package/lib/commonjs/RTCTrackEvent.js.map +1 -0
- package/lib/commonjs/RTCUtil.js +186 -0
- package/lib/commonjs/RTCUtil.js.map +1 -0
- package/lib/commonjs/RTCView.js +16 -0
- package/lib/commonjs/RTCView.js.map +1 -0
- package/lib/commonjs/ScreenCapturePickerView.js +10 -0
- package/lib/commonjs/ScreenCapturePickerView.js.map +1 -0
- package/lib/commonjs/getDisplayMedia.js +33 -0
- package/lib/commonjs/getDisplayMedia.js.map +1 -0
- package/lib/commonjs/getUserMedia.js +101 -0
- package/lib/commonjs/getUserMedia.js.map +1 -0
- package/lib/commonjs/index.js +224 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/module/Constraints.js +2 -0
- package/lib/module/Constraints.js.map +1 -0
- package/lib/module/EventEmitter.js +58 -0
- package/lib/module/EventEmitter.js.map +1 -0
- package/lib/module/Logger.js +39 -0
- package/lib/module/Logger.js.map +1 -0
- package/lib/module/MediaDevices.js +46 -0
- package/lib/module/MediaDevices.js.map +1 -0
- package/lib/module/MediaStream.js +129 -0
- package/lib/module/MediaStream.js.map +1 -0
- package/lib/module/MediaStreamError.js +12 -0
- package/lib/module/MediaStreamError.js.map +1 -0
- package/lib/module/MediaStreamErrorEvent.js +10 -0
- package/lib/module/MediaStreamErrorEvent.js.map +1 -0
- package/lib/module/MediaStreamTrack.js +231 -0
- package/lib/module/MediaStreamTrack.js.map +1 -0
- package/lib/module/MediaStreamTrackEvent.js +19 -0
- package/lib/module/MediaStreamTrackEvent.js.map +1 -0
- package/lib/module/MessageEvent.js +20 -0
- package/lib/module/MessageEvent.js.map +1 -0
- package/lib/module/Permissions.js +109 -0
- package/lib/module/Permissions.js.map +1 -0
- package/lib/module/RTCAudioSession.js +26 -0
- package/lib/module/RTCAudioSession.js.map +1 -0
- package/lib/module/RTCDataChannel.js +155 -0
- package/lib/module/RTCDataChannel.js.map +1 -0
- package/lib/module/RTCDataChannelEvent.js +19 -0
- package/lib/module/RTCDataChannelEvent.js.map +1 -0
- package/lib/module/RTCDataPacketCryptor.js +66 -0
- package/lib/module/RTCDataPacketCryptor.js.map +1 -0
- package/lib/module/RTCDataPacketCryptorFactory.js +19 -0
- package/lib/module/RTCDataPacketCryptorFactory.js.map +1 -0
- package/lib/module/RTCErrorEvent.js +16 -0
- package/lib/module/RTCErrorEvent.js.map +1 -0
- package/lib/module/RTCFrameCryptor.js +128 -0
- package/lib/module/RTCFrameCryptor.js.map +1 -0
- package/lib/module/RTCFrameCryptorFactory.js +70 -0
- package/lib/module/RTCFrameCryptorFactory.js.map +1 -0
- package/lib/module/RTCIceCandidate.js +27 -0
- package/lib/module/RTCIceCandidate.js.map +1 -0
- package/lib/module/RTCIceCandidateEvent.js +21 -0
- package/lib/module/RTCIceCandidateEvent.js.map +1 -0
- package/lib/module/RTCKeyProvider.js +101 -0
- package/lib/module/RTCKeyProvider.js.map +1 -0
- package/lib/module/RTCPIPView.js +26 -0
- package/lib/module/RTCPIPView.js.map +1 -0
- package/lib/module/RTCPeerConnection.js +684 -0
- package/lib/module/RTCPeerConnection.js.map +1 -0
- package/lib/module/RTCRtcpParameters.js +17 -0
- package/lib/module/RTCRtcpParameters.js.map +1 -0
- package/lib/module/RTCRtpCapabilities.js +15 -0
- package/lib/module/RTCRtpCapabilities.js.map +1 -0
- package/lib/module/RTCRtpCodecCapability.js +12 -0
- package/lib/module/RTCRtpCodecCapability.js.map +1 -0
- package/lib/module/RTCRtpCodecParameters.js +31 -0
- package/lib/module/RTCRtpCodecParameters.js.map +1 -0
- package/lib/module/RTCRtpEncodingParameters.js +71 -0
- package/lib/module/RTCRtpEncodingParameters.js.map +1 -0
- package/lib/module/RTCRtpHeaderExtension.js +20 -0
- package/lib/module/RTCRtpHeaderExtension.js.map +1 -0
- package/lib/module/RTCRtpParameters.js +27 -0
- package/lib/module/RTCRtpParameters.js.map +1 -0
- package/lib/module/RTCRtpReceiveParameters.js +7 -0
- package/lib/module/RTCRtpReceiveParameters.js.map +1 -0
- package/lib/module/RTCRtpReceiver.js +45 -0
- package/lib/module/RTCRtpReceiver.js.map +1 -0
- package/lib/module/RTCRtpSendParameters.js +41 -0
- package/lib/module/RTCRtpSendParameters.js.map +1 -0
- package/lib/module/RTCRtpSender.js +59 -0
- package/lib/module/RTCRtpSender.js.map +1 -0
- package/lib/module/RTCRtpTransceiver.js +74 -0
- package/lib/module/RTCRtpTransceiver.js.map +1 -0
- package/lib/module/RTCSessionDescription.js +26 -0
- package/lib/module/RTCSessionDescription.js.map +1 -0
- package/lib/module/RTCTrackEvent.js +31 -0
- package/lib/module/RTCTrackEvent.js.map +1 -0
- package/lib/module/RTCUtil.js +176 -0
- package/lib/module/RTCUtil.js.map +1 -0
- package/lib/module/RTCView.js +11 -0
- package/lib/module/RTCView.js.map +1 -0
- package/lib/module/ScreenCapturePickerView.js +3 -0
- package/lib/module/ScreenCapturePickerView.js.map +1 -0
- package/lib/module/getDisplayMedia.js +26 -0
- package/lib/module/getDisplayMedia.js.map +1 -0
- package/lib/module/getUserMedia.js +92 -0
- package/lib/module/getUserMedia.js.map +1 -0
- package/lib/module/index.js +60 -0
- package/lib/module/index.js.map +1 -0
- package/lib/typescript/Constraints.d.ts +19 -0
- package/lib/typescript/EventEmitter.d.ts +7 -0
- package/lib/typescript/Logger.d.ts +13 -0
- package/lib/typescript/MediaDevices.d.ts +30 -0
- package/lib/typescript/MediaStream.d.ts +48 -0
- package/lib/typescript/MediaStreamError.d.ts +6 -0
- package/lib/typescript/MediaStreamErrorEvent.d.ts +6 -0
- package/lib/typescript/MediaStreamTrack.d.ts +103 -0
- package/lib/typescript/MediaStreamTrackEvent.d.ts +19 -0
- package/lib/typescript/MessageEvent.d.ts +21 -0
- package/lib/typescript/Permissions.d.ts +55 -0
- package/lib/typescript/RTCAudioSession.d.ts +10 -0
- package/lib/typescript/RTCDataChannel.d.ts +43 -0
- package/lib/typescript/RTCDataChannelEvent.d.ts +19 -0
- package/lib/typescript/RTCDataPacketCryptor.d.ts +12 -0
- package/lib/typescript/RTCDataPacketCryptorFactory.d.ts +6 -0
- package/lib/typescript/RTCErrorEvent.d.ts +12 -0
- package/lib/typescript/RTCFrameCryptor.d.ts +47 -0
- package/lib/typescript/RTCFrameCryptorFactory.d.ts +21 -0
- package/lib/typescript/RTCIceCandidate.d.ts +17 -0
- package/lib/typescript/RTCIceCandidateEvent.d.ts +20 -0
- package/lib/typescript/RTCKeyProvider.d.ts +21 -0
- package/lib/typescript/RTCPIPView.d.ts +15 -0
- package/lib/typescript/RTCPeerConnection.d.ts +117 -0
- package/lib/typescript/RTCRtcpParameters.d.ts +10 -0
- package/lib/typescript/RTCRtpCapabilities.d.ts +9 -0
- package/lib/typescript/RTCRtpCodecCapability.d.ts +7 -0
- package/lib/typescript/RTCRtpCodecParameters.d.ts +16 -0
- package/lib/typescript/RTCRtpEncodingParameters.d.ts +23 -0
- package/lib/typescript/RTCRtpHeaderExtension.d.ts +12 -0
- package/lib/typescript/RTCRtpParameters.d.ts +19 -0
- package/lib/typescript/RTCRtpReceiveParameters.d.ts +4 -0
- package/lib/typescript/RTCRtpReceiver.d.ts +21 -0
- package/lib/typescript/RTCRtpSendParameters.d.ts +20 -0
- package/lib/typescript/RTCRtpSender.d.ts +22 -0
- package/lib/typescript/RTCRtpTransceiver.d.ts +31 -0
- package/lib/typescript/RTCSessionDescription.d.ts +12 -0
- package/lib/typescript/RTCTrackEvent.d.ts +29 -0
- package/lib/typescript/RTCUtil.d.ts +37 -0
- package/lib/typescript/RTCView.d.ts +117 -0
- package/lib/typescript/ScreenCapturePickerView.d.ts +2 -0
- package/lib/typescript/getDisplayMedia.d.ts +2 -0
- package/lib/typescript/getUserMedia.d.ts +7 -0
- package/lib/typescript/index.d.ts +22 -0
- package/livekit-react-native-webrtc.podspec +29 -0
- package/macos/RCTWebRTC.xcodeproj/project.pbxproj +324 -0
- package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/metro.config.js +7 -0
- package/metro.config.macos.js +14 -0
- package/package.json +65 -0
- package/react-native.config.js +11 -0
- package/src/.eslintrc.cjs +67 -0
- package/src/Constraints.ts +21 -0
- package/src/EventEmitter.ts +83 -0
- package/src/Logger.ts +49 -0
- package/src/MediaDevices.ts +53 -0
- package/src/MediaStream.ts +161 -0
- package/src/MediaStreamError.ts +12 -0
- package/src/MediaStreamErrorEvent.ts +11 -0
- package/src/MediaStreamTrack.ts +331 -0
- package/src/MediaStreamTrackEvent.ts +25 -0
- package/src/MessageEvent.ts +26 -0
- package/src/Permissions.ts +133 -0
- package/src/RTCAudioSession.ts +25 -0
- package/src/RTCDataChannel.ts +190 -0
- package/src/RTCDataChannelEvent.ts +28 -0
- package/src/RTCDataPacketCryptor.ts +90 -0
- package/src/RTCDataPacketCryptorFactory.ts +25 -0
- package/src/RTCErrorEvent.ts +21 -0
- package/src/RTCFrameCryptor.ts +163 -0
- package/src/RTCFrameCryptorFactory.ts +102 -0
- package/src/RTCIceCandidate.ts +29 -0
- package/src/RTCIceCandidateEvent.ts +26 -0
- package/src/RTCKeyProvider.ts +117 -0
- package/src/RTCPIPView.tsx +47 -0
- package/src/RTCPeerConnection.ts +832 -0
- package/src/RTCRtcpParameters.ts +23 -0
- package/src/RTCRtpCapabilities.ts +16 -0
- package/src/RTCRtpCodecCapability.ts +13 -0
- package/src/RTCRtpCodecParameters.ts +44 -0
- package/src/RTCRtpEncodingParameters.ts +90 -0
- package/src/RTCRtpHeaderExtension.ts +27 -0
- package/src/RTCRtpParameters.ts +37 -0
- package/src/RTCRtpReceiveParameters.ts +7 -0
- package/src/RTCRtpReceiver.ts +60 -0
- package/src/RTCRtpSendParameters.ts +63 -0
- package/src/RTCRtpSender.ts +78 -0
- package/src/RTCRtpTransceiver.ts +107 -0
- package/src/RTCSessionDescription.ts +30 -0
- package/src/RTCTrackEvent.ts +42 -0
- package/src/RTCUtil.ts +211 -0
- package/src/RTCView.ts +122 -0
- package/src/ScreenCapturePickerView.ts +4 -0
- package/src/getDisplayMedia.ts +30 -0
- package/src/getUserMedia.ts +111 -0
- package/src/index.ts +101 -0
- package/tools/format.sh +6 -0
- package/tools/release.sh +45 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
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; }
|
|
2
|
+
import { Event } from 'event-target-shim/index';
|
|
3
|
+
/**
|
|
4
|
+
* @eventClass
|
|
5
|
+
* This event is fired whenever the icecandidate related RTC_EVENTS changed.
|
|
6
|
+
* @type {RTCIceCandidateEvent} for icecandidate related.
|
|
7
|
+
* @param {RTC_ICECANDIDATE_EVENTS} type - The type of event.
|
|
8
|
+
* @param {IRTCDataChannelEventInitDict} eventInitDict - The event init properties.
|
|
9
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection#events MDN} for details.
|
|
10
|
+
*/
|
|
11
|
+
export default class RTCIceCandidateEvent extends Event {
|
|
12
|
+
/** @eventProperty */
|
|
13
|
+
|
|
14
|
+
constructor(type, eventInitDict) {
|
|
15
|
+
var _eventInitDict$candid;
|
|
16
|
+
super(type, eventInitDict);
|
|
17
|
+
_defineProperty(this, "candidate", void 0);
|
|
18
|
+
this.candidate = (_eventInitDict$candid = eventInitDict === null || eventInitDict === void 0 ? void 0 : eventInitDict.candidate) !== null && _eventInitDict$candid !== void 0 ? _eventInitDict$candid : null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=RTCIceCandidateEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Event","RTCIceCandidateEvent","constructor","type","eventInitDict","_eventInitDict$candid","_defineProperty","candidate"],"sources":["RTCIceCandidateEvent.ts"],"sourcesContent":["import { Event } from 'event-target-shim/index';\n\nimport type RTCIceCandidate from './RTCIceCandidate';\n\ntype RTC_ICECANDIDATE_EVENTS = 'icecandidate' | 'icecandidateerror'\n\ninterface IRTCDataChannelEventInitDict extends Event.EventInit {\n candidate: RTCIceCandidate | null\n}\n\n/**\n * @eventClass\n * This event is fired whenever the icecandidate related RTC_EVENTS changed.\n * @type {RTCIceCandidateEvent} for icecandidate related.\n * @param {RTC_ICECANDIDATE_EVENTS} type - The type of event.\n * @param {IRTCDataChannelEventInitDict} eventInitDict - The event init properties.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection#events MDN} for details.\n */\nexport default class RTCIceCandidateEvent<TEventType extends RTC_ICECANDIDATE_EVENTS> extends Event<TEventType> {\n /** @eventProperty */\n candidate: RTCIceCandidate | null;\n constructor(type: TEventType, eventInitDict: IRTCDataChannelEventInitDict) {\n super(type, eventInitDict);\n this.candidate = eventInitDict?.candidate ?? null;\n }\n}\n"],"mappings":";AAAA,SAASA,KAAK,QAAQ,yBAAyB;AAU/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMC,oBAAoB,SAAqDD,KAAK,CAAa;EAC5G;;EAEAE,WAAWA,CAACC,IAAgB,EAAEC,aAA2C,EAAE;IAAA,IAAAC,qBAAA;IACvE,KAAK,CAACF,IAAI,EAAEC,aAAa,CAAC;IAACE,eAAA;IAC3B,IAAI,CAACC,SAAS,IAAAF,qBAAA,GAAGD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,SAAS,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EACrD;AACJ"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
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; }
|
|
2
|
+
import * as base64 from 'base64-js';
|
|
3
|
+
import { NativeModules } from 'react-native';
|
|
4
|
+
const {
|
|
5
|
+
WebRTCModule
|
|
6
|
+
} = NativeModules;
|
|
7
|
+
export let FrameCryptorState;
|
|
8
|
+
(function (FrameCryptorState) {
|
|
9
|
+
FrameCryptorState[FrameCryptorState["FrameCryptorStateNew"] = 0] = "FrameCryptorStateNew";
|
|
10
|
+
FrameCryptorState[FrameCryptorState["FrameCryptorStateOk"] = 1] = "FrameCryptorStateOk";
|
|
11
|
+
FrameCryptorState[FrameCryptorState["FrameCryptorStateEncryptionFailed"] = 2] = "FrameCryptorStateEncryptionFailed";
|
|
12
|
+
FrameCryptorState[FrameCryptorState["FrameCryptorStateDecryptionFailed"] = 3] = "FrameCryptorStateDecryptionFailed";
|
|
13
|
+
FrameCryptorState[FrameCryptorState["FrameCryptorStateMissingKey"] = 4] = "FrameCryptorStateMissingKey";
|
|
14
|
+
FrameCryptorState[FrameCryptorState["FrameCryptorStateKeyRatcheted"] = 5] = "FrameCryptorStateKeyRatcheted";
|
|
15
|
+
FrameCryptorState[FrameCryptorState["FrameCryptorStateInternalError"] = 6] = "FrameCryptorStateInternalError";
|
|
16
|
+
})(FrameCryptorState || (FrameCryptorState = {}));
|
|
17
|
+
export default class RTCKeyProvider {
|
|
18
|
+
constructor(keyProviderId) {
|
|
19
|
+
_defineProperty(this, "_id", void 0);
|
|
20
|
+
this._id = keyProviderId;
|
|
21
|
+
}
|
|
22
|
+
async setSharedKey(key) {
|
|
23
|
+
let keyIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
24
|
+
const params = {
|
|
25
|
+
keyProviderId: this._id,
|
|
26
|
+
keyIndex
|
|
27
|
+
};
|
|
28
|
+
if (typeof key === 'string') {
|
|
29
|
+
params['key'] = key;
|
|
30
|
+
params['keyIsBase64'] = false;
|
|
31
|
+
} else {
|
|
32
|
+
params['key'] = base64.fromByteArray(key);
|
|
33
|
+
params['keyIsBase64'] = true;
|
|
34
|
+
}
|
|
35
|
+
return WebRTCModule.keyProviderSetSharedKey(params).then(data => data['result']);
|
|
36
|
+
}
|
|
37
|
+
async ratchetSharedKey() {
|
|
38
|
+
let keyIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
39
|
+
const params = {
|
|
40
|
+
keyProviderId: this._id,
|
|
41
|
+
keyIndex
|
|
42
|
+
};
|
|
43
|
+
return WebRTCModule.keyProviderRatchetSharedKey(params).then(data => base64.toByteArray(data['result']));
|
|
44
|
+
}
|
|
45
|
+
async exportSharedKey() {
|
|
46
|
+
let keyIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
47
|
+
const params = {
|
|
48
|
+
keyProviderId: this._id,
|
|
49
|
+
keyIndex
|
|
50
|
+
};
|
|
51
|
+
return WebRTCModule.keyProviderExportSharedKey(params).then(data => base64.toByteArray(data['result']));
|
|
52
|
+
}
|
|
53
|
+
async setKey(participantId, key) {
|
|
54
|
+
let keyIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
55
|
+
const params = {
|
|
56
|
+
keyProviderId: this._id,
|
|
57
|
+
participantId,
|
|
58
|
+
keyIndex
|
|
59
|
+
};
|
|
60
|
+
if (typeof key === 'string') {
|
|
61
|
+
params['key'] = key;
|
|
62
|
+
params['keyIsBase64'] = false;
|
|
63
|
+
} else {
|
|
64
|
+
params['key'] = base64.fromByteArray(key);
|
|
65
|
+
params['keyIsBase64'] = true;
|
|
66
|
+
}
|
|
67
|
+
return WebRTCModule.keyProviderSetKey(params).then(data => data['result']);
|
|
68
|
+
}
|
|
69
|
+
async ratchetKey(participantId) {
|
|
70
|
+
let keyIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
71
|
+
const params = {
|
|
72
|
+
keyProviderId: this._id,
|
|
73
|
+
participantId,
|
|
74
|
+
keyIndex
|
|
75
|
+
};
|
|
76
|
+
return WebRTCModule.keyProviderRatchetKey(params).then(data => base64.toByteArray(data['result']));
|
|
77
|
+
}
|
|
78
|
+
async exportKey(participantId) {
|
|
79
|
+
let keyIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
80
|
+
const params = {
|
|
81
|
+
keyProviderId: this._id,
|
|
82
|
+
participantId,
|
|
83
|
+
keyIndex
|
|
84
|
+
};
|
|
85
|
+
return WebRTCModule.keyProviderExportKey(params).then(data => base64.toByteArray(data['result']));
|
|
86
|
+
}
|
|
87
|
+
async setSifTrailer(trailer) {
|
|
88
|
+
const params = {
|
|
89
|
+
keyProviderId: this._id,
|
|
90
|
+
'sifTrailer': base64.fromByteArray(trailer)
|
|
91
|
+
};
|
|
92
|
+
return WebRTCModule.keyProviderSetSifTrailer(params);
|
|
93
|
+
}
|
|
94
|
+
async dispose() {
|
|
95
|
+
const params = {
|
|
96
|
+
keyProviderId: this._id
|
|
97
|
+
};
|
|
98
|
+
return WebRTCModule.keyProviderDispose(params);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=RTCKeyProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["base64","NativeModules","WebRTCModule","FrameCryptorState","RTCKeyProvider","constructor","keyProviderId","_defineProperty","_id","setSharedKey","key","keyIndex","arguments","length","undefined","params","fromByteArray","keyProviderSetSharedKey","then","data","ratchetSharedKey","keyProviderRatchetSharedKey","toByteArray","exportSharedKey","keyProviderExportSharedKey","setKey","participantId","keyProviderSetKey","ratchetKey","keyProviderRatchetKey","exportKey","keyProviderExportKey","setSifTrailer","trailer","keyProviderSetSifTrailer","dispose","keyProviderDispose"],"sources":["RTCKeyProvider.ts"],"sourcesContent":["import * as base64 from 'base64-js';\nimport { NativeModules } from 'react-native';\nconst { WebRTCModule } = NativeModules;\n\nexport enum FrameCryptorState {\n FrameCryptorStateNew,\n FrameCryptorStateOk,\n FrameCryptorStateEncryptionFailed,\n FrameCryptorStateDecryptionFailed,\n FrameCryptorStateMissingKey,\n FrameCryptorStateKeyRatcheted,\n FrameCryptorStateInternalError,\n}\n\nexport default class RTCKeyProvider {\n _id: string;\n\n constructor(keyProviderId: string) {\n this._id = keyProviderId;\n }\n\n async setSharedKey(key: string | Uint8Array, keyIndex = 0) {\n const params = {\n keyProviderId: this._id,\n keyIndex,\n };\n\n if (typeof key === 'string') {\n params['key'] = key;\n params['keyIsBase64'] = false;\n } else {\n params['key'] = base64.fromByteArray(key as Uint8Array);\n params['keyIsBase64'] = true;\n }\n\n return WebRTCModule.keyProviderSetSharedKey(params)\n .then(data => data['result']);\n }\n\n async ratchetSharedKey(keyIndex = 0): Promise<Uint8Array> {\n const params = {\n keyProviderId: this._id,\n keyIndex,\n };\n\n return WebRTCModule.keyProviderRatchetSharedKey(params)\n .then(data => base64.toByteArray(data['result']));\n }\n\n async exportSharedKey(keyIndex = 0): Promise<Uint8Array> {\n const params = {\n keyProviderId: this._id,\n keyIndex,\n };\n\n return WebRTCModule.keyProviderExportSharedKey(params)\n .then(data => base64.toByteArray(data['result']));\n }\n\n async setKey(participantId: string, key: string | Uint8Array, keyIndex = 0): Promise<boolean> {\n const params = {\n keyProviderId: this._id,\n participantId,\n keyIndex,\n };\n\n if (typeof key === 'string') {\n params['key'] = key;\n params['keyIsBase64'] = false;\n } else {\n params['key'] = base64.fromByteArray(key as Uint8Array);\n params['keyIsBase64'] = true;\n }\n\n return WebRTCModule.keyProviderSetKey(params)\n .then(data => data['result']);\n }\n\n async ratchetKey(participantId: string, keyIndex = 0): Promise<Uint8Array> {\n const params = {\n keyProviderId: this._id,\n participantId,\n keyIndex,\n };\n\n return WebRTCModule.keyProviderRatchetKey(params)\n .then(data => base64.toByteArray(data['result']));\n }\n\n async exportKey(participantId: string, keyIndex = 0): Promise<Uint8Array> {\n const params = {\n keyProviderId: this._id,\n participantId,\n keyIndex,\n };\n\n return WebRTCModule.keyProviderExportKey(params)\n .then(data => base64.toByteArray(data['result']));\n }\n\n async setSifTrailer(trailer: Uint8Array) {\n const params = {\n keyProviderId: this._id,\n 'sifTrailer': base64.fromByteArray(trailer),\n };\n\n return WebRTCModule.keyProviderSetSifTrailer(params);\n }\n\n async dispose() {\n const params = {\n keyProviderId: this._id,\n };\n\n return WebRTCModule.keyProviderDispose(params);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import ReactNative, { UIManager } from 'react-native';
|
|
4
|
+
import RTCView from './RTCView';
|
|
5
|
+
/**
|
|
6
|
+
* A convenience wrapper around RTCView to handle the fallback view as a prop.
|
|
7
|
+
*/
|
|
8
|
+
const RTCPIPView = /*#__PURE__*/forwardRef((props, ref) => {
|
|
9
|
+
var _rtcViewProps$iosPIP, _rtcViewProps$iosPIP2;
|
|
10
|
+
const rtcViewProps = {
|
|
11
|
+
...props
|
|
12
|
+
};
|
|
13
|
+
const fallbackView = (_rtcViewProps$iosPIP = rtcViewProps.iosPIP) === null || _rtcViewProps$iosPIP === void 0 ? void 0 : _rtcViewProps$iosPIP.fallbackView;
|
|
14
|
+
(_rtcViewProps$iosPIP2 = rtcViewProps.iosPIP) === null || _rtcViewProps$iosPIP2 === void 0 ? true : delete _rtcViewProps$iosPIP2.fallbackView;
|
|
15
|
+
return /*#__PURE__*/React.createElement(RTCView, _extends({
|
|
16
|
+
ref: ref
|
|
17
|
+
}, rtcViewProps), fallbackView);
|
|
18
|
+
});
|
|
19
|
+
export function startIOSPIP(ref) {
|
|
20
|
+
UIManager.dispatchViewManagerCommand(ReactNative.findNodeHandle(ref.current), UIManager.getViewManagerConfig('RTCVideoView').Commands.startIOSPIP, []);
|
|
21
|
+
}
|
|
22
|
+
export function stopIOSPIP(ref) {
|
|
23
|
+
UIManager.dispatchViewManagerCommand(ReactNative.findNodeHandle(ref.current), UIManager.getViewManagerConfig('RTCVideoView').Commands.stopIOSPIP, []);
|
|
24
|
+
}
|
|
25
|
+
export default RTCPIPView;
|
|
26
|
+
//# sourceMappingURL=RTCPIPView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","ReactNative","UIManager","RTCView","RTCPIPView","props","ref","_rtcViewProps$iosPIP","_rtcViewProps$iosPIP2","rtcViewProps","fallbackView","iosPIP","React","createElement","_extends","startIOSPIP","dispatchViewManagerCommand","findNodeHandle","current","getViewManagerConfig","Commands","stopIOSPIP"],"sources":["RTCPIPView.tsx"],"sourcesContent":["import { Component, forwardRef } from 'react';\nimport ReactNative, { UIManager } from 'react-native';\n\nimport RTCView, { RTCIOSPIPOptions, RTCVideoViewProps } from './RTCView';\n\nexport interface RTCPIPViewProps extends RTCVideoViewProps {\n iosPIP?: RTCIOSPIPOptions & {\n fallbackView?: Component;\n };\n}\n\ntype RTCViewInstance = InstanceType<typeof RTCView>;\n\n/**\n * A convenience wrapper around RTCView to handle the fallback view as a prop.\n */\nconst RTCPIPView = forwardRef<RTCViewInstance, RTCPIPViewProps>((props, ref) => {\n const rtcViewProps = { ...props };\n const fallbackView = rtcViewProps.iosPIP?.fallbackView;\n\n delete rtcViewProps.iosPIP?.fallbackView;\n\n return (\n <RTCView ref={ref}\n {...rtcViewProps}>\n {fallbackView}\n </RTCView>\n );\n});\n\nexport function startIOSPIP(ref) {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(ref.current),\n UIManager.getViewManagerConfig('RTCVideoView').Commands.startIOSPIP,\n []\n );\n}\n\nexport function stopIOSPIP(ref) {\n UIManager.dispatchViewManagerCommand(\n ReactNative.findNodeHandle(ref.current),\n UIManager.getViewManagerConfig('RTCVideoView').Commands.stopIOSPIP,\n []\n );\n}\n\nexport default RTCPIPView;"],"mappings":";AAAA,SAAoBA,UAAU,QAAQ,OAAO;AAC7C,OAAOC,WAAW,IAAIC,SAAS,QAAQ,cAAc;AAErD,OAAOC,OAAO,MAA+C,WAAW;AAUxE;AACA;AACA;AACA,MAAMC,UAAU,gBAAGJ,UAAU,CAAmC,CAACK,KAAK,EAAEC,GAAG,KAAK;EAAA,IAAAC,oBAAA,EAAAC,qBAAA;EAC5E,MAAMC,YAAY,GAAG;IAAE,GAAGJ;EAAM,CAAC;EACjC,MAAMK,YAAY,IAAAH,oBAAA,GAAGE,YAAY,CAACE,MAAM,cAAAJ,oBAAA,uBAAnBA,oBAAA,CAAqBG,YAAY;EAEtD,CAAAF,qBAAA,GAAOC,YAAY,CAACE,MAAM,cAAAH,qBAAA,qBAA1B,OAAOA,qBAAA,CAAqBE,YAAY;EAExC,oBACIE,KAAA,CAAAC,aAAA,CAACV,OAAO,EAAAW,QAAA;IAACR,GAAG,EAAEA;EAAI,GACVG,YAAY,GACfC,YACI,CAAC;AAElB,CAAC,CAAC;AAEF,OAAO,SAASK,WAAWA,CAACT,GAAG,EAAE;EAC7BJ,SAAS,CAACc,0BAA0B,CAChCf,WAAW,CAACgB,cAAc,CAACX,GAAG,CAACY,OAAO,CAAC,EACvChB,SAAS,CAACiB,oBAAoB,CAAC,cAAc,CAAC,CAACC,QAAQ,CAACL,WAAW,EACnE,EACJ,CAAC;AACL;AAEA,OAAO,SAASM,UAAUA,CAACf,GAAG,EAAE;EAC5BJ,SAAS,CAACc,0BAA0B,CAChCf,WAAW,CAACgB,cAAc,CAACX,GAAG,CAACY,OAAO,CAAC,EACvChB,SAAS,CAACiB,oBAAoB,CAAC,cAAc,CAAC,CAACC,QAAQ,CAACC,UAAU,EAClE,EACJ,CAAC;AACL;AAEA,eAAejB,UAAU"}
|