@sbhjt-gr/react-native-webrtc 124.0.3 → 124.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.clang-format +11 -11
- package/.eslintignore +6 -6
- package/.nvmrc +1 -1
- package/ISSUE_TEMPLATE.md +40 -40
- package/LICENSE +22 -22
- package/README.md +103 -103
- package/android/build.gradle +37 -37
- package/android/consumer-rules.pro +3 -3
- package/android/src/main/AndroidManifest.xml +11 -11
- package/android/src/main/java/com/oney/WebRTCModule/AbstractVideoCaptureController.java +113 -113
- package/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java +338 -338
- package/android/src/main/java/com/oney/WebRTCModule/CameraEventsHandler.java +49 -49
- package/android/src/main/java/com/oney/WebRTCModule/DataChannelWrapper.java +99 -99
- package/android/src/main/java/com/oney/WebRTCModule/DataPacketCryptorManager.java +62 -62
- package/android/src/main/java/com/oney/WebRTCModule/DisplayUtils.java +16 -16
- package/android/src/main/java/com/oney/WebRTCModule/EglUtils.java +66 -66
- package/android/src/main/java/com/oney/WebRTCModule/GetUserMediaImpl.java +539 -539
- package/android/src/main/java/com/oney/WebRTCModule/LibraryLoader.java +21 -21
- package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionNotification.java +70 -70
- package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionService.java +82 -82
- package/android/src/main/java/com/oney/WebRTCModule/PeerConnectionObserver.java +588 -588
- package/android/src/main/java/com/oney/WebRTCModule/RTCCryptoManager.java +493 -493
- package/android/src/main/java/com/oney/WebRTCModule/RTCVideoViewManager.java +98 -98
- package/android/src/main/java/com/oney/WebRTCModule/ReactBridgeUtil.java +35 -35
- package/android/src/main/java/com/oney/WebRTCModule/ScreenCaptureController.java +94 -94
- package/android/src/main/java/com/oney/WebRTCModule/SerializeUtils.java +342 -342
- package/android/src/main/java/com/oney/WebRTCModule/StringUtils.java +100 -100
- package/android/src/main/java/com/oney/WebRTCModule/ThreadUtils.java +41 -41
- package/android/src/main/java/com/oney/WebRTCModule/TrackCapturerEventsEmitter.java +34 -34
- package/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java +137 -137
- package/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java +1649 -1643
- package/android/src/main/java/com/oney/WebRTCModule/WebRTCModuleOptions.java +33 -33
- package/android/src/main/java/com/oney/WebRTCModule/WebRTCModulePackage.java +21 -21
- package/android/src/main/java/com/oney/WebRTCModule/WebRTCView.java +583 -583
- package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraClient.java +529 -501
- package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraConfig.java +17 -17
- package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraListener.java +7 -7
- package/android/src/main/java/com/oney/WebRTCModule/videoEffects/ProcessorProvider.java +38 -38
- package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoEffectProcessor.java +59 -59
- package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessor.java +19 -19
- package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessorFactoryInterface.java +12 -12
- package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoDecoderFactory.java +73 -73
- package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoEncoderFactory.java +73 -73
- package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoDecoderFactoryProxy.java +36 -36
- package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoEncoderFactoryProxy.java +36 -36
- package/android/src/main/java/org/webrtc/Camera1Helper.java +54 -54
- package/android/src/main/java/org/webrtc/Camera2Helper.java +52 -52
- package/android/src/main/res/values/strings.xml +5 -5
- package/android/src/main/res/values/styles.xml +8 -8
- package/ios/RCTWebRTC/CaptureController.h +18 -18
- package/ios/RCTWebRTC/CaptureController.m +28 -28
- package/ios/RCTWebRTC/CapturerEventsDelegate.h +12 -12
- package/ios/RCTWebRTC/DataChannelWrapper.h +27 -27
- package/ios/RCTWebRTC/DataChannelWrapper.m +42 -42
- package/ios/RCTWebRTC/I420Converter.h +22 -22
- package/ios/RCTWebRTC/I420Converter.m +164 -164
- package/ios/RCTWebRTC/PIPController.h +24 -24
- package/ios/RCTWebRTC/PIPController.m +234 -234
- package/ios/RCTWebRTC/PalabraAudioSink.h +13 -13
- package/ios/RCTWebRTC/PalabraAudioSink.m +18 -18
- package/ios/RCTWebRTC/PalabraClient.h +42 -36
- package/ios/RCTWebRTC/PalabraClient.m +680 -644
- package/ios/RCTWebRTC/RCTConvert+WebRTC.h +16 -16
- package/ios/RCTWebRTC/RCTConvert+WebRTC.m +206 -206
- package/ios/RCTWebRTC/RTCMediaStreamTrack+React.h +10 -10
- package/ios/RCTWebRTC/RTCMediaStreamTrack+React.m +16 -16
- package/ios/RCTWebRTC/RTCVideoViewManager.h +29 -29
- package/ios/RCTWebRTC/RTCVideoViewManager.m +411 -411
- package/ios/RCTWebRTC/SampleBufferVideoCallView.h +12 -12
- package/ios/RCTWebRTC/SampleBufferVideoCallView.m +178 -178
- package/ios/RCTWebRTC/ScreenCaptureController.h +20 -20
- package/ios/RCTWebRTC/ScreenCaptureController.m +82 -82
- package/ios/RCTWebRTC/ScreenCapturePickerViewManager.h +7 -7
- package/ios/RCTWebRTC/ScreenCapturePickerViewManager.m +59 -59
- package/ios/RCTWebRTC/ScreenCapturer.h +19 -19
- package/ios/RCTWebRTC/ScreenCapturer.m +263 -263
- package/ios/RCTWebRTC/SerializeUtils.h +28 -28
- package/ios/RCTWebRTC/SerializeUtils.m +314 -314
- package/ios/RCTWebRTC/SocketConnection.h +13 -13
- package/ios/RCTWebRTC/SocketConnection.m +137 -137
- package/ios/RCTWebRTC/TrackCapturerEventsEmitter.h +14 -14
- package/ios/RCTWebRTC/TrackCapturerEventsEmitter.m +36 -36
- package/ios/RCTWebRTC/VideoCaptureController.h +21 -21
- package/ios/RCTWebRTC/VideoCaptureController.m +328 -328
- package/ios/RCTWebRTC/WLVAudioDevice.h +12 -12
- package/ios/RCTWebRTC/WLVAudioDevice.m +137 -137
- package/ios/RCTWebRTC/WebRTCModule+Palabra.h +4 -4
- package/ios/RCTWebRTC/WebRTCModule+Palabra.m +92 -83
- package/ios/RCTWebRTC/WebRTCModule+Permissions.m +75 -75
- package/ios/RCTWebRTC/WebRTCModule+RTCAudioSession.m +20 -20
- package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.h +14 -14
- package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m +165 -165
- package/ios/RCTWebRTC/WebRTCModule+RTCFrameCryptor.m +611 -611
- package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.h +13 -13
- package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m +728 -728
- package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.h +24 -24
- package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m +1004 -1004
- package/ios/RCTWebRTC/WebRTCModule+Transceivers.m +267 -267
- package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.h +12 -12
- package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.m +166 -166
- package/ios/RCTWebRTC/WebRTCModule.h +58 -58
- package/ios/RCTWebRTC/WebRTCModule.m +169 -169
- package/ios/RCTWebRTC/WebRTCModuleOptions.h +24 -24
- package/ios/RCTWebRTC/WebRTCModuleOptions.m +31 -31
- package/ios/RCTWebRTC/videoEffects/ProcessorProvider.h +9 -9
- package/ios/RCTWebRTC/videoEffects/ProcessorProvider.m +23 -23
- package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.h +13 -13
- package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.m +23 -23
- package/ios/RCTWebRTC/videoEffects/VideoFrameProcessor.h +8 -8
- package/ios/RCTWebRTC.xcodeproj/project.pbxproj +404 -404
- package/ios/RCTWebRTC.xcworkspace/contents.xcworkspacedata +10 -10
- package/lib/commonjs/Constraints.js.map +1 -1
- package/lib/commonjs/EventEmitter.js.map +1 -1
- package/lib/commonjs/Logger.js.map +1 -1
- package/lib/commonjs/MediaDevices.js +17 -17
- package/lib/commonjs/MediaDevices.js.map +1 -1
- package/lib/commonjs/MediaStream.js +19 -19
- package/lib/commonjs/MediaStream.js.map +1 -1
- package/lib/commonjs/MediaStreamError.js.map +1 -1
- package/lib/commonjs/MediaStreamErrorEvent.js.map +1 -1
- package/lib/commonjs/MediaStreamTrack.js +28 -28
- package/lib/commonjs/MediaStreamTrack.js.map +1 -1
- package/lib/commonjs/MediaStreamTrackEvent.js +6 -6
- package/lib/commonjs/MediaStreamTrackEvent.js.map +1 -1
- package/lib/commonjs/MessageEvent.js +7 -7
- package/lib/commonjs/MessageEvent.js.map +1 -1
- package/lib/commonjs/Permissions.js +28 -28
- package/lib/commonjs/Permissions.js.map +1 -1
- package/lib/commonjs/RTCAudioSession.js +4 -4
- package/lib/commonjs/RTCAudioSession.js.map +1 -1
- package/lib/commonjs/RTCDataChannel.js +2 -2
- package/lib/commonjs/RTCDataChannel.js.map +1 -1
- package/lib/commonjs/RTCDataChannelEvent.js +6 -6
- package/lib/commonjs/RTCDataChannelEvent.js.map +1 -1
- package/lib/commonjs/RTCDataPacketCryptor.js.map +1 -1
- package/lib/commonjs/RTCDataPacketCryptorFactory.js.map +1 -1
- package/lib/commonjs/RTCErrorEvent.js +3 -3
- package/lib/commonjs/RTCErrorEvent.js.map +1 -1
- package/lib/commonjs/RTCFrameCryptor.js +8 -8
- package/lib/commonjs/RTCFrameCryptor.js.map +1 -1
- package/lib/commonjs/RTCFrameCryptorFactory.js.map +1 -1
- package/lib/commonjs/RTCIceCandidate.js.map +1 -1
- package/lib/commonjs/RTCIceCandidateEvent.js +7 -7
- package/lib/commonjs/RTCIceCandidateEvent.js.map +1 -1
- package/lib/commonjs/RTCKeyProvider.js.map +1 -1
- package/lib/commonjs/RTCPIPView.js +2 -2
- package/lib/commonjs/RTCPIPView.js.map +1 -1
- package/lib/commonjs/RTCPIPView.web.js.map +1 -1
- package/lib/commonjs/RTCPeerConnection.js +36 -36
- package/lib/commonjs/RTCPeerConnection.js.map +1 -1
- package/lib/commonjs/RTCRtcpParameters.js.map +1 -1
- package/lib/commonjs/RTCRtpCapabilities.js +2 -2
- package/lib/commonjs/RTCRtpCapabilities.js.map +1 -1
- package/lib/commonjs/RTCRtpCodecCapability.js.map +1 -1
- package/lib/commonjs/RTCRtpCodecParameters.js.map +1 -1
- package/lib/commonjs/RTCRtpEncodingParameters.js.map +1 -1
- package/lib/commonjs/RTCRtpHeaderExtension.js.map +1 -1
- package/lib/commonjs/RTCRtpParameters.js.map +1 -1
- package/lib/commonjs/RTCRtpReceiveParameters.js.map +1 -1
- package/lib/commonjs/RTCRtpReceiver.js +7 -7
- package/lib/commonjs/RTCRtpReceiver.js.map +1 -1
- package/lib/commonjs/RTCRtpSendParameters.js +3 -3
- package/lib/commonjs/RTCRtpSendParameters.js.map +1 -1
- package/lib/commonjs/RTCRtpSender.js +7 -7
- package/lib/commonjs/RTCRtpSender.js.map +1 -1
- package/lib/commonjs/RTCRtpTransceiver.js.map +1 -1
- package/lib/commonjs/RTCSessionDescription.js.map +1 -1
- package/lib/commonjs/RTCTrackEvent.js +6 -6
- package/lib/commonjs/RTCTrackEvent.js.map +1 -1
- package/lib/commonjs/RTCUtil.js +28 -28
- package/lib/commonjs/RTCUtil.js.map +1 -1
- package/lib/commonjs/RTCView.js +5 -5
- package/lib/commonjs/RTCView.js.map +1 -1
- package/lib/commonjs/RTCView.web.js.map +1 -1
- package/lib/commonjs/ScreenCapturePickerView.js.map +1 -1
- package/lib/commonjs/ScreenCapturePickerView.web.js.map +1 -1
- package/lib/commonjs/getDisplayMedia.js.map +1 -1
- package/lib/commonjs/getUserMedia.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/webStream.js.map +1 -1
- package/lib/module/Constraints.js.map +1 -1
- package/lib/module/EventEmitter.js.map +1 -1
- package/lib/module/Logger.js.map +1 -1
- package/lib/module/MediaDevices.js +17 -17
- package/lib/module/MediaDevices.js.map +1 -1
- package/lib/module/MediaStream.js +19 -19
- package/lib/module/MediaStream.js.map +1 -1
- package/lib/module/MediaStreamError.js.map +1 -1
- package/lib/module/MediaStreamErrorEvent.js.map +1 -1
- package/lib/module/MediaStreamTrack.js +28 -28
- package/lib/module/MediaStreamTrack.js.map +1 -1
- package/lib/module/MediaStreamTrackEvent.js +6 -6
- package/lib/module/MediaStreamTrackEvent.js.map +1 -1
- package/lib/module/MessageEvent.js +7 -7
- package/lib/module/MessageEvent.js.map +1 -1
- package/lib/module/Permissions.js +28 -28
- package/lib/module/Permissions.js.map +1 -1
- package/lib/module/RTCAudioSession.js +4 -4
- package/lib/module/RTCAudioSession.js.map +1 -1
- package/lib/module/RTCDataChannel.js +2 -2
- package/lib/module/RTCDataChannel.js.map +1 -1
- package/lib/module/RTCDataChannelEvent.js +6 -6
- package/lib/module/RTCDataChannelEvent.js.map +1 -1
- package/lib/module/RTCDataPacketCryptor.js.map +1 -1
- package/lib/module/RTCDataPacketCryptorFactory.js.map +1 -1
- package/lib/module/RTCErrorEvent.js +3 -3
- package/lib/module/RTCErrorEvent.js.map +1 -1
- package/lib/module/RTCFrameCryptor.js +8 -8
- package/lib/module/RTCFrameCryptor.js.map +1 -1
- package/lib/module/RTCFrameCryptorFactory.js.map +1 -1
- package/lib/module/RTCIceCandidate.js.map +1 -1
- package/lib/module/RTCIceCandidateEvent.js +7 -7
- package/lib/module/RTCIceCandidateEvent.js.map +1 -1
- package/lib/module/RTCKeyProvider.js.map +1 -1
- package/lib/module/RTCPIPView.js +2 -2
- package/lib/module/RTCPIPView.js.map +1 -1
- package/lib/module/RTCPIPView.web.js.map +1 -1
- package/lib/module/RTCPeerConnection.js +36 -36
- package/lib/module/RTCPeerConnection.js.map +1 -1
- package/lib/module/RTCRtcpParameters.js.map +1 -1
- package/lib/module/RTCRtpCapabilities.js +2 -2
- package/lib/module/RTCRtpCapabilities.js.map +1 -1
- package/lib/module/RTCRtpCodecCapability.js.map +1 -1
- package/lib/module/RTCRtpCodecParameters.js.map +1 -1
- package/lib/module/RTCRtpEncodingParameters.js.map +1 -1
- package/lib/module/RTCRtpHeaderExtension.js.map +1 -1
- package/lib/module/RTCRtpParameters.js.map +1 -1
- package/lib/module/RTCRtpReceiveParameters.js.map +1 -1
- package/lib/module/RTCRtpReceiver.js +7 -7
- package/lib/module/RTCRtpReceiver.js.map +1 -1
- package/lib/module/RTCRtpSendParameters.js +3 -3
- package/lib/module/RTCRtpSendParameters.js.map +1 -1
- package/lib/module/RTCRtpSender.js +7 -7
- package/lib/module/RTCRtpSender.js.map +1 -1
- package/lib/module/RTCRtpTransceiver.js.map +1 -1
- package/lib/module/RTCSessionDescription.js.map +1 -1
- package/lib/module/RTCTrackEvent.js +6 -6
- package/lib/module/RTCTrackEvent.js.map +1 -1
- package/lib/module/RTCUtil.js +28 -28
- package/lib/module/RTCUtil.js.map +1 -1
- package/lib/module/RTCView.js +5 -5
- package/lib/module/RTCView.js.map +1 -1
- package/lib/module/RTCView.web.js.map +1 -1
- package/lib/module/ScreenCapturePickerView.js.map +1 -1
- package/lib/module/ScreenCapturePickerView.web.js.map +1 -1
- package/lib/module/getDisplayMedia.js.map +1 -1
- package/lib/module/getUserMedia.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/webStream.js.map +1 -1
- package/lib/typescript/Constraints.d.ts +19 -19
- package/lib/typescript/EventEmitter.d.ts +6 -6
- package/lib/typescript/Logger.d.ts +13 -13
- package/lib/typescript/MediaDevices.d.ts +30 -30
- package/lib/typescript/MediaStream.d.ts +48 -48
- package/lib/typescript/MediaStreamError.d.ts +6 -6
- package/lib/typescript/MediaStreamErrorEvent.d.ts +6 -6
- package/lib/typescript/MediaStreamTrack.d.ts +101 -101
- package/lib/typescript/MediaStreamTrackEvent.d.ts +19 -19
- package/lib/typescript/MessageEvent.d.ts +20 -20
- package/lib/typescript/Permissions.d.ts +55 -55
- package/lib/typescript/RTCAudioSession.d.ts +10 -10
- package/lib/typescript/RTCDataChannel.d.ts +43 -43
- package/lib/typescript/RTCDataChannelEvent.d.ts +19 -19
- package/lib/typescript/RTCDataPacketCryptor.d.ts +12 -12
- package/lib/typescript/RTCDataPacketCryptorFactory.d.ts +6 -6
- package/lib/typescript/RTCErrorEvent.d.ts +12 -12
- package/lib/typescript/RTCFrameCryptor.d.ts +47 -47
- package/lib/typescript/RTCFrameCryptorFactory.d.ts +21 -21
- package/lib/typescript/RTCIceCandidate.d.ts +17 -17
- package/lib/typescript/RTCIceCandidateEvent.d.ts +20 -20
- package/lib/typescript/RTCKeyProvider.d.ts +21 -21
- package/lib/typescript/RTCPIPView.d.ts +15 -15
- package/lib/typescript/RTCPIPView.web.d.ts +13 -13
- package/lib/typescript/RTCPeerConnection.d.ts +117 -117
- package/lib/typescript/RTCRtcpParameters.d.ts +10 -10
- package/lib/typescript/RTCRtpCapabilities.d.ts +9 -9
- package/lib/typescript/RTCRtpCodecCapability.d.ts +7 -7
- package/lib/typescript/RTCRtpCodecParameters.d.ts +16 -16
- package/lib/typescript/RTCRtpEncodingParameters.d.ts +23 -23
- package/lib/typescript/RTCRtpHeaderExtension.d.ts +12 -12
- package/lib/typescript/RTCRtpParameters.d.ts +19 -19
- package/lib/typescript/RTCRtpReceiveParameters.d.ts +4 -4
- package/lib/typescript/RTCRtpReceiver.d.ts +21 -21
- package/lib/typescript/RTCRtpSendParameters.d.ts +20 -20
- package/lib/typescript/RTCRtpSender.d.ts +22 -22
- package/lib/typescript/RTCRtpTransceiver.d.ts +31 -31
- package/lib/typescript/RTCSessionDescription.d.ts +12 -12
- package/lib/typescript/RTCTrackEvent.d.ts +29 -29
- package/lib/typescript/RTCUtil.d.ts +37 -37
- package/lib/typescript/RTCView.d.ts +117 -117
- package/lib/typescript/RTCView.web.d.ts +25 -25
- package/lib/typescript/ScreenCapturePickerView.d.ts +2 -2
- package/lib/typescript/ScreenCapturePickerView.web.d.ts +1 -1
- package/lib/typescript/getDisplayMedia.d.ts +2 -2
- package/lib/typescript/getUserMedia.d.ts +7 -7
- package/lib/typescript/index.d.ts +22 -22
- package/lib/typescript/index.web.d.ts +101 -101
- package/lib/typescript/webStream.d.ts +3 -3
- package/livekit-react-native-webrtc.podspec +29 -29
- package/macos/RCTWebRTC.xcodeproj/project.pbxproj +324 -324
- package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -7
- package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -8
- package/metro.config.js +7 -7
- package/metro.config.macos.js +14 -14
- package/package.json +66 -66
- package/react-native.config.js +11 -11
- package/src/.eslintrc.cjs +67 -67
- package/src/Constraints.ts +20 -20
- package/src/EventEmitter.ts +65 -65
- package/src/Logger.ts +49 -49
- package/src/MediaDevices.ts +53 -53
- package/src/MediaStream.ts +161 -161
- package/src/MediaStreamError.ts +12 -12
- package/src/MediaStreamErrorEvent.ts +11 -11
- package/src/MediaStreamTrack.ts +282 -282
- package/src/MediaStreamTrackEvent.ts +25 -25
- package/src/MessageEvent.ts +26 -26
- package/src/Permissions.ts +133 -133
- package/src/RTCAudioSession.ts +25 -25
- package/src/RTCDataChannel.ts +190 -190
- package/src/RTCDataChannelEvent.ts +28 -28
- package/src/RTCDataPacketCryptor.ts +90 -90
- package/src/RTCDataPacketCryptorFactory.ts +24 -24
- package/src/RTCErrorEvent.ts +20 -20
- package/src/RTCFrameCryptor.ts +162 -162
- package/src/RTCFrameCryptorFactory.ts +101 -101
- package/src/RTCIceCandidate.ts +29 -29
- package/src/RTCIceCandidateEvent.ts +26 -26
- package/src/RTCKeyProvider.ts +117 -117
- package/src/RTCPIPView.tsx +46 -46
- package/src/RTCPIPView.web.tsx +18 -18
- package/src/RTCPeerConnection.ts +935 -935
- package/src/RTCRtcpParameters.ts +23 -23
- package/src/RTCRtpCapabilities.ts +16 -16
- package/src/RTCRtpCodecCapability.ts +12 -12
- package/src/RTCRtpCodecParameters.ts +44 -44
- package/src/RTCRtpEncodingParameters.ts +90 -90
- package/src/RTCRtpHeaderExtension.ts +27 -27
- package/src/RTCRtpParameters.ts +37 -37
- package/src/RTCRtpReceiveParameters.ts +7 -7
- package/src/RTCRtpReceiver.ts +60 -60
- package/src/RTCRtpSendParameters.ts +63 -63
- package/src/RTCRtpSender.ts +78 -78
- package/src/RTCRtpTransceiver.ts +107 -107
- package/src/RTCSessionDescription.ts +30 -30
- package/src/RTCTrackEvent.ts +42 -42
- package/src/RTCUtil.ts +211 -211
- package/src/RTCView.ts +122 -122
- package/src/RTCView.web.tsx +80 -80
- package/src/ScreenCapturePickerView.ts +4 -4
- package/src/ScreenCapturePickerView.web.tsx +3 -3
- package/src/getDisplayMedia.ts +30 -30
- package/src/getUserMedia.ts +136 -136
- package/src/index.ts +107 -107
- package/src/index.web.ts +191 -191
- package/src/webStream.ts +31 -31
- package/tools/format.sh +6 -6
- package/tools/release.sh +45 -45
- package/tsconfig.json +17 -17
package/.clang-format
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
---
|
|
2
|
-
BasedOnStyle: Chromium
|
|
3
|
-
BinPackArguments: 'false'
|
|
4
|
-
ColumnLimit: '120'
|
|
5
|
-
IndentWidth: '4'
|
|
6
|
-
ObjCBlockIndentWidth: '4'
|
|
7
|
-
ObjCSpaceBeforeProtocolList: 'false'
|
|
8
|
-
PointerAlignment: Right
|
|
9
|
-
UseTab: Never
|
|
10
|
-
|
|
11
|
-
...
|
|
1
|
+
---
|
|
2
|
+
BasedOnStyle: Chromium
|
|
3
|
+
BinPackArguments: 'false'
|
|
4
|
+
ColumnLimit: '120'
|
|
5
|
+
IndentWidth: '4'
|
|
6
|
+
ObjCBlockIndentWidth: '4'
|
|
7
|
+
ObjCSpaceBeforeProtocolList: 'false'
|
|
8
|
+
PointerAlignment: Right
|
|
9
|
+
UseTab: Never
|
|
10
|
+
|
|
11
|
+
...
|
package/.eslintignore
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
examples
|
|
2
|
-
lib
|
|
3
|
-
tools
|
|
4
|
-
|
|
5
|
-
metro.*.js
|
|
6
|
-
react-native.config.js
|
|
1
|
+
examples
|
|
2
|
+
lib
|
|
3
|
+
tools
|
|
4
|
+
|
|
5
|
+
metro.*.js
|
|
6
|
+
react-native.config.js
|
package/.nvmrc
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
22
|
|
1
|
+
22
|
package/ISSUE_TEMPLATE.md
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
If you have any questions then please use our Community Discourse: https://react-native-webrtc.discourse.group/
|
|
3
|
-
Otherwise you are in the right place for reporting bugs.
|
|
4
|
-
|
|
5
|
-
Please include as much information as possible and make the issue title as descriptive as you can.
|
|
6
|
-
But most of all please take your time and explain to the best of your abilities.
|
|
7
|
-
|
|
8
|
-
Code samples can be very helpful but even more so if displayed correctly.
|
|
9
|
-
Here is an example of how you can use syntax highlighting.
|
|
10
|
-
|
|
11
|
-
```javascript
|
|
12
|
-
|
|
13
|
-
console.log( 'Hello World' );
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
More info can be found over here.
|
|
18
|
-
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting
|
|
19
|
-
-->
|
|
20
|
-
|
|
21
|
-
#### Expected Behavior:
|
|
22
|
-
<!--
|
|
23
|
-
Explain what you expect to happen.
|
|
24
|
-
-->
|
|
25
|
-
|
|
26
|
-
#### Observed Behavior:
|
|
27
|
-
<!--
|
|
28
|
-
Explain what is actually happening.
|
|
29
|
-
-->
|
|
30
|
-
|
|
31
|
-
#### Steps to reproduce the issue:
|
|
32
|
-
<!--
|
|
33
|
-
Explain how the issue can be reproduced.
|
|
34
|
-
If we manage to reproduce the issue then it is more likely to be addressed in an update.
|
|
35
|
-
-->
|
|
36
|
-
|
|
37
|
-
#### Platform Information
|
|
38
|
-
* **React Native Version**:
|
|
39
|
-
* **WebRTC Module Version**:
|
|
40
|
-
* **Platform OS + Version**: <!-- Android / iOS / macOS / Web / Expo -->
|
|
1
|
+
<!--
|
|
2
|
+
If you have any questions then please use our Community Discourse: https://react-native-webrtc.discourse.group/
|
|
3
|
+
Otherwise you are in the right place for reporting bugs.
|
|
4
|
+
|
|
5
|
+
Please include as much information as possible and make the issue title as descriptive as you can.
|
|
6
|
+
But most of all please take your time and explain to the best of your abilities.
|
|
7
|
+
|
|
8
|
+
Code samples can be very helpful but even more so if displayed correctly.
|
|
9
|
+
Here is an example of how you can use syntax highlighting.
|
|
10
|
+
|
|
11
|
+
```javascript
|
|
12
|
+
|
|
13
|
+
console.log( 'Hello World' );
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
More info can be found over here.
|
|
18
|
+
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting
|
|
19
|
+
-->
|
|
20
|
+
|
|
21
|
+
#### Expected Behavior:
|
|
22
|
+
<!--
|
|
23
|
+
Explain what you expect to happen.
|
|
24
|
+
-->
|
|
25
|
+
|
|
26
|
+
#### Observed Behavior:
|
|
27
|
+
<!--
|
|
28
|
+
Explain what is actually happening.
|
|
29
|
+
-->
|
|
30
|
+
|
|
31
|
+
#### Steps to reproduce the issue:
|
|
32
|
+
<!--
|
|
33
|
+
Explain how the issue can be reproduced.
|
|
34
|
+
If we manage to reproduce the issue then it is more likely to be addressed in an update.
|
|
35
|
+
-->
|
|
36
|
+
|
|
37
|
+
#### Platform Information
|
|
38
|
+
* **React Native Version**:
|
|
39
|
+
* **WebRTC Module Version**:
|
|
40
|
+
* **Platform OS + Version**: <!-- Android / iOS / macOS / Web / Expo -->
|
package/LICENSE
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2017-present React Native WebRTC Community
|
|
4
|
-
Copyright (c) 2015-2017 Howard Yang
|
|
5
|
-
|
|
6
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
in the Software without restriction, including without limitation the rights
|
|
9
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
furnished to do so, subject to the following conditions:
|
|
12
|
-
|
|
13
|
-
The above copyright notice and this permission notice shall be included in all
|
|
14
|
-
copies or substantial portions of the Software.
|
|
15
|
-
|
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
-
SOFTWARE.
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017-present React Native WebRTC Community
|
|
4
|
+
Copyright (c) 2015-2017 Howard Yang
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
[<img src="https://avatars.githubusercontent.com/u/42463376" alt="React Native WebRTC" style="height: 6em;" />](https://github.com/react-native-webrtc/react-native-webrtc)
|
|
2
|
-
|
|
3
|
-
# React-Native-WebRTC for LiveKit (WiLang Fork)
|
|
4
|
-
[](https://www.npmjs.com/package/@sbhjt-gr/react-native-webrtc)
|
|
5
|
-
[](https://react-native-webrtc.discourse.group/)
|
|
6
|
-
|
|
7
|
-
A WebRTC module for React Native with native Palabra AI translation support.
|
|
8
|
-
|
|
9
|
-
> [!NOTE]
|
|
10
|
-
> This is a fork with integrated Palabra translation for real-time speech-to-speech translation during WebRTC calls.
|
|
11
|
-
> Used by WiLang app for video/voice call translation.
|
|
12
|
-
|
|
13
|
-
## Palabra Translation
|
|
14
|
-
|
|
15
|
-
This fork adds native Palabra AI integration for translating remote peer audio in real-time:
|
|
16
|
-
|
|
17
|
-
```javascript
|
|
18
|
-
import { startPalabraTranslation, stopPalabraTranslation } from '@sbhjt-gr/react-native-webrtc';
|
|
19
|
-
|
|
20
|
-
await startPalabraTranslation(
|
|
21
|
-
peerConnectionId,
|
|
22
|
-
remoteAudioTrackId,
|
|
23
|
-
PALABRA_CLIENT_ID,
|
|
24
|
-
PALABRA_CLIENT_SECRET,
|
|
25
|
-
'en',
|
|
26
|
-
'es',
|
|
27
|
-
'https://api.palabra.ai'
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
await stopPalabraTranslation();
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Feature Overview
|
|
34
|
-
|
|
35
|
-
| | Android | iOS | tvOS | macOS* | Windows* | Web* | Expo* |
|
|
36
|
-
| :- | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
|
|
37
|
-
| Audio/Video | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
38
|
-
| Data Channels | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
39
|
-
| Screen Capture | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
40
|
-
| Plan B | - | - | - | - | - | - | - |
|
|
41
|
-
| Unified Plan* | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
42
|
-
| Simulcast* | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
43
|
-
|
|
44
|
-
> **macOS** - We don't currently actively support macOS at this time.
|
|
45
|
-
Support might return in the future.
|
|
46
|
-
|
|
47
|
-
> **Windows** - We don't currently support the [react-native-windows](https://github.com/microsoft/react-native-windows) platform at this time.
|
|
48
|
-
Anyone interested in getting the ball rolling? We're open to contributions.
|
|
49
|
-
|
|
50
|
-
> **Web** - The [react-native-webrtc-web-shim](https://github.com/react-native-webrtc/react-native-webrtc-web-shim) project provides a shim for [react-native-web](https://github.com/necolas/react-native-web) support.
|
|
51
|
-
Which will allow you to use [(almost)](https://github.com/react-native-webrtc/react-native-webrtc-web-shim/tree/main#setup) the exact same code in your [react-native-web](https://github.com/necolas/react-native-web) project as you would with [react-native](https://reactnative.dev/) directly.
|
|
52
|
-
|
|
53
|
-
> **Expo** - As this module includes native code it is not available in the [Expo Go](https://expo.dev/client) app by default.
|
|
54
|
-
However you can get things working via the [expo-dev-client](https://docs.expo.dev/development/getting-started/) library and out-of-tree [config-plugins/react-native-webrtc](https://github.com/expo/config-plugins/tree/master/packages/react-native-webrtc) package.
|
|
55
|
-
|
|
56
|
-
> **Unified Plan** - As of version 106.0.0 Unified Plan is the only supported mode.
|
|
57
|
-
Those still in need of Plan B will need to use an older release.
|
|
58
|
-
|
|
59
|
-
> **Simulcast** - As of version 111.0.0 Simulcast is now possible with ease.
|
|
60
|
-
Software encode/decode factories have been enabled by default.
|
|
61
|
-
|
|
62
|
-
## WebRTC Revision
|
|
63
|
-
|
|
64
|
-
* Currently used revision: [M125](https://github.com/webrtc-sdk/webrtc/tree/m125_release)
|
|
65
|
-
* Supported architectures
|
|
66
|
-
* Android: armeabi-v7a, arm64-v8a, x86, x86_64
|
|
67
|
-
* iOS: arm64, x86_64
|
|
68
|
-
* tvOS: arm64
|
|
69
|
-
* macOS: arm64, x86_64
|
|
70
|
-
|
|
71
|
-
## Getting Started
|
|
72
|
-
|
|
73
|
-
Use one of the following preferred package install methods to immediately get going.
|
|
74
|
-
Don't forget to follow platform guides below to cover any extra required steps.
|
|
75
|
-
|
|
76
|
-
**npm:** `npm install @sbhjt-gr/react-native-webrtc --save`
|
|
77
|
-
**yarn:** `yarn add @sbhjt-gr/react-native-webrtc`
|
|
78
|
-
**pnpm:** `pnpm install @sbhjt-gr/react-native-webrtc`
|
|
79
|
-
|
|
80
|
-
## Guides
|
|
81
|
-
|
|
82
|
-
- [Android Install](./Documentation/AndroidInstallation.md)
|
|
83
|
-
- [iOS Install](./Documentation/iOSInstallation.md)
|
|
84
|
-
- [tvOS Install](./Documentation/tvOSInstallation.md)
|
|
85
|
-
- [Basic Usage](./Documentation/BasicUsage.md)
|
|
86
|
-
- [Step by Step Call Guide](./Documentation/CallGuide.md)
|
|
87
|
-
- [Improving Call Reliability](./Documentation/ImprovingCallReliability.md)
|
|
88
|
-
- [Migrating to Unified Plan](https://docs.google.com/document/d/1-ZfikoUtoJa9k-GZG1daN0BU3IjIanQ_JSscHxQesvU/edit#heading=h.wuu7dx8tnifl)
|
|
89
|
-
|
|
90
|
-
## Example Projects
|
|
91
|
-
|
|
92
|
-
We have some very basic example projects included in the [examples](./examples) directory.
|
|
93
|
-
Don't worry, there are plans to include a much more broader example with backend included.
|
|
94
|
-
|
|
95
|
-
## Community
|
|
96
|
-
|
|
97
|
-
Come join our [Discourse Community](https://react-native-webrtc.discourse.group/) if you want to discuss any React Native and WebRTC related topics.
|
|
98
|
-
Everyone is welcome and every little helps.
|
|
99
|
-
|
|
100
|
-
## Related Projects
|
|
101
|
-
|
|
102
|
-
Looking for extra functionality coverage?
|
|
103
|
-
The [react-native-webrtc](https://github.com/react-native-webrtc) organization provides a number of packages which are more than useful when developing Real Time Communication applications.
|
|
1
|
+
[<img src="https://avatars.githubusercontent.com/u/42463376" alt="React Native WebRTC" style="height: 6em;" />](https://github.com/react-native-webrtc/react-native-webrtc)
|
|
2
|
+
|
|
3
|
+
# React-Native-WebRTC for LiveKit (WiLang Fork)
|
|
4
|
+
[](https://www.npmjs.com/package/@sbhjt-gr/react-native-webrtc)
|
|
5
|
+
[](https://react-native-webrtc.discourse.group/)
|
|
6
|
+
|
|
7
|
+
A WebRTC module for React Native with native Palabra AI translation support.
|
|
8
|
+
|
|
9
|
+
> [!NOTE]
|
|
10
|
+
> This is a fork with integrated Palabra translation for real-time speech-to-speech translation during WebRTC calls.
|
|
11
|
+
> Used by WiLang app for video/voice call translation.
|
|
12
|
+
|
|
13
|
+
## Palabra Translation
|
|
14
|
+
|
|
15
|
+
This fork adds native Palabra AI integration for translating remote peer audio in real-time:
|
|
16
|
+
|
|
17
|
+
```javascript
|
|
18
|
+
import { startPalabraTranslation, stopPalabraTranslation } from '@sbhjt-gr/react-native-webrtc';
|
|
19
|
+
|
|
20
|
+
await startPalabraTranslation(
|
|
21
|
+
peerConnectionId,
|
|
22
|
+
remoteAudioTrackId,
|
|
23
|
+
PALABRA_CLIENT_ID,
|
|
24
|
+
PALABRA_CLIENT_SECRET,
|
|
25
|
+
'en',
|
|
26
|
+
'es',
|
|
27
|
+
'https://api.palabra.ai'
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
await stopPalabraTranslation();
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Feature Overview
|
|
34
|
+
|
|
35
|
+
| | Android | iOS | tvOS | macOS* | Windows* | Web* | Expo* |
|
|
36
|
+
| :- | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
|
|
37
|
+
| Audio/Video | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
38
|
+
| Data Channels | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
39
|
+
| Screen Capture | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
40
|
+
| Plan B | - | - | - | - | - | - | - |
|
|
41
|
+
| Unified Plan* | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
42
|
+
| Simulcast* | :heavy_check_mark: | :heavy_check_mark: | - | - | - | :heavy_check_mark: | :heavy_check_mark: |
|
|
43
|
+
|
|
44
|
+
> **macOS** - We don't currently actively support macOS at this time.
|
|
45
|
+
Support might return in the future.
|
|
46
|
+
|
|
47
|
+
> **Windows** - We don't currently support the [react-native-windows](https://github.com/microsoft/react-native-windows) platform at this time.
|
|
48
|
+
Anyone interested in getting the ball rolling? We're open to contributions.
|
|
49
|
+
|
|
50
|
+
> **Web** - The [react-native-webrtc-web-shim](https://github.com/react-native-webrtc/react-native-webrtc-web-shim) project provides a shim for [react-native-web](https://github.com/necolas/react-native-web) support.
|
|
51
|
+
Which will allow you to use [(almost)](https://github.com/react-native-webrtc/react-native-webrtc-web-shim/tree/main#setup) the exact same code in your [react-native-web](https://github.com/necolas/react-native-web) project as you would with [react-native](https://reactnative.dev/) directly.
|
|
52
|
+
|
|
53
|
+
> **Expo** - As this module includes native code it is not available in the [Expo Go](https://expo.dev/client) app by default.
|
|
54
|
+
However you can get things working via the [expo-dev-client](https://docs.expo.dev/development/getting-started/) library and out-of-tree [config-plugins/react-native-webrtc](https://github.com/expo/config-plugins/tree/master/packages/react-native-webrtc) package.
|
|
55
|
+
|
|
56
|
+
> **Unified Plan** - As of version 106.0.0 Unified Plan is the only supported mode.
|
|
57
|
+
Those still in need of Plan B will need to use an older release.
|
|
58
|
+
|
|
59
|
+
> **Simulcast** - As of version 111.0.0 Simulcast is now possible with ease.
|
|
60
|
+
Software encode/decode factories have been enabled by default.
|
|
61
|
+
|
|
62
|
+
## WebRTC Revision
|
|
63
|
+
|
|
64
|
+
* Currently used revision: [M125](https://github.com/webrtc-sdk/webrtc/tree/m125_release)
|
|
65
|
+
* Supported architectures
|
|
66
|
+
* Android: armeabi-v7a, arm64-v8a, x86, x86_64
|
|
67
|
+
* iOS: arm64, x86_64
|
|
68
|
+
* tvOS: arm64
|
|
69
|
+
* macOS: arm64, x86_64
|
|
70
|
+
|
|
71
|
+
## Getting Started
|
|
72
|
+
|
|
73
|
+
Use one of the following preferred package install methods to immediately get going.
|
|
74
|
+
Don't forget to follow platform guides below to cover any extra required steps.
|
|
75
|
+
|
|
76
|
+
**npm:** `npm install @sbhjt-gr/react-native-webrtc --save`
|
|
77
|
+
**yarn:** `yarn add @sbhjt-gr/react-native-webrtc`
|
|
78
|
+
**pnpm:** `pnpm install @sbhjt-gr/react-native-webrtc`
|
|
79
|
+
|
|
80
|
+
## Guides
|
|
81
|
+
|
|
82
|
+
- [Android Install](./Documentation/AndroidInstallation.md)
|
|
83
|
+
- [iOS Install](./Documentation/iOSInstallation.md)
|
|
84
|
+
- [tvOS Install](./Documentation/tvOSInstallation.md)
|
|
85
|
+
- [Basic Usage](./Documentation/BasicUsage.md)
|
|
86
|
+
- [Step by Step Call Guide](./Documentation/CallGuide.md)
|
|
87
|
+
- [Improving Call Reliability](./Documentation/ImprovingCallReliability.md)
|
|
88
|
+
- [Migrating to Unified Plan](https://docs.google.com/document/d/1-ZfikoUtoJa9k-GZG1daN0BU3IjIanQ_JSscHxQesvU/edit#heading=h.wuu7dx8tnifl)
|
|
89
|
+
|
|
90
|
+
## Example Projects
|
|
91
|
+
|
|
92
|
+
We have some very basic example projects included in the [examples](./examples) directory.
|
|
93
|
+
Don't worry, there are plans to include a much more broader example with backend included.
|
|
94
|
+
|
|
95
|
+
## Community
|
|
96
|
+
|
|
97
|
+
Come join our [Discourse Community](https://react-native-webrtc.discourse.group/) if you want to discuss any React Native and WebRTC related topics.
|
|
98
|
+
Everyone is welcome and every little helps.
|
|
99
|
+
|
|
100
|
+
## Related Projects
|
|
101
|
+
|
|
102
|
+
Looking for extra functionality coverage?
|
|
103
|
+
The [react-native-webrtc](https://github.com/react-native-webrtc) organization provides a number of packages which are more than useful when developing Real Time Communication applications.
|
package/android/build.gradle
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
apply plugin: 'com.android.library'
|
|
2
|
-
|
|
3
|
-
def safeExtGet(prop, fallback) {
|
|
4
|
-
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
android {
|
|
8
|
-
def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
|
|
9
|
-
if (agpVersion.tokenize('.')[0].toInteger() >= 7) {
|
|
10
|
-
namespace "com.oney.WebRTCModule"
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
compileSdkVersion safeExtGet('compileSdkVersion', 24)
|
|
14
|
-
buildToolsVersion safeExtGet('buildToolsVersion', "23.0.1")
|
|
15
|
-
|
|
16
|
-
defaultConfig {
|
|
17
|
-
minSdkVersion 24
|
|
18
|
-
targetSdkVersion safeExtGet('targetSdkVersion', 24)
|
|
19
|
-
versionCode 1
|
|
20
|
-
versionName "1.0"
|
|
21
|
-
consumerProguardFiles 'consumer-rules.pro'
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// WebRTC requires Java 8 features
|
|
25
|
-
// https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/discuss-webrtc/V1h2uQMDCkA/RA-uzncVAAAJ
|
|
26
|
-
compileOptions {
|
|
27
|
-
sourceCompatibility JavaVersion.VERSION_1_8
|
|
28
|
-
targetCompatibility JavaVersion.VERSION_1_8
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
dependencies {
|
|
33
|
-
implementation "com.facebook.react:react-android:+"
|
|
34
|
-
api 'io.github.webrtc-sdk:android:137.7151.04'
|
|
35
|
-
implementation "androidx.core:core:1.7.0"
|
|
36
|
-
implementation "com.squareup.okhttp3:okhttp:4.12.0"
|
|
37
|
-
}
|
|
1
|
+
apply plugin: 'com.android.library'
|
|
2
|
+
|
|
3
|
+
def safeExtGet(prop, fallback) {
|
|
4
|
+
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
android {
|
|
8
|
+
def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
|
|
9
|
+
if (agpVersion.tokenize('.')[0].toInteger() >= 7) {
|
|
10
|
+
namespace "com.oney.WebRTCModule"
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
compileSdkVersion safeExtGet('compileSdkVersion', 24)
|
|
14
|
+
buildToolsVersion safeExtGet('buildToolsVersion', "23.0.1")
|
|
15
|
+
|
|
16
|
+
defaultConfig {
|
|
17
|
+
minSdkVersion 24
|
|
18
|
+
targetSdkVersion safeExtGet('targetSdkVersion', 24)
|
|
19
|
+
versionCode 1
|
|
20
|
+
versionName "1.0"
|
|
21
|
+
consumerProguardFiles 'consumer-rules.pro'
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// WebRTC requires Java 8 features
|
|
25
|
+
// https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/discuss-webrtc/V1h2uQMDCkA/RA-uzncVAAAJ
|
|
26
|
+
compileOptions {
|
|
27
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
28
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
dependencies {
|
|
33
|
+
implementation "com.facebook.react:react-android:+"
|
|
34
|
+
api 'io.github.webrtc-sdk:android:137.7151.04'
|
|
35
|
+
implementation "androidx.core:core:1.7.0"
|
|
36
|
+
implementation "com.squareup.okhttp3:okhttp:4.12.0"
|
|
37
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
# WebRTC
|
|
2
|
-
-keep class org.webrtc.** { *; }
|
|
3
|
-
-keep class org.jni_zero.** { *; }
|
|
1
|
+
# WebRTC
|
|
2
|
+
-keep class org.webrtc.** { *; }
|
|
3
|
+
-keep class org.jni_zero.** { *; }
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
-
package="com.oney.WebRTCModule"
|
|
3
|
-
xmlns:tools="http://schemas.android.com/tools"
|
|
4
|
-
>
|
|
5
|
-
<application>
|
|
6
|
-
<service
|
|
7
|
-
android:name=".MediaProjectionService"
|
|
8
|
-
android:foregroundServiceType="mediaProjection">
|
|
9
|
-
</service>
|
|
10
|
-
</application>
|
|
11
|
-
</manifest>
|
|
1
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
+
package="com.oney.WebRTCModule"
|
|
3
|
+
xmlns:tools="http://schemas.android.com/tools"
|
|
4
|
+
>
|
|
5
|
+
<application>
|
|
6
|
+
<service
|
|
7
|
+
android:name=".MediaProjectionService"
|
|
8
|
+
android:foregroundServiceType="mediaProjection">
|
|
9
|
+
</service>
|
|
10
|
+
</application>
|
|
11
|
+
</manifest>
|