UNPKG

sinch-rtc

Version:

RTC JavaScript/Web SDK

41 lines 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CallQualityWarningController = void 0; class CallQualityWarningController { constructor(factory, call) { this.call = call; this.missingMediaStreamWarningDetector = factory.createMissingMediaStreamDetector(); this.webRtcStatsDectors = factory.createWebRtcStatsDetectors(); } onCallEstablished(_) { this.missingMediaStreamWarningDetector.isActive = true; this.startFetchingWebRTCStats(); } onCallEnded(_) { this.missingMediaStreamWarningDetector.isActive = false; if (this.intervalId) { clearInterval(this.intervalId); } } onIceConnectionStateChanged(state) { this.missingMediaStreamWarningDetector.onIceConnectionStateChanged(state); } startFetchingWebRTCStats() { this.intervalId = setInterval(() => { this.call.getPeerConnectionStats().then((stats) => { if (!stats) { return; } this.webRtcStatsDectors.forEach((detector) => { if (stats) { detector.onNewWebRtcStats(stats); } }); }); }, CallQualityWarningController.WEBRTC_FETCH_STATS_INTERVAL_MS); } } exports.CallQualityWarningController = CallQualityWarningController; CallQualityWarningController.WEBRTC_FETCH_STATS_INTERVAL_MS = 500; //# sourceMappingURL=CallQualityWarningController.js.map