@abrar71/lib-jitsi-meet 0.0.0
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/LICENSE +202 -0
- package/README.md +26 -0
- package/dist/esm/JitsiConference.js +3692 -0
- package/dist/esm/JitsiConference.js.map +1 -0
- package/dist/esm/JitsiConferenceErrors.js +126 -0
- package/dist/esm/JitsiConferenceErrors.js.map +1 -0
- package/dist/esm/JitsiConferenceEventManager.js +424 -0
- package/dist/esm/JitsiConferenceEventManager.js.map +1 -0
- package/dist/esm/JitsiConferenceEvents.js +431 -0
- package/dist/esm/JitsiConferenceEvents.js.map +1 -0
- package/dist/esm/JitsiConnection.js +187 -0
- package/dist/esm/JitsiConnection.js.map +1 -0
- package/dist/esm/JitsiConnectionErrors.js +52 -0
- package/dist/esm/JitsiConnectionErrors.js.map +1 -0
- package/dist/esm/JitsiConnectionEvents.js +57 -0
- package/dist/esm/JitsiConnectionEvents.js.map +1 -0
- package/dist/esm/JitsiMediaDevices.js +221 -0
- package/dist/esm/JitsiMediaDevices.js.map +1 -0
- package/dist/esm/JitsiMediaDevicesEvents.js +29 -0
- package/dist/esm/JitsiMediaDevicesEvents.js.map +1 -0
- package/dist/esm/JitsiMeetJS.js +499 -0
- package/dist/esm/JitsiMeetJS.js.map +1 -0
- package/dist/esm/JitsiParticipant.js +323 -0
- package/dist/esm/JitsiParticipant.js.map +1 -0
- package/dist/esm/JitsiTrackError.js +122 -0
- package/dist/esm/JitsiTrackError.js.map +1 -0
- package/dist/esm/JitsiTrackErrors.js +91 -0
- package/dist/esm/JitsiTrackErrors.js.map +1 -0
- package/dist/esm/JitsiTrackEvents.js +60 -0
- package/dist/esm/JitsiTrackEvents.js.map +1 -0
- package/dist/esm/JitsiTranscriptionStatus.js +15 -0
- package/dist/esm/JitsiTranscriptionStatus.js.map +1 -0
- package/dist/esm/modules/RTC/BridgeChannel.js +398 -0
- package/dist/esm/modules/RTC/BridgeChannel.js.map +1 -0
- package/dist/esm/modules/RTC/JitsiLocalTrack.js +896 -0
- package/dist/esm/modules/RTC/JitsiLocalTrack.js.map +1 -0
- package/dist/esm/modules/RTC/JitsiRemoteTrack.js +427 -0
- package/dist/esm/modules/RTC/JitsiRemoteTrack.js.map +1 -0
- package/dist/esm/modules/RTC/JitsiTrack.js +453 -0
- package/dist/esm/modules/RTC/JitsiTrack.js.map +1 -0
- package/dist/esm/modules/RTC/MockClasses.js +388 -0
- package/dist/esm/modules/RTC/MockClasses.js.map +1 -0
- package/dist/esm/modules/RTC/RTC.js +658 -0
- package/dist/esm/modules/RTC/RTC.js.map +1 -0
- package/dist/esm/modules/RTC/RTCUtils.js +762 -0
- package/dist/esm/modules/RTC/RTCUtils.js.map +1 -0
- package/dist/esm/modules/RTC/ScreenObtainer.js +380 -0
- package/dist/esm/modules/RTC/ScreenObtainer.js.map +1 -0
- package/dist/esm/modules/RTC/TPCUtils.js +803 -0
- package/dist/esm/modules/RTC/TPCUtils.js.map +1 -0
- package/dist/esm/modules/RTC/TraceablePeerConnection.js +2223 -0
- package/dist/esm/modules/RTC/TraceablePeerConnection.js.map +1 -0
- package/dist/esm/modules/RTCStats/DefaulLogStorage.js +35 -0
- package/dist/esm/modules/RTCStats/DefaulLogStorage.js.map +1 -0
- package/dist/esm/modules/RTCStats/RTCStats.js +219 -0
- package/dist/esm/modules/RTCStats/RTCStats.js.map +1 -0
- package/dist/esm/modules/RTCStats/RTCStatsEvents.js +92 -0
- package/dist/esm/modules/RTCStats/RTCStatsEvents.js.map +1 -0
- package/dist/esm/modules/RTCStats/interfaces.js +2 -0
- package/dist/esm/modules/RTCStats/interfaces.js.map +1 -0
- package/dist/esm/modules/browser/BrowserCapabilities.js +345 -0
- package/dist/esm/modules/browser/BrowserCapabilities.js.map +1 -0
- package/dist/esm/modules/browser/index.js +3 -0
- package/dist/esm/modules/browser/index.js.map +1 -0
- package/dist/esm/modules/connectivity/ConnectionQuality.js +389 -0
- package/dist/esm/modules/connectivity/ConnectionQuality.js.map +1 -0
- package/dist/esm/modules/connectivity/IceFailedHandling.js +84 -0
- package/dist/esm/modules/connectivity/IceFailedHandling.js.map +1 -0
- package/dist/esm/modules/connectivity/NetworkInfo.js +49 -0
- package/dist/esm/modules/connectivity/NetworkInfo.js.map +1 -0
- package/dist/esm/modules/connectivity/TrackStreamingStatus.js +453 -0
- package/dist/esm/modules/connectivity/TrackStreamingStatus.js.map +1 -0
- package/dist/esm/modules/detection/ActiveDeviceDetector.js +79 -0
- package/dist/esm/modules/detection/ActiveDeviceDetector.js.map +1 -0
- package/dist/esm/modules/detection/DetectionEvents.js +58 -0
- package/dist/esm/modules/detection/DetectionEvents.js.map +1 -0
- package/dist/esm/modules/detection/NoAudioSignalDetection.js +127 -0
- package/dist/esm/modules/detection/NoAudioSignalDetection.js.map +1 -0
- package/dist/esm/modules/detection/P2PDominantSpeakerDetection.js +47 -0
- package/dist/esm/modules/detection/P2PDominantSpeakerDetection.js.map +1 -0
- package/dist/esm/modules/detection/TrackVADEmitter.js +190 -0
- package/dist/esm/modules/detection/TrackVADEmitter.js.map +1 -0
- package/dist/esm/modules/detection/VADAudioAnalyser.js +199 -0
- package/dist/esm/modules/detection/VADAudioAnalyser.js.map +1 -0
- package/dist/esm/modules/detection/VADNoiseDetection.js +168 -0
- package/dist/esm/modules/detection/VADNoiseDetection.js.map +1 -0
- package/dist/esm/modules/detection/VADReportingService.js +203 -0
- package/dist/esm/modules/detection/VADReportingService.js.map +1 -0
- package/dist/esm/modules/detection/VADTalkMutedDetection.js +131 -0
- package/dist/esm/modules/detection/VADTalkMutedDetection.js.map +1 -0
- package/dist/esm/modules/e2ee/Context.js +274 -0
- package/dist/esm/modules/e2ee/Context.js.map +1 -0
- package/dist/esm/modules/e2ee/E2EEContext.js +158 -0
- package/dist/esm/modules/e2ee/E2EEContext.js.map +1 -0
- package/dist/esm/modules/e2ee/E2EEErrors.js +10 -0
- package/dist/esm/modules/e2ee/E2EEErrors.js.map +1 -0
- package/dist/esm/modules/e2ee/E2EEncryption.js +87 -0
- package/dist/esm/modules/e2ee/E2EEncryption.js.map +1 -0
- package/dist/esm/modules/e2ee/ExternallyManagedKeyHandler.js +24 -0
- package/dist/esm/modules/e2ee/ExternallyManagedKeyHandler.js.map +1 -0
- package/dist/esm/modules/e2ee/KeyHandler.js +137 -0
- package/dist/esm/modules/e2ee/KeyHandler.js.map +1 -0
- package/dist/esm/modules/e2ee/ManagedKeyHandler.js +182 -0
- package/dist/esm/modules/e2ee/ManagedKeyHandler.js.map +1 -0
- package/dist/esm/modules/e2ee/OlmAdapter.js +860 -0
- package/dist/esm/modules/e2ee/OlmAdapter.js.map +1 -0
- package/dist/esm/modules/e2ee/SAS.js +128 -0
- package/dist/esm/modules/e2ee/SAS.js.map +1 -0
- package/dist/esm/modules/e2ee/Worker.js +102 -0
- package/dist/esm/modules/e2ee/Worker.js.map +1 -0
- package/dist/esm/modules/e2ee/crypto-utils.js +53 -0
- package/dist/esm/modules/e2ee/crypto-utils.js.map +1 -0
- package/dist/esm/modules/e2ee/utils.js +15 -0
- package/dist/esm/modules/e2ee/utils.js.map +1 -0
- package/dist/esm/modules/e2eping/e2eping.js +314 -0
- package/dist/esm/modules/e2eping/e2eping.js.map +1 -0
- package/dist/esm/modules/flags/FeatureFlags.js +36 -0
- package/dist/esm/modules/flags/FeatureFlags.js.map +1 -0
- package/dist/esm/modules/litemode/LiteModeContext.js +50 -0
- package/dist/esm/modules/litemode/LiteModeContext.js.map +1 -0
- package/dist/esm/modules/proxyconnection/CustomSignalingLayer.js +98 -0
- package/dist/esm/modules/proxyconnection/CustomSignalingLayer.js.map +1 -0
- package/dist/esm/modules/proxyconnection/ProxyConnectionPC.js +348 -0
- package/dist/esm/modules/proxyconnection/ProxyConnectionPC.js.map +1 -0
- package/dist/esm/modules/proxyconnection/ProxyConnectionService.js +279 -0
- package/dist/esm/modules/proxyconnection/ProxyConnectionService.js.map +1 -0
- package/dist/esm/modules/proxyconnection/constants.js +14 -0
- package/dist/esm/modules/proxyconnection/constants.js.map +1 -0
- package/dist/esm/modules/qualitycontrol/CodecSelection.js +222 -0
- package/dist/esm/modules/qualitycontrol/CodecSelection.js.map +1 -0
- package/dist/esm/modules/qualitycontrol/MockClasses.js +120 -0
- package/dist/esm/modules/qualitycontrol/MockClasses.js.map +1 -0
- package/dist/esm/modules/qualitycontrol/QualityController.js +366 -0
- package/dist/esm/modules/qualitycontrol/QualityController.js.map +1 -0
- package/dist/esm/modules/qualitycontrol/ReceiveAudioController.js +73 -0
- package/dist/esm/modules/qualitycontrol/ReceiveAudioController.js.map +1 -0
- package/dist/esm/modules/qualitycontrol/ReceiveVideoController.js +216 -0
- package/dist/esm/modules/qualitycontrol/ReceiveVideoController.js.map +1 -0
- package/dist/esm/modules/qualitycontrol/SendVideoController.js +133 -0
- package/dist/esm/modules/qualitycontrol/SendVideoController.js.map +1 -0
- package/dist/esm/modules/recording/JibriSession.js +279 -0
- package/dist/esm/modules/recording/JibriSession.js.map +1 -0
- package/dist/esm/modules/recording/RecordingManager.js +257 -0
- package/dist/esm/modules/recording/RecordingManager.js.map +1 -0
- package/dist/esm/modules/recording/recordingConstants.js +21 -0
- package/dist/esm/modules/recording/recordingConstants.js.map +1 -0
- package/dist/esm/modules/recording/recordingXMLUtils.js +69 -0
- package/dist/esm/modules/recording/recordingXMLUtils.js.map +1 -0
- package/dist/esm/modules/red/red.js +108 -0
- package/dist/esm/modules/red/red.js.map +1 -0
- package/dist/esm/modules/sdp/LocalSdpMunger.js +143 -0
- package/dist/esm/modules/sdp/LocalSdpMunger.js.map +1 -0
- package/dist/esm/modules/sdp/RtxModifier.js +179 -0
- package/dist/esm/modules/sdp/RtxModifier.js.map +1 -0
- package/dist/esm/modules/sdp/SDP.js +848 -0
- package/dist/esm/modules/sdp/SDP.js.map +1 -0
- package/dist/esm/modules/sdp/SDPDiffer.js +96 -0
- package/dist/esm/modules/sdp/SDPDiffer.js.map +1 -0
- package/dist/esm/modules/sdp/SDPUtil.js +798 -0
- package/dist/esm/modules/sdp/SDPUtil.js.map +1 -0
- package/dist/esm/modules/sdp/SampleSdpStrings.js +589 -0
- package/dist/esm/modules/sdp/SampleSdpStrings.js.map +1 -0
- package/dist/esm/modules/sdp/SdpSimulcast.js +196 -0
- package/dist/esm/modules/sdp/SdpSimulcast.js.map +1 -0
- package/dist/esm/modules/sdp/SdpTransformUtil.js +337 -0
- package/dist/esm/modules/sdp/SdpTransformUtil.js.map +1 -0
- package/dist/esm/modules/sdp/constants.js +2 -0
- package/dist/esm/modules/sdp/constants.js.map +1 -0
- package/dist/esm/modules/settings/Settings.js +95 -0
- package/dist/esm/modules/settings/Settings.js.map +1 -0
- package/dist/esm/modules/statistics/AnalyticsAdapter.js +277 -0
- package/dist/esm/modules/statistics/AnalyticsAdapter.js.map +1 -0
- package/dist/esm/modules/statistics/AvgRTPStatsReporter.js +817 -0
- package/dist/esm/modules/statistics/AvgRTPStatsReporter.js.map +1 -0
- package/dist/esm/modules/statistics/LocalStatsCollector.js +149 -0
- package/dist/esm/modules/statistics/LocalStatsCollector.js.map +1 -0
- package/dist/esm/modules/statistics/PreCallTest.js +15 -0
- package/dist/esm/modules/statistics/PreCallTest.js.map +1 -0
- package/dist/esm/modules/statistics/RTPStatsCollector.js +601 -0
- package/dist/esm/modules/statistics/RTPStatsCollector.js.map +1 -0
- package/dist/esm/modules/statistics/SpeakerStats.js +163 -0
- package/dist/esm/modules/statistics/SpeakerStats.js.map +1 -0
- package/dist/esm/modules/statistics/SpeakerStatsCollector.js +161 -0
- package/dist/esm/modules/statistics/SpeakerStatsCollector.js.map +1 -0
- package/dist/esm/modules/statistics/constants.js +7 -0
- package/dist/esm/modules/statistics/constants.js.map +1 -0
- package/dist/esm/modules/statistics/statistics.js +362 -0
- package/dist/esm/modules/statistics/statistics.js.map +1 -0
- package/dist/esm/modules/util/AsyncQueue.js +102 -0
- package/dist/esm/modules/util/AsyncQueue.js.map +1 -0
- package/dist/esm/modules/util/Deferred.js +41 -0
- package/dist/esm/modules/util/Deferred.js.map +1 -0
- package/dist/esm/modules/util/EventEmitter.js +17 -0
- package/dist/esm/modules/util/EventEmitter.js.map +1 -0
- package/dist/esm/modules/util/EventEmitterForwarder.js +52 -0
- package/dist/esm/modules/util/EventEmitterForwarder.js.map +1 -0
- package/dist/esm/modules/util/Listenable.js +106 -0
- package/dist/esm/modules/util/Listenable.js.map +1 -0
- package/dist/esm/modules/util/MathUtil.js +103 -0
- package/dist/esm/modules/util/MathUtil.js.map +1 -0
- package/dist/esm/modules/util/RandomUtil.js +66 -0
- package/dist/esm/modules/util/RandomUtil.js.map +1 -0
- package/dist/esm/modules/util/Retry.js +15 -0
- package/dist/esm/modules/util/Retry.js.map +1 -0
- package/dist/esm/modules/util/ScriptUtil.js +58 -0
- package/dist/esm/modules/util/ScriptUtil.js.map +1 -0
- package/dist/esm/modules/util/StringUtils.js +21 -0
- package/dist/esm/modules/util/StringUtils.js.map +1 -0
- package/dist/esm/modules/util/TestUtils.js +14 -0
- package/dist/esm/modules/util/TestUtils.js.map +1 -0
- package/dist/esm/modules/util/UsernameGenerator.js +436 -0
- package/dist/esm/modules/util/UsernameGenerator.js.map +1 -0
- package/dist/esm/modules/util/XMLUtils.js +135 -0
- package/dist/esm/modules/util/XMLUtils.js.map +1 -0
- package/dist/esm/modules/version/ComponentsVersions.js +52 -0
- package/dist/esm/modules/version/ComponentsVersions.js.map +1 -0
- package/dist/esm/modules/videosipgw/JitsiVideoSIPGWSession.js +137 -0
- package/dist/esm/modules/videosipgw/JitsiVideoSIPGWSession.js.map +1 -0
- package/dist/esm/modules/videosipgw/VideoSIPGW.js +102 -0
- package/dist/esm/modules/videosipgw/VideoSIPGW.js.map +1 -0
- package/dist/esm/modules/videosipgw/VideoSIPGWConstants.js +65 -0
- package/dist/esm/modules/videosipgw/VideoSIPGWConstants.js.map +1 -0
- package/dist/esm/modules/watchRTC/WatchRTC.js +69 -0
- package/dist/esm/modules/watchRTC/WatchRTC.js.map +1 -0
- package/dist/esm/modules/watchRTC/functions.js +31 -0
- package/dist/esm/modules/watchRTC/functions.js.map +1 -0
- package/dist/esm/modules/watchRTC/interfaces.js +2 -0
- package/dist/esm/modules/watchRTC/interfaces.js.map +1 -0
- package/dist/esm/modules/webaudio/AudioMixer.js +74 -0
- package/dist/esm/modules/webaudio/AudioMixer.js.map +1 -0
- package/dist/esm/modules/webaudio/WebAudioUtils.js +13 -0
- package/dist/esm/modules/webaudio/WebAudioUtils.js.map +1 -0
- package/dist/esm/modules/xmpp/AVModeration.js +156 -0
- package/dist/esm/modules/xmpp/AVModeration.js.map +1 -0
- package/dist/esm/modules/xmpp/BreakoutRooms.js +230 -0
- package/dist/esm/modules/xmpp/BreakoutRooms.js.map +1 -0
- package/dist/esm/modules/xmpp/Caps.js +223 -0
- package/dist/esm/modules/xmpp/Caps.js.map +1 -0
- package/dist/esm/modules/xmpp/ChatRoom.js +1877 -0
- package/dist/esm/modules/xmpp/ChatRoom.js.map +1 -0
- package/dist/esm/modules/xmpp/ConnectionPlugin.js +37 -0
- package/dist/esm/modules/xmpp/ConnectionPlugin.js.map +1 -0
- package/dist/esm/modules/xmpp/FileSharing.js +95 -0
- package/dist/esm/modules/xmpp/FileSharing.js.map +1 -0
- package/dist/esm/modules/xmpp/JingleHelperFunctions.js +168 -0
- package/dist/esm/modules/xmpp/JingleHelperFunctions.js.map +1 -0
- package/dist/esm/modules/xmpp/JingleSession.js +166 -0
- package/dist/esm/modules/xmpp/JingleSession.js.map +1 -0
- package/dist/esm/modules/xmpp/JingleSessionPC.js +1969 -0
- package/dist/esm/modules/xmpp/JingleSessionPC.js.map +1 -0
- package/dist/esm/modules/xmpp/JingleSessionState.js +23 -0
- package/dist/esm/modules/xmpp/JingleSessionState.js.map +1 -0
- package/dist/esm/modules/xmpp/Lobby.js +384 -0
- package/dist/esm/modules/xmpp/Lobby.js.map +1 -0
- package/dist/esm/modules/xmpp/MediaSessionEvents.js +12 -0
- package/dist/esm/modules/xmpp/MediaSessionEvents.js.map +1 -0
- package/dist/esm/modules/xmpp/MockClasses.js +77 -0
- package/dist/esm/modules/xmpp/MockClasses.js.map +1 -0
- package/dist/esm/modules/xmpp/Polls.js +87 -0
- package/dist/esm/modules/xmpp/Polls.js.map +1 -0
- package/dist/esm/modules/xmpp/ResumeTask.js +149 -0
- package/dist/esm/modules/xmpp/ResumeTask.js.map +1 -0
- package/dist/esm/modules/xmpp/RoomMetadata.js +96 -0
- package/dist/esm/modules/xmpp/RoomMetadata.js.map +1 -0
- package/dist/esm/modules/xmpp/SignalingLayerImpl.js +313 -0
- package/dist/esm/modules/xmpp/SignalingLayerImpl.js.map +1 -0
- package/dist/esm/modules/xmpp/StropheErrorHandler.js +53 -0
- package/dist/esm/modules/xmpp/StropheErrorHandler.js.map +1 -0
- package/dist/esm/modules/xmpp/StropheLastSuccess.js +52 -0
- package/dist/esm/modules/xmpp/StropheLastSuccess.js.map +1 -0
- package/dist/esm/modules/xmpp/XmppConnection.js +579 -0
- package/dist/esm/modules/xmpp/XmppConnection.js.map +1 -0
- package/dist/esm/modules/xmpp/moderator.js +524 -0
- package/dist/esm/modules/xmpp/moderator.js.map +1 -0
- package/dist/esm/modules/xmpp/sha1.js +165 -0
- package/dist/esm/modules/xmpp/sha1.js.map +1 -0
- package/dist/esm/modules/xmpp/strophe.disco.js +222 -0
- package/dist/esm/modules/xmpp/strophe.disco.js.map +1 -0
- package/dist/esm/modules/xmpp/strophe.emuc.js +206 -0
- package/dist/esm/modules/xmpp/strophe.emuc.js.map +1 -0
- package/dist/esm/modules/xmpp/strophe.jingle.js +404 -0
- package/dist/esm/modules/xmpp/strophe.jingle.js.map +1 -0
- package/dist/esm/modules/xmpp/strophe.logger.js +44 -0
- package/dist/esm/modules/xmpp/strophe.logger.js.map +1 -0
- package/dist/esm/modules/xmpp/strophe.ping.js +170 -0
- package/dist/esm/modules/xmpp/strophe.ping.js.map +1 -0
- package/dist/esm/modules/xmpp/strophe.rayo.js +117 -0
- package/dist/esm/modules/xmpp/strophe.rayo.js.map +1 -0
- package/dist/esm/modules/xmpp/strophe.stream-management.js +365 -0
- package/dist/esm/modules/xmpp/strophe.stream-management.js.map +1 -0
- package/dist/esm/modules/xmpp/strophe.util.js +116 -0
- package/dist/esm/modules/xmpp/strophe.util.js.map +1 -0
- package/dist/esm/modules/xmpp/xmpp.js +973 -0
- package/dist/esm/modules/xmpp/xmpp.js.map +1 -0
- package/dist/esm/service/RTC/BridgeVideoType.js +24 -0
- package/dist/esm/service/RTC/BridgeVideoType.js.map +1 -0
- package/dist/esm/service/RTC/CameraFacingMode.js +21 -0
- package/dist/esm/service/RTC/CameraFacingMode.js.map +1 -0
- package/dist/esm/service/RTC/CodecMimeType.js +36 -0
- package/dist/esm/service/RTC/CodecMimeType.js.map +1 -0
- package/dist/esm/service/RTC/MediaDirection.js +23 -0
- package/dist/esm/service/RTC/MediaDirection.js.map +1 -0
- package/dist/esm/service/RTC/MediaType.js +20 -0
- package/dist/esm/service/RTC/MediaType.js.map +1 -0
- package/dist/esm/service/RTC/RTCEvents.js +111 -0
- package/dist/esm/service/RTC/RTCEvents.js.map +1 -0
- package/dist/esm/service/RTC/ReceiverAudioSubscription.js +27 -0
- package/dist/esm/service/RTC/ReceiverAudioSubscription.js.map +1 -0
- package/dist/esm/service/RTC/Resolutions.js +56 -0
- package/dist/esm/service/RTC/Resolutions.js.map +1 -0
- package/dist/esm/service/RTC/SignalingEvents.js +42 -0
- package/dist/esm/service/RTC/SignalingEvents.js.map +1 -0
- package/dist/esm/service/RTC/SignalingLayer.js +153 -0
- package/dist/esm/service/RTC/SignalingLayer.js.map +1 -0
- package/dist/esm/service/RTC/StandardVideoQualitySettings.js +180 -0
- package/dist/esm/service/RTC/StandardVideoQualitySettings.js.map +1 -0
- package/dist/esm/service/RTC/VideoEncoderScalabilityMode.js +36 -0
- package/dist/esm/service/RTC/VideoEncoderScalabilityMode.js.map +1 -0
- package/dist/esm/service/RTC/VideoType.js +19 -0
- package/dist/esm/service/RTC/VideoType.js.map +1 -0
- package/dist/esm/service/authentication/AuthenticationEvents.js +13 -0
- package/dist/esm/service/authentication/AuthenticationEvents.js.map +1 -0
- package/dist/esm/service/connectivity/ConnectionQualityEvents.js +13 -0
- package/dist/esm/service/connectivity/ConnectionQualityEvents.js.map +1 -0
- package/dist/esm/service/connectivity/Constants.js +3 -0
- package/dist/esm/service/connectivity/Constants.js.map +1 -0
- package/dist/esm/service/e2eping/E2ePingEvents.js +8 -0
- package/dist/esm/service/e2eping/E2ePingEvents.js.map +1 -0
- package/dist/esm/service/statistics/AnalyticsEvents.js +521 -0
- package/dist/esm/service/statistics/AnalyticsEvents.js.map +1 -0
- package/dist/esm/service/statistics/Events.js +36 -0
- package/dist/esm/service/statistics/Events.js.map +1 -0
- package/dist/esm/service/statistics/constants.js +2 -0
- package/dist/esm/service/statistics/constants.js.map +1 -0
- package/dist/esm/service/xmpp/XMPPEvents.js +359 -0
- package/dist/esm/service/xmpp/XMPPEvents.js.map +1 -0
- package/dist/esm/service/xmpp/XMPPExtensioProtocols.js +64 -0
- package/dist/esm/service/xmpp/XMPPExtensioProtocols.js.map +1 -0
- package/dist/esm/test-setup-polyfill.js +34 -0
- package/dist/esm/test-setup-polyfill.js.map +1 -0
- package/dist/esm/tools/gen-version.js +15 -0
- package/dist/esm/tools/gen-version.js.map +1 -0
- package/dist/esm/version.js +3 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/umd/lib-jitsi-meet.e2ee-worker.js +484 -0
- package/dist/umd/lib-jitsi-meet.min.js +3 -0
- package/dist/umd/lib-jitsi-meet.min.js.LICENSE.txt +18 -0
- package/dist/umd/lib-jitsi-meet.min.map +1 -0
- package/package.json +93 -0
- package/types/index.d.ts +16180 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RTCUtils.js","sourceRoot":"","sources":["../../../../modules/RTC/RTCUtils.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { getLogger } from '@jitsi/logger';
|
|
2
|
+
import JitsiTrackError from '../../JitsiTrackError';
|
|
3
|
+
import * as JitsiTrackErrors from '../../JitsiTrackErrors';
|
|
4
|
+
import browser from '../browser';
|
|
5
|
+
const logger = getLogger('rtc:ScreenObtainer');
|
|
6
|
+
/**
|
|
7
|
+
* The default frame rate for Screen Sharing.
|
|
8
|
+
*/
|
|
9
|
+
export const SS_DEFAULT_FRAME_RATE = 5;
|
|
10
|
+
/**
|
|
11
|
+
* Handles obtaining a stream from a screen capture on different browsers.
|
|
12
|
+
*/
|
|
13
|
+
class ScreenObtainer {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.obtainStream = this._createObtainStreamMethod();
|
|
16
|
+
this.options = {};
|
|
17
|
+
this._electronSkipDisplayMedia = false;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Initializes the function used to obtain a screen capture
|
|
21
|
+
* (this.obtainStream).
|
|
22
|
+
*
|
|
23
|
+
* @param {object} options
|
|
24
|
+
*/
|
|
25
|
+
init(options = {}) {
|
|
26
|
+
this.options = options;
|
|
27
|
+
if (!this.obtainStream) {
|
|
28
|
+
logger.warn('Desktop sharing not supported');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns a method which will be used to obtain the screen sharing stream
|
|
33
|
+
* (based on the browser type).
|
|
34
|
+
*
|
|
35
|
+
* @returns {Function}
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
_createObtainStreamMethod() {
|
|
39
|
+
const supportsGetDisplayMedia = browser.supportsGetDisplayMedia();
|
|
40
|
+
if (browser.isElectron()) {
|
|
41
|
+
return this._obtainScreenOnElectron;
|
|
42
|
+
}
|
|
43
|
+
else if (browser.isReactNative() && supportsGetDisplayMedia) {
|
|
44
|
+
return this.obtainScreenFromGetDisplayMediaRN;
|
|
45
|
+
}
|
|
46
|
+
else if (supportsGetDisplayMedia) {
|
|
47
|
+
return this._obtainScreenFromGetDisplayMedia;
|
|
48
|
+
}
|
|
49
|
+
logger.warn('Screen sharing not supported on ', browser.getName());
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Gets the appropriate constraints for audio sharing.
|
|
54
|
+
*
|
|
55
|
+
* @returns {IAudioQuality | boolean}
|
|
56
|
+
*/
|
|
57
|
+
_getAudioConstraints() {
|
|
58
|
+
const { audioQuality } = this.options;
|
|
59
|
+
const isTestModeEnabled = this.options.testing?.testMode;
|
|
60
|
+
// Chrome 140+ requires 'restrictOwnAudio' for proper audio sharing when not using stereo.
|
|
61
|
+
// Starting Chrome 137 'echoCancellation' was turned off by default for screen share audio and needs to be
|
|
62
|
+
// enabled explicity to avoid echo issues.
|
|
63
|
+
// See https://issues.chromium.org/issues/422611724 and https://chromestatus.com/feature/5128140732760064 for more details.
|
|
64
|
+
const supportsRestrictOwnAudio = browser.isChromiumBased()
|
|
65
|
+
&& browser.isEngineVersionGreaterThan(141)
|
|
66
|
+
&& !browser.isElectron();
|
|
67
|
+
const needsEchoCancellation = !audioQuality?.stereo
|
|
68
|
+
&& browser.isChromiumBased()
|
|
69
|
+
&& browser.isEngineVersionGreaterThan(136)
|
|
70
|
+
&& !supportsRestrictOwnAudio;
|
|
71
|
+
const defaultAudioConstraints = {
|
|
72
|
+
autoGainControl: !audioQuality?.stereo,
|
|
73
|
+
channelCount: audioQuality?.stereo ? 2 : 1,
|
|
74
|
+
echoCancellation: !audioQuality?.stereo,
|
|
75
|
+
noiseSuppression: !audioQuality?.stereo
|
|
76
|
+
};
|
|
77
|
+
let audio = (audioQuality?.stereo || needsEchoCancellation)
|
|
78
|
+
? defaultAudioConstraints
|
|
79
|
+
: !isTestModeEnabled;
|
|
80
|
+
if (supportsRestrictOwnAudio && !isTestModeEnabled) {
|
|
81
|
+
if (typeof audio === 'boolean') {
|
|
82
|
+
audio = {
|
|
83
|
+
restrictOwnAudio: true
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
audio.restrictOwnAudio = true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return audio;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Obtains a screen capture stream on Electron.
|
|
94
|
+
*
|
|
95
|
+
* @param onSuccess - Success callback.
|
|
96
|
+
* @param onFailure - Failure callback.
|
|
97
|
+
* @param {Object} options - Optional parameters.
|
|
98
|
+
*/
|
|
99
|
+
_obtainScreenOnElectron(onSuccess, onFailure, options = {}) {
|
|
100
|
+
if (!this._electronSkipDisplayMedia) {
|
|
101
|
+
// Fall-back to the old API in case of not supported error. This can happen if
|
|
102
|
+
// an old Electron SDK is used with a new Jitsi Meet + lib-jitsi-meet version.
|
|
103
|
+
this._obtainScreenFromGetDisplayMedia(onSuccess, err => {
|
|
104
|
+
if (err.name === JitsiTrackErrors.SCREENSHARING_NOT_SUPPORTED_ERROR) {
|
|
105
|
+
// Make sure we don't recurse infinitely.
|
|
106
|
+
this._electronSkipDisplayMedia = true;
|
|
107
|
+
this._obtainScreenOnElectron(onSuccess, onFailure);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
onFailure(err);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
// @ts-ignore TODO: legacy flow, remove after the Electron SDK supporting gDM has been out for a while.
|
|
116
|
+
if (typeof window.JitsiMeetScreenObtainer?.openDesktopPicker === 'function') {
|
|
117
|
+
const { desktopSharingFrameRate, desktopSharingResolution, desktopSharingSources } = this.options;
|
|
118
|
+
// @ts-ignore TODO: legacy flow, remove after the Electron SDK supporting gDM has been out for a while.
|
|
119
|
+
window.JitsiMeetScreenObtainer.openDesktopPicker({
|
|
120
|
+
desktopSharingSources: options.desktopSharingSources || desktopSharingSources || ['screen', 'window']
|
|
121
|
+
}, (streamId, streamType, screenShareAudio = false) => {
|
|
122
|
+
if (streamId) {
|
|
123
|
+
let audioConstraints = false;
|
|
124
|
+
if (screenShareAudio) {
|
|
125
|
+
audioConstraints = {};
|
|
126
|
+
const optionalConstraints = this._getAudioConstraints();
|
|
127
|
+
if (typeof optionalConstraints !== 'boolean') {
|
|
128
|
+
audioConstraints = {
|
|
129
|
+
optional: optionalConstraints
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
// Audio screen sharing for electron only works for screen type devices.
|
|
133
|
+
// i.e. when the user shares the whole desktop.
|
|
134
|
+
// Note. The documentation specifies that chromeMediaSourceId should not be present
|
|
135
|
+
// which, in the case a users has multiple monitors, leads to them being shared all
|
|
136
|
+
// at once. However we tested with chromeMediaSourceId present and it seems to be
|
|
137
|
+
// working properly.
|
|
138
|
+
if (streamType === 'screen') {
|
|
139
|
+
audioConstraints.mandatory = {
|
|
140
|
+
chromeMediaSource: 'desktop'
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const constraints = {
|
|
145
|
+
audio: audioConstraints,
|
|
146
|
+
video: {
|
|
147
|
+
mandatory: {
|
|
148
|
+
chromeMediaSource: 'desktop',
|
|
149
|
+
chromeMediaSourceId: streamId,
|
|
150
|
+
maxFrameRate: desktopSharingFrameRate?.max ?? SS_DEFAULT_FRAME_RATE,
|
|
151
|
+
maxHeight: desktopSharingResolution?.height?.max ?? window.screen.height,
|
|
152
|
+
maxWidth: desktopSharingResolution?.width?.max ?? window.screen.width,
|
|
153
|
+
minFrameRate: desktopSharingFrameRate?.min ?? SS_DEFAULT_FRAME_RATE,
|
|
154
|
+
minHeight: desktopSharingResolution?.height?.min,
|
|
155
|
+
minWidth: desktopSharingResolution?.width?.min
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
// We have to use the old API on Electron to get a desktop stream.
|
|
160
|
+
navigator.mediaDevices.getUserMedia(constraints)
|
|
161
|
+
.then(stream => {
|
|
162
|
+
this.setContentHint(stream);
|
|
163
|
+
onSuccess({
|
|
164
|
+
sourceId: streamId,
|
|
165
|
+
sourceType: streamType,
|
|
166
|
+
stream
|
|
167
|
+
});
|
|
168
|
+
})
|
|
169
|
+
.catch(err => onFailure(err));
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
// As noted in Chrome Desktop Capture API:
|
|
173
|
+
// If user didn't select any source (i.e. canceled the prompt)
|
|
174
|
+
// then the callback is called with an empty streamId.
|
|
175
|
+
onFailure(new JitsiTrackError(JitsiTrackErrors.SCREENSHARING_USER_CANCELED));
|
|
176
|
+
}
|
|
177
|
+
}, err => onFailure(new JitsiTrackError(JitsiTrackErrors.ELECTRON_DESKTOP_PICKER_ERROR, err)));
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
onFailure(new JitsiTrackError(JitsiTrackErrors.ELECTRON_DESKTOP_PICKER_NOT_FOUND));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Obtains a screen capture stream using getDisplayMedia.
|
|
185
|
+
*
|
|
186
|
+
* @param callback - The success callback.
|
|
187
|
+
* @param errorCallback - The error callback.
|
|
188
|
+
* @param {Object} options - Optional parameters.
|
|
189
|
+
*/
|
|
190
|
+
_obtainScreenFromGetDisplayMedia(callback, errorCallback, options = {}) {
|
|
191
|
+
let getDisplayMedia;
|
|
192
|
+
// @ts-ignore Property 'getDisplayMedia' does not exist on type 'Navigator'
|
|
193
|
+
if (navigator.getDisplayMedia) {
|
|
194
|
+
// @ts-ignore Property 'getDisplayMedia' does not exist on type 'Navigator'
|
|
195
|
+
getDisplayMedia = navigator.getDisplayMedia.bind(navigator);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
// eslint-disable-next-line max-len
|
|
199
|
+
getDisplayMedia = navigator.mediaDevices.getDisplayMedia.bind(navigator.mediaDevices);
|
|
200
|
+
}
|
|
201
|
+
const audio = this._getAudioConstraints();
|
|
202
|
+
let video = {};
|
|
203
|
+
const constraintOpts = {};
|
|
204
|
+
// The options passed to this method should take precedence over the global settings.
|
|
205
|
+
const { desktopSharingFrameRate = this.options?.desktopSharingFrameRate, resolution = this.options?.resolution, screenShareSettings = this.options?.screenShareSettings } = options;
|
|
206
|
+
if (typeof desktopSharingFrameRate === 'object') {
|
|
207
|
+
video.frameRate = desktopSharingFrameRate;
|
|
208
|
+
}
|
|
209
|
+
// At the time of this writing 'min' constraint for fps is not supported by getDisplayMedia on any of the
|
|
210
|
+
// browsers. getDisplayMedia will fail with an error "invalid constraints" in this case.
|
|
211
|
+
video.frameRate && delete video.frameRate.min;
|
|
212
|
+
if (browser.isChromiumBased()) {
|
|
213
|
+
// Show users the current tab is the preferred capture source, default: false.
|
|
214
|
+
browser.isEngineVersionGreaterThan(93)
|
|
215
|
+
&& (constraintOpts.preferCurrentTab = screenShareSettings?.desktopPreferCurrentTab || false);
|
|
216
|
+
// Allow users to select system audio, default: include.
|
|
217
|
+
browser.isEngineVersionGreaterThan(104)
|
|
218
|
+
&& (constraintOpts.systemAudio = screenShareSettings?.desktopSystemAudio || 'include');
|
|
219
|
+
// Allow users to seamlessly switch which tab they are sharing without having to select the tab again.
|
|
220
|
+
browser.isEngineVersionGreaterThan(106)
|
|
221
|
+
&& (constraintOpts.surfaceSwitching = screenShareSettings?.desktopSurfaceSwitching || 'include');
|
|
222
|
+
// Allow a user to be shown a preference for what screen is to be captured, default: unset.
|
|
223
|
+
browser.isEngineVersionGreaterThan(106) && screenShareSettings?.desktopDisplaySurface
|
|
224
|
+
&& (video.displaySurface = screenShareSettings?.desktopDisplaySurface);
|
|
225
|
+
// Allow users to select the current tab as a capture source, default: exclude.
|
|
226
|
+
browser.isEngineVersionGreaterThan(111)
|
|
227
|
+
&& (constraintOpts.selfBrowserSurface = screenShareSettings?.desktopSelfBrowserSurface || 'exclude');
|
|
228
|
+
// Set bogus resolution constraints to work around
|
|
229
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=1056311 for low fps screenshare. Capturing SS at
|
|
230
|
+
// very high resolutions restricts the framerate. Therefore, skip this hack when capture fps > 5 fps.
|
|
231
|
+
if (!(desktopSharingFrameRate?.max > SS_DEFAULT_FRAME_RATE)) {
|
|
232
|
+
video.height = 99999;
|
|
233
|
+
video.width = 99999;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Allow a user to be shown a preference for what screen is to be captured.
|
|
237
|
+
if (browser.isSafari() && screenShareSettings?.desktopDisplaySurface) {
|
|
238
|
+
video.displaySurface = screenShareSettings?.desktopDisplaySurface;
|
|
239
|
+
}
|
|
240
|
+
if (Object.keys(video).length === 0) {
|
|
241
|
+
video = true;
|
|
242
|
+
}
|
|
243
|
+
const constraints = {
|
|
244
|
+
audio,
|
|
245
|
+
video,
|
|
246
|
+
...constraintOpts,
|
|
247
|
+
cursor: 'always'
|
|
248
|
+
};
|
|
249
|
+
logger.info('Using getDisplayMedia for screen sharing', constraints);
|
|
250
|
+
getDisplayMedia(constraints)
|
|
251
|
+
.then(stream => {
|
|
252
|
+
this.setContentHint(stream);
|
|
253
|
+
// Apply min fps constraints to the track so that 0Hz mode doesn't kick in.
|
|
254
|
+
// https://bugs.chromium.org/p/webrtc/issues/detail?id=15539
|
|
255
|
+
if (browser.isChromiumBased()) {
|
|
256
|
+
const track = stream.getVideoTracks()[0];
|
|
257
|
+
let minFps = SS_DEFAULT_FRAME_RATE;
|
|
258
|
+
if (typeof desktopSharingFrameRate?.min === 'number' && desktopSharingFrameRate.min > 0) {
|
|
259
|
+
minFps = desktopSharingFrameRate.min;
|
|
260
|
+
}
|
|
261
|
+
const trackConstraints = {
|
|
262
|
+
frameRate: {
|
|
263
|
+
min: minFps
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
// Set the resolution if it is specified in the options. This is currently only enabled for testing.
|
|
267
|
+
// Note that this may result in browser crashes if the shared window is resized due to browser bugs
|
|
268
|
+
// like https://issues.chromium.org/issues/40672396
|
|
269
|
+
if (resolution && this.options.testing?.testMode) {
|
|
270
|
+
trackConstraints.height = resolution;
|
|
271
|
+
trackConstraints.width = Math.floor(resolution * 16 / 9);
|
|
272
|
+
}
|
|
273
|
+
try {
|
|
274
|
+
track.applyConstraints(trackConstraints);
|
|
275
|
+
}
|
|
276
|
+
catch (err) {
|
|
277
|
+
logger.warn(`Min fps=${minFps} constraint could not be applied on the desktop track,`
|
|
278
|
+
+ `${err.message}`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
const videoTracks = stream?.getVideoTracks();
|
|
282
|
+
const track = videoTracks?.length > 0 ? videoTracks[0] : undefined;
|
|
283
|
+
const { deviceId } = track?.getSettings() ?? {};
|
|
284
|
+
callback({
|
|
285
|
+
// Used by remote-control to identify the display that is currently shared.
|
|
286
|
+
sourceId: deviceId ?? stream.id,
|
|
287
|
+
stream
|
|
288
|
+
});
|
|
289
|
+
})
|
|
290
|
+
.catch(error => {
|
|
291
|
+
const errorDetails = {
|
|
292
|
+
errorCode: error.code,
|
|
293
|
+
errorMsg: error.message,
|
|
294
|
+
errorName: error.name,
|
|
295
|
+
errorStack: error.stack
|
|
296
|
+
};
|
|
297
|
+
logger.warn('getDisplayMedia error', JSON.stringify(constraints), JSON.stringify(errorDetails));
|
|
298
|
+
if (errorDetails.errorCode === DOMException.NOT_SUPPORTED_ERR) {
|
|
299
|
+
// This error is thrown when an Electron client has not set a permissions handler.
|
|
300
|
+
errorCallback(new JitsiTrackError(JitsiTrackErrors.SCREENSHARING_NOT_SUPPORTED_ERROR));
|
|
301
|
+
}
|
|
302
|
+
else if (errorDetails.errorMsg?.indexOf('denied by system') !== -1) {
|
|
303
|
+
// On Chrome this is the only thing different between error returned when user cancels
|
|
304
|
+
// and when no permission was given on the OS level.
|
|
305
|
+
errorCallback(new JitsiTrackError(JitsiTrackErrors.PERMISSION_DENIED));
|
|
306
|
+
}
|
|
307
|
+
else if (errorDetails.errorMsg === 'NotReadableError') {
|
|
308
|
+
// This can happen under some weird conditions:
|
|
309
|
+
// - https://issues.chromium.org/issues/369103607
|
|
310
|
+
// - https://issues.chromium.org/issues/353555347
|
|
311
|
+
errorCallback(new JitsiTrackError(JitsiTrackErrors.SCREENSHARING_GENERIC_ERROR));
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
errorCallback(new JitsiTrackError(JitsiTrackErrors.SCREENSHARING_USER_CANCELED));
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Obtains a screen capture stream using getDisplayMedia.
|
|
320
|
+
*
|
|
321
|
+
* @param callback - The success callback.
|
|
322
|
+
* @param errorCallback - The error callback.
|
|
323
|
+
* @internal
|
|
324
|
+
*/
|
|
325
|
+
obtainScreenFromGetDisplayMediaRN(callback, errorCallback) {
|
|
326
|
+
logger.info('Using getDisplayMedia for screen sharing');
|
|
327
|
+
navigator.mediaDevices.getDisplayMedia({ video: true })
|
|
328
|
+
.then(stream => {
|
|
329
|
+
this.setContentHint(stream);
|
|
330
|
+
callback({
|
|
331
|
+
sourceId: stream.id,
|
|
332
|
+
stream
|
|
333
|
+
});
|
|
334
|
+
})
|
|
335
|
+
.catch(() => {
|
|
336
|
+
errorCallback(new JitsiTrackError(JitsiTrackErrors
|
|
337
|
+
.SCREENSHARING_USER_CANCELED));
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
/** Sets the contentHint on the transmitted MediaStreamTrack to indicate charaterstics in the video stream, which
|
|
341
|
+
* informs RTCPeerConnection on how to encode the track (to prefer motion or individual frame detail).
|
|
342
|
+
*
|
|
343
|
+
* @param {MediaStream} stream - The captured desktop stream.
|
|
344
|
+
* @returns {void}
|
|
345
|
+
*/
|
|
346
|
+
setContentHint(stream) {
|
|
347
|
+
const { desktopSharingFrameRate } = this.options;
|
|
348
|
+
const desktopTrack = stream.getVideoTracks()[0];
|
|
349
|
+
// Set contentHint on the desktop track based on the fps requested.
|
|
350
|
+
if ('contentHint' in desktopTrack) {
|
|
351
|
+
desktopTrack.contentHint = desktopSharingFrameRate?.max > SS_DEFAULT_FRAME_RATE ? 'motion' : 'detail';
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
logger.warn('MediaStreamTrack contentHint attribute not supported');
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Checks whether obtaining a screen capture is supported in the current
|
|
359
|
+
* environment.
|
|
360
|
+
* @returns {boolean}
|
|
361
|
+
*/
|
|
362
|
+
isSupported() {
|
|
363
|
+
return this.obtainStream !== null;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Sets the max frame rate to be used for a desktop track capture.
|
|
367
|
+
*
|
|
368
|
+
* @param {number} maxFps capture frame rate to be used for desktop tracks.
|
|
369
|
+
* @returns {void}
|
|
370
|
+
*/
|
|
371
|
+
setDesktopSharingFrameRate(maxFps) {
|
|
372
|
+
logger.info(`Setting the desktop capture rate to ${maxFps}`);
|
|
373
|
+
this.options.desktopSharingFrameRate = {
|
|
374
|
+
max: maxFps,
|
|
375
|
+
min: SS_DEFAULT_FRAME_RATE
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
export default new ScreenObtainer();
|
|
380
|
+
//# sourceMappingURL=ScreenObtainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScreenObtainer.js","sourceRoot":"","sources":["../../../../modules/RTC/ScreenObtainer.ts"],"names":[],"mappings":"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"}
|