@sbhjt-gr/react-native-webrtc 124.0.2 → 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 -464
- 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 -584
- 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 +146 -41
- 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 +23 -0
- 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 +146 -41
- 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 +23 -0
- 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 -832
- 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 -111
- 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
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
package com.oney.WebRTCModule;
|
|
2
|
-
|
|
3
|
-
import org.webrtc.Logging;
|
|
4
|
-
import org.webrtc.NativeLibraryLoader;
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Custom library loader. WebRTC's default library loader swallows errors, which
|
|
8
|
-
* makes debugging impossible if all we have is a crash log. Let it throw since
|
|
9
|
-
* the app is going to crash anyway. This way we'll have the information in the
|
|
10
|
-
* backtrace.
|
|
11
|
-
*/
|
|
12
|
-
public class LibraryLoader implements NativeLibraryLoader {
|
|
13
|
-
private static String TAG = "LibraryLoader";
|
|
14
|
-
|
|
15
|
-
@Override
|
|
16
|
-
public boolean load(String name) {
|
|
17
|
-
Logging.d(TAG, "Loading library: " + name);
|
|
18
|
-
System.loadLibrary(name);
|
|
19
|
-
return true;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
package com.oney.WebRTCModule;
|
|
2
|
+
|
|
3
|
+
import org.webrtc.Logging;
|
|
4
|
+
import org.webrtc.NativeLibraryLoader;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Custom library loader. WebRTC's default library loader swallows errors, which
|
|
8
|
+
* makes debugging impossible if all we have is a crash log. Let it throw since
|
|
9
|
+
* the app is going to crash anyway. This way we'll have the information in the
|
|
10
|
+
* backtrace.
|
|
11
|
+
*/
|
|
12
|
+
public class LibraryLoader implements NativeLibraryLoader {
|
|
13
|
+
private static String TAG = "LibraryLoader";
|
|
14
|
+
|
|
15
|
+
@Override
|
|
16
|
+
public boolean load(String name) {
|
|
17
|
+
Logging.d(TAG, "Loading library: " + name);
|
|
18
|
+
System.loadLibrary(name);
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
package com.oney.WebRTCModule;
|
|
2
|
-
|
|
3
|
-
import android.app.Notification;
|
|
4
|
-
import android.app.NotificationChannel;
|
|
5
|
-
import android.app.NotificationManager;
|
|
6
|
-
import android.app.Service;
|
|
7
|
-
import android.content.Context;
|
|
8
|
-
import android.os.Build;
|
|
9
|
-
import android.util.Log;
|
|
10
|
-
|
|
11
|
-
import androidx.core.app.NotificationCompat;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Helper class for creating the media projection notification which is used with
|
|
15
|
-
* {@link MediaProjectionService}.
|
|
16
|
-
*/
|
|
17
|
-
class MediaProjectionNotification {
|
|
18
|
-
private static final String TAG = MediaProjectionNotification.class.getSimpleName();
|
|
19
|
-
|
|
20
|
-
static final String ONGOING_CONFERENCE_CHANNEL_ID = "OngoingConferenceChannel";
|
|
21
|
-
|
|
22
|
-
static void createNotificationChannel(Context context) {
|
|
23
|
-
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (context == null) {
|
|
28
|
-
Log.d(TAG, " Cannot create notification channel: no current context");
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
NotificationManager notificationManager =
|
|
33
|
-
(NotificationManager) context.getSystemService(Service.NOTIFICATION_SERVICE);
|
|
34
|
-
|
|
35
|
-
NotificationChannel channel = notificationManager.getNotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID);
|
|
36
|
-
|
|
37
|
-
if (channel != null) {
|
|
38
|
-
// The channel was already created, no need to do it again.
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
channel = new NotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID,
|
|
43
|
-
context.getString(R.string.ongoing_notification_channel_name),
|
|
44
|
-
NotificationManager.IMPORTANCE_DEFAULT);
|
|
45
|
-
channel.enableLights(false);
|
|
46
|
-
channel.enableVibration(false);
|
|
47
|
-
channel.setShowBadge(false);
|
|
48
|
-
|
|
49
|
-
notificationManager.createNotificationChannel(channel);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
static Notification buildMediaProjectionNotification(Context context) {
|
|
53
|
-
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, ONGOING_CONFERENCE_CHANNEL_ID);
|
|
54
|
-
|
|
55
|
-
builder.setCategory(NotificationCompat.CATEGORY_CALL)
|
|
56
|
-
.setContentTitle(context.getString(R.string.media_projection_notification_title))
|
|
57
|
-
.setContentText(context.getString(R.string.media_projection_notification_text))
|
|
58
|
-
.setPriority(NotificationCompat.PRIORITY_LOW)
|
|
59
|
-
.setOngoing(false)
|
|
60
|
-
.setUsesChronometer(false)
|
|
61
|
-
.setAutoCancel(true)
|
|
62
|
-
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
|
|
63
|
-
.setOnlyAlertOnce(true)
|
|
64
|
-
.setSmallIcon(
|
|
65
|
-
context.getResources().getIdentifier("ic_notification", "drawable", context.getPackageName()))
|
|
66
|
-
.setForegroundServiceBehavior(NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE);
|
|
67
|
-
|
|
68
|
-
return builder.build();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
1
|
+
package com.oney.WebRTCModule;
|
|
2
|
+
|
|
3
|
+
import android.app.Notification;
|
|
4
|
+
import android.app.NotificationChannel;
|
|
5
|
+
import android.app.NotificationManager;
|
|
6
|
+
import android.app.Service;
|
|
7
|
+
import android.content.Context;
|
|
8
|
+
import android.os.Build;
|
|
9
|
+
import android.util.Log;
|
|
10
|
+
|
|
11
|
+
import androidx.core.app.NotificationCompat;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Helper class for creating the media projection notification which is used with
|
|
15
|
+
* {@link MediaProjectionService}.
|
|
16
|
+
*/
|
|
17
|
+
class MediaProjectionNotification {
|
|
18
|
+
private static final String TAG = MediaProjectionNotification.class.getSimpleName();
|
|
19
|
+
|
|
20
|
+
static final String ONGOING_CONFERENCE_CHANNEL_ID = "OngoingConferenceChannel";
|
|
21
|
+
|
|
22
|
+
static void createNotificationChannel(Context context) {
|
|
23
|
+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (context == null) {
|
|
28
|
+
Log.d(TAG, " Cannot create notification channel: no current context");
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
NotificationManager notificationManager =
|
|
33
|
+
(NotificationManager) context.getSystemService(Service.NOTIFICATION_SERVICE);
|
|
34
|
+
|
|
35
|
+
NotificationChannel channel = notificationManager.getNotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID);
|
|
36
|
+
|
|
37
|
+
if (channel != null) {
|
|
38
|
+
// The channel was already created, no need to do it again.
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
channel = new NotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID,
|
|
43
|
+
context.getString(R.string.ongoing_notification_channel_name),
|
|
44
|
+
NotificationManager.IMPORTANCE_DEFAULT);
|
|
45
|
+
channel.enableLights(false);
|
|
46
|
+
channel.enableVibration(false);
|
|
47
|
+
channel.setShowBadge(false);
|
|
48
|
+
|
|
49
|
+
notificationManager.createNotificationChannel(channel);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
static Notification buildMediaProjectionNotification(Context context) {
|
|
53
|
+
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, ONGOING_CONFERENCE_CHANNEL_ID);
|
|
54
|
+
|
|
55
|
+
builder.setCategory(NotificationCompat.CATEGORY_CALL)
|
|
56
|
+
.setContentTitle(context.getString(R.string.media_projection_notification_title))
|
|
57
|
+
.setContentText(context.getString(R.string.media_projection_notification_text))
|
|
58
|
+
.setPriority(NotificationCompat.PRIORITY_LOW)
|
|
59
|
+
.setOngoing(false)
|
|
60
|
+
.setUsesChronometer(false)
|
|
61
|
+
.setAutoCancel(true)
|
|
62
|
+
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
|
|
63
|
+
.setOnlyAlertOnce(true)
|
|
64
|
+
.setSmallIcon(
|
|
65
|
+
context.getResources().getIdentifier("ic_notification", "drawable", context.getPackageName()))
|
|
66
|
+
.setForegroundServiceBehavior(NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE);
|
|
67
|
+
|
|
68
|
+
return builder.build();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
package com.oney.WebRTCModule;
|
|
2
|
-
|
|
3
|
-
import android.app.Notification;
|
|
4
|
-
import android.app.Service;
|
|
5
|
-
import android.content.ComponentName;
|
|
6
|
-
import android.content.Context;
|
|
7
|
-
import android.content.Intent;
|
|
8
|
-
import android.content.pm.ServiceInfo;
|
|
9
|
-
import android.os.Build;
|
|
10
|
-
import android.os.IBinder;
|
|
11
|
-
import android.util.Log;
|
|
12
|
-
|
|
13
|
-
import java.util.Random;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* This class implements an Android {@link Service}, a foreground one specifically, and it's
|
|
17
|
-
* responsible for presenting an ongoing notification when a conference is in progress.
|
|
18
|
-
* The service will help keep the app running while in the background.
|
|
19
|
-
*
|
|
20
|
-
* See: https://developer.android.com/guide/components/services
|
|
21
|
-
*/
|
|
22
|
-
public class MediaProjectionService extends Service {
|
|
23
|
-
private static final String TAG = MediaProjectionService.class.getSimpleName();
|
|
24
|
-
|
|
25
|
-
static final int NOTIFICATION_ID = new Random().nextInt(99999) + 10000;
|
|
26
|
-
|
|
27
|
-
public static void launch(Context context) {
|
|
28
|
-
if (!WebRTCModuleOptions.getInstance().enableMediaProjectionService) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
MediaProjectionNotification.createNotificationChannel(context);
|
|
33
|
-
Intent intent = new Intent(context, MediaProjectionService.class);
|
|
34
|
-
ComponentName componentName;
|
|
35
|
-
|
|
36
|
-
try {
|
|
37
|
-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
38
|
-
componentName = context.startForegroundService(intent);
|
|
39
|
-
} else {
|
|
40
|
-
componentName = context.startService(intent);
|
|
41
|
-
}
|
|
42
|
-
} catch (RuntimeException e) {
|
|
43
|
-
// Avoid crashing due to ForegroundServiceStartNotAllowedException (API level 31).
|
|
44
|
-
// See: https://developer.android.com/guide/components/foreground-services#background-start-restrictions
|
|
45
|
-
Log.w(TAG, "Media projection service not started", e);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (componentName == null) {
|
|
50
|
-
Log.w(TAG, "Media projection service not started");
|
|
51
|
-
} else {
|
|
52
|
-
Log.i(TAG, "Media projection service started");
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
public static void abort(Context context) {
|
|
57
|
-
if (!WebRTCModuleOptions.getInstance().enableMediaProjectionService) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
Intent intent = new Intent(context, MediaProjectionService.class);
|
|
62
|
-
context.stopService(intent);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
@Override
|
|
66
|
-
public IBinder onBind(Intent intent) {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
@Override
|
|
71
|
-
public int onStartCommand(Intent intent, int flags, int startId) {
|
|
72
|
-
Notification notification = MediaProjectionNotification.buildMediaProjectionNotification(this);
|
|
73
|
-
|
|
74
|
-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
|
75
|
-
startForeground(NOTIFICATION_ID, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION);
|
|
76
|
-
} else {
|
|
77
|
-
startForeground(NOTIFICATION_ID, notification);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return START_NOT_STICKY;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
1
|
+
package com.oney.WebRTCModule;
|
|
2
|
+
|
|
3
|
+
import android.app.Notification;
|
|
4
|
+
import android.app.Service;
|
|
5
|
+
import android.content.ComponentName;
|
|
6
|
+
import android.content.Context;
|
|
7
|
+
import android.content.Intent;
|
|
8
|
+
import android.content.pm.ServiceInfo;
|
|
9
|
+
import android.os.Build;
|
|
10
|
+
import android.os.IBinder;
|
|
11
|
+
import android.util.Log;
|
|
12
|
+
|
|
13
|
+
import java.util.Random;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* This class implements an Android {@link Service}, a foreground one specifically, and it's
|
|
17
|
+
* responsible for presenting an ongoing notification when a conference is in progress.
|
|
18
|
+
* The service will help keep the app running while in the background.
|
|
19
|
+
*
|
|
20
|
+
* See: https://developer.android.com/guide/components/services
|
|
21
|
+
*/
|
|
22
|
+
public class MediaProjectionService extends Service {
|
|
23
|
+
private static final String TAG = MediaProjectionService.class.getSimpleName();
|
|
24
|
+
|
|
25
|
+
static final int NOTIFICATION_ID = new Random().nextInt(99999) + 10000;
|
|
26
|
+
|
|
27
|
+
public static void launch(Context context) {
|
|
28
|
+
if (!WebRTCModuleOptions.getInstance().enableMediaProjectionService) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
MediaProjectionNotification.createNotificationChannel(context);
|
|
33
|
+
Intent intent = new Intent(context, MediaProjectionService.class);
|
|
34
|
+
ComponentName componentName;
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
38
|
+
componentName = context.startForegroundService(intent);
|
|
39
|
+
} else {
|
|
40
|
+
componentName = context.startService(intent);
|
|
41
|
+
}
|
|
42
|
+
} catch (RuntimeException e) {
|
|
43
|
+
// Avoid crashing due to ForegroundServiceStartNotAllowedException (API level 31).
|
|
44
|
+
// See: https://developer.android.com/guide/components/foreground-services#background-start-restrictions
|
|
45
|
+
Log.w(TAG, "Media projection service not started", e);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (componentName == null) {
|
|
50
|
+
Log.w(TAG, "Media projection service not started");
|
|
51
|
+
} else {
|
|
52
|
+
Log.i(TAG, "Media projection service started");
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public static void abort(Context context) {
|
|
57
|
+
if (!WebRTCModuleOptions.getInstance().enableMediaProjectionService) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Intent intent = new Intent(context, MediaProjectionService.class);
|
|
62
|
+
context.stopService(intent);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@Override
|
|
66
|
+
public IBinder onBind(Intent intent) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@Override
|
|
71
|
+
public int onStartCommand(Intent intent, int flags, int startId) {
|
|
72
|
+
Notification notification = MediaProjectionNotification.buildMediaProjectionNotification(this);
|
|
73
|
+
|
|
74
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
|
75
|
+
startForeground(NOTIFICATION_ID, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION);
|
|
76
|
+
} else {
|
|
77
|
+
startForeground(NOTIFICATION_ID, notification);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return START_NOT_STICKY;
|
|
81
|
+
}
|
|
82
|
+
}
|