@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
|
@@ -70,12 +70,24 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
70
70
|
log.debug(`${this._pcId} ctor`);
|
|
71
71
|
}
|
|
72
72
|
async createOffer(options) {
|
|
73
|
+
var _sdpInfo$sdp$length, _sdpInfo$sdp;
|
|
74
|
+
const _t0 = Date.now();
|
|
75
|
+
console.log(`[RNWebRTC] pc:${this._pcId} create_offer_start`, {
|
|
76
|
+
signalingState: this.signalingState,
|
|
77
|
+
connectionState: this.connectionState,
|
|
78
|
+
iceConnectionState: this.iceConnectionState
|
|
79
|
+
});
|
|
73
80
|
log.debug(`${this._pcId} createOffer`);
|
|
74
81
|
const {
|
|
75
82
|
sdpInfo,
|
|
76
83
|
newTransceivers,
|
|
77
84
|
transceiversInfo
|
|
78
85
|
} = await WebRTCModule.peerConnectionCreateOffer(this._pcId, RTCUtil.normalizeOfferOptions(options));
|
|
86
|
+
console.log(`[RNWebRTC] pc:${this._pcId} create_offer_done`, {
|
|
87
|
+
durationMs: Date.now() - _t0,
|
|
88
|
+
sdpType: sdpInfo === null || sdpInfo === void 0 ? void 0 : sdpInfo.type,
|
|
89
|
+
sdpLen: (_sdpInfo$sdp$length = sdpInfo === null || sdpInfo === void 0 ? void 0 : (_sdpInfo$sdp = sdpInfo.sdp) === null || _sdpInfo$sdp === void 0 ? void 0 : _sdpInfo$sdp.length) !== null && _sdpInfo$sdp$length !== void 0 ? _sdpInfo$sdp$length : 0
|
|
90
|
+
});
|
|
79
91
|
log.debug(`${this._pcId} createOffer OK`);
|
|
80
92
|
newTransceivers === null || newTransceivers === void 0 ? void 0 : newTransceivers.forEach(t => {
|
|
81
93
|
const {
|
|
@@ -102,11 +114,22 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
102
114
|
return sdpInfo;
|
|
103
115
|
}
|
|
104
116
|
async createAnswer() {
|
|
117
|
+
var _sdpInfo$sdp$length2, _sdpInfo$sdp2;
|
|
118
|
+
const _t0 = Date.now();
|
|
119
|
+
console.log(`[RNWebRTC] pc:${this._pcId} create_answer_start`, {
|
|
120
|
+
signalingState: this.signalingState,
|
|
121
|
+
connectionState: this.connectionState
|
|
122
|
+
});
|
|
105
123
|
log.debug(`${this._pcId} createAnswer`);
|
|
106
124
|
const {
|
|
107
125
|
sdpInfo,
|
|
108
126
|
transceiversInfo
|
|
109
127
|
} = await WebRTCModule.peerConnectionCreateAnswer(this._pcId, {});
|
|
128
|
+
console.log(`[RNWebRTC] pc:${this._pcId} create_answer_done`, {
|
|
129
|
+
durationMs: Date.now() - _t0,
|
|
130
|
+
sdpType: sdpInfo === null || sdpInfo === void 0 ? void 0 : sdpInfo.type,
|
|
131
|
+
sdpLen: (_sdpInfo$sdp$length2 = sdpInfo === null || sdpInfo === void 0 ? void 0 : (_sdpInfo$sdp2 = sdpInfo.sdp) === null || _sdpInfo$sdp2 === void 0 ? void 0 : _sdpInfo$sdp2.length) !== null && _sdpInfo$sdp$length2 !== void 0 ? _sdpInfo$sdp$length2 : 0
|
|
132
|
+
});
|
|
110
133
|
this._updateTransceivers(transceiversInfo);
|
|
111
134
|
return sdpInfo;
|
|
112
135
|
}
|
|
@@ -114,14 +137,20 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
114
137
|
WebRTCModule.peerConnectionSetConfiguration(configuration, this._pcId);
|
|
115
138
|
}
|
|
116
139
|
async setLocalDescription(sessionDescription) {
|
|
117
|
-
var _desc;
|
|
140
|
+
var _sessionDescription$s, _sessionDescription$s2, _desc;
|
|
141
|
+
const _t0 = Date.now();
|
|
142
|
+
console.log(`[RNWebRTC] pc:${this._pcId} set_local_desc_start`, {
|
|
143
|
+
type: sessionDescription === null || sessionDescription === void 0 ? void 0 : sessionDescription.type,
|
|
144
|
+
sdpLen: (_sessionDescription$s = sessionDescription === null || sessionDescription === void 0 ? void 0 : (_sessionDescription$s2 = sessionDescription.sdp) === null || _sessionDescription$s2 === void 0 ? void 0 : _sessionDescription$s2.length) !== null && _sessionDescription$s !== void 0 ? _sessionDescription$s : 0,
|
|
145
|
+
signalingState: this.signalingState
|
|
146
|
+
});
|
|
118
147
|
log.debug(`${this._pcId} setLocalDescription`);
|
|
119
148
|
let desc;
|
|
120
149
|
if (sessionDescription) {
|
|
121
|
-
var _sessionDescription$
|
|
150
|
+
var _sessionDescription$s3;
|
|
122
151
|
desc = {
|
|
123
152
|
type: sessionDescription.type,
|
|
124
|
-
sdp: (_sessionDescription$
|
|
153
|
+
sdp: (_sessionDescription$s3 = sessionDescription.sdp) !== null && _sessionDescription$s3 !== void 0 ? _sessionDescription$s3 : ''
|
|
125
154
|
};
|
|
126
155
|
if (!RTCUtil.isSdpTypeValid(desc.type)) {
|
|
127
156
|
throw new Error(`Invalid session description: invalid type: ${desc.type}`);
|
|
@@ -139,17 +168,28 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
139
168
|
this.localDescription = null;
|
|
140
169
|
}
|
|
141
170
|
this._updateTransceivers(transceiversInfo, /* removeStopped */((_desc = desc) === null || _desc === void 0 ? void 0 : _desc.type) === 'answer');
|
|
171
|
+
console.log(`[RNWebRTC] pc:${this._pcId} set_local_desc_done`, {
|
|
172
|
+
durationMs: Date.now() - _t0,
|
|
173
|
+
signalingState: this.signalingState
|
|
174
|
+
});
|
|
142
175
|
log.debug(`${this._pcId} setLocalDescription OK`);
|
|
143
176
|
}
|
|
144
177
|
async setRemoteDescription(sessionDescription) {
|
|
145
|
-
var _sessionDescription$
|
|
178
|
+
var _sessionDescription$s4, _sessionDescription$s5, _sessionDescription$s6, _desc$type;
|
|
179
|
+
const _t0 = Date.now();
|
|
180
|
+
console.log(`[RNWebRTC] pc:${this._pcId} set_remote_desc_start`, {
|
|
181
|
+
type: sessionDescription === null || sessionDescription === void 0 ? void 0 : sessionDescription.type,
|
|
182
|
+
sdpLen: (_sessionDescription$s4 = sessionDescription === null || sessionDescription === void 0 ? void 0 : (_sessionDescription$s5 = sessionDescription.sdp) === null || _sessionDescription$s5 === void 0 ? void 0 : _sessionDescription$s5.length) !== null && _sessionDescription$s4 !== void 0 ? _sessionDescription$s4 : 0,
|
|
183
|
+
signalingState: this.signalingState,
|
|
184
|
+
connectionState: this.connectionState
|
|
185
|
+
});
|
|
146
186
|
log.debug(`${this._pcId} setRemoteDescription`);
|
|
147
187
|
if (!sessionDescription) {
|
|
148
188
|
return Promise.reject(new Error('No session description provided'));
|
|
149
189
|
}
|
|
150
190
|
const desc = {
|
|
151
191
|
type: sessionDescription.type,
|
|
152
|
-
sdp: (_sessionDescription$
|
|
192
|
+
sdp: (_sessionDescription$s6 = sessionDescription.sdp) !== null && _sessionDescription$s6 !== void 0 ? _sessionDescription$s6 : ''
|
|
153
193
|
};
|
|
154
194
|
if (!RTCUtil.isSdpTypeValid((_desc$type = desc.type) !== null && _desc$type !== void 0 ? _desc$type : '')) {
|
|
155
195
|
throw new Error(`Invalid session description: invalid type: ${desc.type}`);
|
|
@@ -237,9 +277,24 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
237
277
|
// Dispatch an unmute event for the track.
|
|
238
278
|
track._setMutedInternal(false);
|
|
239
279
|
}
|
|
280
|
+
console.log(`[RNWebRTC] pc:${this._pcId} set_remote_desc_done`, {
|
|
281
|
+
durationMs: Date.now() - _t0,
|
|
282
|
+
signalingState: this.signalingState,
|
|
283
|
+
pendingTrackEventsDispatched: this._pendingTrackEvents.length
|
|
284
|
+
});
|
|
240
285
|
log.debug(`${this._pcId} setRemoteDescription OK`);
|
|
241
286
|
}
|
|
242
287
|
async addIceCandidate(candidate) {
|
|
288
|
+
console.log(`[RNWebRTC] pc:${this._pcId} add_ice_candidate`, {
|
|
289
|
+
type: candidate === null || candidate === void 0 ? void 0 : candidate.type,
|
|
290
|
+
protocol: candidate === null || candidate === void 0 ? void 0 : candidate.protocol,
|
|
291
|
+
sdpMid: candidate === null || candidate === void 0 ? void 0 : candidate.sdpMid,
|
|
292
|
+
sdpMLineIndex: candidate === null || candidate === void 0 ? void 0 : candidate.sdpMLineIndex,
|
|
293
|
+
empty: !(candidate !== null && candidate !== void 0 && candidate.candidate),
|
|
294
|
+
signalingState: this.signalingState,
|
|
295
|
+
connectionState: this.connectionState,
|
|
296
|
+
iceConnectionState: this.iceConnectionState
|
|
297
|
+
});
|
|
243
298
|
log.debug(`${this._pcId} addIceCandidate`);
|
|
244
299
|
if (!candidate || !candidate.candidate) {
|
|
245
300
|
// XXX end-of candidates is not implemented: https://bugs.chromium.org/p/webrtc/issues/detail?id=9218
|
|
@@ -252,13 +307,13 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
252
307
|
this.remoteDescription = new RTCSessionDescription(newSdp);
|
|
253
308
|
}
|
|
254
309
|
|
|
255
|
-
/**
|
|
256
|
-
* @brief Adds a new track to the {@link RTCPeerConnection},
|
|
257
|
-
* and indicates that it is contained in the specified {@link MediaStream}s.
|
|
258
|
-
* This method has to be synchronous as the W3C API expects a track to be returned
|
|
259
|
-
* @param {MediaStreamTrack} track The track to be added
|
|
260
|
-
* @param {...MediaStream} streams One or more {@link MediaStream}s the track needs to be added to
|
|
261
|
-
* https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtrack
|
|
310
|
+
/**
|
|
311
|
+
* @brief Adds a new track to the {@link RTCPeerConnection},
|
|
312
|
+
* and indicates that it is contained in the specified {@link MediaStream}s.
|
|
313
|
+
* This method has to be synchronous as the W3C API expects a track to be returned
|
|
314
|
+
* @param {MediaStreamTrack} track The track to be added
|
|
315
|
+
* @param {...MediaStream} streams One or more {@link MediaStream}s the track needs to be added to
|
|
316
|
+
* https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtrack
|
|
262
317
|
*/
|
|
263
318
|
addTrack(track) {
|
|
264
319
|
log.debug(`${this._pcId} addTrack`);
|
|
@@ -400,14 +455,14 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
400
455
|
if (!selector) {
|
|
401
456
|
const data = await WebRTCModule.peerConnectionGetStats(this._pcId);
|
|
402
457
|
|
|
403
|
-
/**
|
|
404
|
-
* On both Android and iOS it is faster to construct a single
|
|
405
|
-
* JSON string representing the Map of StatsReports and have it
|
|
406
|
-
* pass through the React Native bridge rather than the Map of
|
|
407
|
-
* StatsReports. While the implementations do try to be faster in
|
|
408
|
-
* general, the stress is on being faster to pass through the React
|
|
409
|
-
* Native bridge which is a bottleneck that tends to be visible in
|
|
410
|
-
* the UI when there is congestion involving UI-related passing.
|
|
458
|
+
/**
|
|
459
|
+
* On both Android and iOS it is faster to construct a single
|
|
460
|
+
* JSON string representing the Map of StatsReports and have it
|
|
461
|
+
* pass through the React Native bridge rather than the Map of
|
|
462
|
+
* StatsReports. While the implementations do try to be faster in
|
|
463
|
+
* general, the stress is on being faster to pass through the React
|
|
464
|
+
* Native bridge which is a bottleneck that tends to be visible in
|
|
465
|
+
* the UI when there is congestion involving UI-related passing.
|
|
411
466
|
*/
|
|
412
467
|
return new Map(JSON.parse(data));
|
|
413
468
|
} else {
|
|
@@ -456,22 +511,43 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
456
511
|
if (ev.pcId !== this._pcId) {
|
|
457
512
|
return;
|
|
458
513
|
}
|
|
514
|
+
console.log(`[RNWebRTC] pc:${this._pcId} negotiation_needed`, {
|
|
515
|
+
signalingState: this.signalingState,
|
|
516
|
+
connectionState: this.connectionState,
|
|
517
|
+
iceConnectionState: this.iceConnectionState
|
|
518
|
+
});
|
|
459
519
|
this.dispatchEvent(new Event('negotiationneeded'));
|
|
460
520
|
});
|
|
461
521
|
addListener(this, 'peerConnectionIceConnectionChanged', ev => {
|
|
462
522
|
if (ev.pcId !== this._pcId) {
|
|
463
523
|
return;
|
|
464
524
|
}
|
|
525
|
+
const prev = this.iceConnectionState;
|
|
465
526
|
this.iceConnectionState = ev.iceConnectionState;
|
|
527
|
+
console.log(`[RNWebRTC] pc:${this._pcId} ice_connection_changed`, {
|
|
528
|
+
prev,
|
|
529
|
+
current: ev.iceConnectionState,
|
|
530
|
+
connectionState: this.connectionState,
|
|
531
|
+
signalingState: this.signalingState
|
|
532
|
+
});
|
|
466
533
|
this.dispatchEvent(new Event('iceconnectionstatechange'));
|
|
467
534
|
});
|
|
468
535
|
addListener(this, 'peerConnectionStateChanged', ev => {
|
|
469
536
|
if (ev.pcId !== this._pcId) {
|
|
470
537
|
return;
|
|
471
538
|
}
|
|
539
|
+
const prev = this.connectionState;
|
|
472
540
|
this.connectionState = ev.connectionState;
|
|
541
|
+
console.log(`[RNWebRTC] pc:${this._pcId} connection_state_changed`, {
|
|
542
|
+
prev,
|
|
543
|
+
current: ev.connectionState,
|
|
544
|
+
iceConnectionState: this.iceConnectionState,
|
|
545
|
+
iceGatheringState: this.iceGatheringState,
|
|
546
|
+
signalingState: this.signalingState
|
|
547
|
+
});
|
|
473
548
|
this.dispatchEvent(new Event('connectionstatechange'));
|
|
474
549
|
if (ev.connectionState === 'closed') {
|
|
550
|
+
console.log(`[RNWebRTC] pc:${this._pcId} disposing`);
|
|
475
551
|
// This PeerConnection is done, clean up.
|
|
476
552
|
removeListener(this);
|
|
477
553
|
WebRTCModule.peerConnectionDispose(this._pcId);
|
|
@@ -481,15 +557,28 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
481
557
|
if (ev.pcId !== this._pcId) {
|
|
482
558
|
return;
|
|
483
559
|
}
|
|
560
|
+
const prev = this.signalingState;
|
|
484
561
|
this.signalingState = ev.signalingState;
|
|
562
|
+
console.log(`[RNWebRTC] pc:${this._pcId} signaling_state_changed`, {
|
|
563
|
+
prev,
|
|
564
|
+
current: ev.signalingState,
|
|
565
|
+
connectionState: this.connectionState
|
|
566
|
+
});
|
|
485
567
|
this.dispatchEvent(new Event('signalingstatechange'));
|
|
486
568
|
});
|
|
487
569
|
|
|
488
570
|
// Consider moving away from this event: https://github.com/WebKit/WebKit/pull/3953
|
|
489
571
|
addListener(this, 'peerConnectionOnTrack', ev => {
|
|
572
|
+
var _ev$receiver, _ev$receiver2, _ev$receiver2$track, _ev$streams$length, _ev$streams;
|
|
490
573
|
if (ev.pcId !== this._pcId) {
|
|
491
574
|
return;
|
|
492
575
|
}
|
|
576
|
+
console.log(`[RNWebRTC] pc:${this._pcId} track_event_queued`, {
|
|
577
|
+
receiverId: (_ev$receiver = ev.receiver) === null || _ev$receiver === void 0 ? void 0 : _ev$receiver.id,
|
|
578
|
+
trackKind: (_ev$receiver2 = ev.receiver) === null || _ev$receiver2 === void 0 ? void 0 : (_ev$receiver2$track = _ev$receiver2.track) === null || _ev$receiver2$track === void 0 ? void 0 : _ev$receiver2$track.kind,
|
|
579
|
+
streamCount: (_ev$streams$length = (_ev$streams = ev.streams) === null || _ev$streams === void 0 ? void 0 : _ev$streams.length) !== null && _ev$streams$length !== void 0 ? _ev$streams$length : 0,
|
|
580
|
+
pendingCount: this._pendingTrackEvents.length + 1
|
|
581
|
+
});
|
|
493
582
|
log.debug(`${this._pcId} ontrack`);
|
|
494
583
|
|
|
495
584
|
// NOTE: We need to make sure the track event fires right before sRD completes,
|
|
@@ -501,6 +590,9 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
501
590
|
if (ev.pcId !== this._pcId) {
|
|
502
591
|
return;
|
|
503
592
|
}
|
|
593
|
+
console.log(`[RNWebRTC] pc:${this._pcId} remove_track`, {
|
|
594
|
+
receiverId: ev.receiverId
|
|
595
|
+
});
|
|
504
596
|
log.debug(`${this._pcId} onremovetrack ${ev.receiverId}`);
|
|
505
597
|
const receiver = this.getReceivers().find(r => r.id === ev.receiverId);
|
|
506
598
|
const track = receiver === null || receiver === void 0 ? void 0 : receiver.track;
|
|
@@ -526,9 +618,16 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
526
618
|
}
|
|
527
619
|
});
|
|
528
620
|
addListener(this, 'peerConnectionGotICECandidate', ev => {
|
|
621
|
+
var _ev$candidate, _ev$candidate2, _ev$candidate3;
|
|
529
622
|
if (ev.pcId !== this._pcId) {
|
|
530
623
|
return;
|
|
531
624
|
}
|
|
625
|
+
console.log(`[RNWebRTC] pc:${this._pcId} local_ice_candidate`, {
|
|
626
|
+
type: (_ev$candidate = ev.candidate) === null || _ev$candidate === void 0 ? void 0 : _ev$candidate.type,
|
|
627
|
+
protocol: (_ev$candidate2 = ev.candidate) === null || _ev$candidate2 === void 0 ? void 0 : _ev$candidate2.protocol,
|
|
628
|
+
sdpMid: (_ev$candidate3 = ev.candidate) === null || _ev$candidate3 === void 0 ? void 0 : _ev$candidate3.sdpMid,
|
|
629
|
+
iceGatheringState: this.iceGatheringState
|
|
630
|
+
});
|
|
532
631
|
const sdpInfo = ev.sdp;
|
|
533
632
|
|
|
534
633
|
// Can happen when doing a rollback.
|
|
@@ -546,7 +645,13 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
546
645
|
if (ev.pcId !== this._pcId) {
|
|
547
646
|
return;
|
|
548
647
|
}
|
|
648
|
+
const prev = this.iceGatheringState;
|
|
549
649
|
this.iceGatheringState = ev.iceGatheringState;
|
|
650
|
+
console.log(`[RNWebRTC] pc:${this._pcId} ice_gathering_state_changed`, {
|
|
651
|
+
prev,
|
|
652
|
+
current: ev.iceGatheringState,
|
|
653
|
+
connectionState: this.connectionState
|
|
654
|
+
});
|
|
550
655
|
if (this.iceGatheringState === 'complete') {
|
|
551
656
|
const sdpInfo = ev.sdp;
|
|
552
657
|
|
|
@@ -588,16 +693,16 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
588
693
|
});
|
|
589
694
|
}
|
|
590
695
|
|
|
591
|
-
/**
|
|
592
|
-
* Creates a new RTCDataChannel object with the given label. The
|
|
593
|
-
* RTCDataChannelInit dictionary can be used to configure properties of the
|
|
594
|
-
* underlying channel such as data reliability.
|
|
595
|
-
*
|
|
596
|
-
* @param {string} label - the value with which the label attribute of the new
|
|
597
|
-
* instance is to be initialized
|
|
598
|
-
* @param {RTCDataChannelInit} dataChannelDict - an optional dictionary of
|
|
599
|
-
* values with which to initialize corresponding attributes of the new
|
|
600
|
-
* instance such as id
|
|
696
|
+
/**
|
|
697
|
+
* Creates a new RTCDataChannel object with the given label. The
|
|
698
|
+
* RTCDataChannelInit dictionary can be used to configure properties of the
|
|
699
|
+
* underlying channel such as data reliability.
|
|
700
|
+
*
|
|
701
|
+
* @param {string} label - the value with which the label attribute of the new
|
|
702
|
+
* instance is to be initialized
|
|
703
|
+
* @param {RTCDataChannelInit} dataChannelDict - an optional dictionary of
|
|
704
|
+
* values with which to initialize corresponding attributes of the new
|
|
705
|
+
* instance such as id
|
|
601
706
|
*/
|
|
602
707
|
createDataChannel(label, dataChannelDict) {
|
|
603
708
|
if (arguments.length === 0) {
|
|
@@ -616,9 +721,9 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
616
721
|
return new RTCDataChannel(channelInfo);
|
|
617
722
|
}
|
|
618
723
|
|
|
619
|
-
/**
|
|
620
|
-
* Check whether a media stream track exists already in a sender.
|
|
621
|
-
* See https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtrack for more information
|
|
724
|
+
/**
|
|
725
|
+
* Check whether a media stream track exists already in a sender.
|
|
726
|
+
* See https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtrack for more information
|
|
622
727
|
*/
|
|
623
728
|
_trackExists(track) {
|
|
624
729
|
const [sender] = this.getSenders().filter(sender => {
|
|
@@ -628,8 +733,8 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
628
733
|
return sender ? true : false;
|
|
629
734
|
}
|
|
630
735
|
|
|
631
|
-
/**
|
|
632
|
-
* Updates transceivers after offer/answer updates if necessary.
|
|
736
|
+
/**
|
|
737
|
+
* Updates transceivers after offer/answer updates if necessary.
|
|
633
738
|
*/
|
|
634
739
|
_updateTransceivers(transceiverUpdates) {
|
|
635
740
|
let removeStopped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
@@ -653,10 +758,10 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
653
758
|
}
|
|
654
759
|
}
|
|
655
760
|
|
|
656
|
-
/**
|
|
657
|
-
* Inserts transceiver into the transceiver array in the order they are created (timestamp).
|
|
658
|
-
* @param order an index that refers to when it it was created relatively.
|
|
659
|
-
* @param transceiver the transceiver object to be inserted.
|
|
761
|
+
/**
|
|
762
|
+
* Inserts transceiver into the transceiver array in the order they are created (timestamp).
|
|
763
|
+
* @param order an index that refers to when it it was created relatively.
|
|
764
|
+
* @param transceiver the transceiver object to be inserted.
|
|
660
765
|
*/
|
|
661
766
|
_insertTransceiverSorted(order, transceiver) {
|
|
662
767
|
this._transceivers.push({
|
|
@@ -667,8 +772,8 @@ export default class RTCPeerConnection extends EventTarget {
|
|
|
667
772
|
}
|
|
668
773
|
}
|
|
669
774
|
|
|
670
|
-
/**
|
|
671
|
-
* Define the `onxxx` event handlers.
|
|
775
|
+
/**
|
|
776
|
+
* Define the `onxxx` event handlers.
|
|
672
777
|
*/
|
|
673
778
|
const proto = RTCPeerConnection.prototype;
|
|
674
779
|
defineEventAttribute(proto, 'connectionstatechange');
|