@webex/plugin-meetings 2.60.0-next.1 → 2.60.0-next.11
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/dist/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/breakouts/breakout.d.ts +8 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/index.d.ts +5 -0
- package/dist/breakouts/index.js +1 -1
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/common/browser-detection.d.ts +9 -0
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/config.d.ts +2 -0
- package/dist/common/errors/captcha-error.d.ts +15 -0
- package/dist/common/errors/intent-to-join.d.ts +16 -0
- package/dist/common/errors/join-meeting.d.ts +17 -0
- package/dist/common/errors/media.d.ts +15 -0
- package/dist/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/common/errors/parameter.d.ts +15 -0
- package/dist/common/errors/password-error.d.ts +15 -0
- package/dist/common/errors/permission.d.ts +14 -0
- package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/common/errors/reconnection.d.ts +15 -0
- package/dist/common/errors/stats.d.ts +15 -0
- package/dist/common/errors/webex-errors.d.ts +93 -0
- package/dist/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/common/events/events-scope.d.ts +17 -0
- package/dist/common/events/events.d.ts +12 -0
- package/dist/common/events/trigger-proxy.d.ts +2 -0
- package/dist/common/events/util.d.ts +2 -0
- package/dist/common/logs/logger-config.d.ts +2 -0
- package/dist/common/logs/logger-proxy.d.ts +2 -0
- package/dist/common/logs/request.d.ts +36 -0
- package/dist/common/queue.d.ts +34 -0
- package/dist/config.d.ts +71 -0
- package/dist/constants.d.ts +1072 -0
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.d.ts +4 -0
- package/dist/controls-options-manager/enums.d.ts +15 -0
- package/dist/controls-options-manager/enums.js +2 -1
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +136 -0
- package/dist/controls-options-manager/types.d.ts +43 -0
- package/dist/controls-options-manager/util.d.ts +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/locus-info/fullState.d.ts +2 -0
- package/dist/locus-info/hostUtils.d.ts +2 -0
- package/dist/locus-info/index.d.ts +322 -0
- package/dist/locus-info/infoUtils.d.ts +2 -0
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/locus-info/parser.d.ts +272 -0
- package/dist/locus-info/parser.js +5 -5
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/media/index.d.ts +34 -0
- package/dist/media/index.js +6 -5
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +93 -0
- package/dist/media/util.d.ts +2 -0
- package/dist/mediaQualityMetrics/config.d.ts +237 -0
- package/dist/mediaQualityMetrics/config.js +1 -202
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +167 -0
- package/dist/meeting/in-meeting-actions.js +4 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +1719 -0
- package/dist/meeting/index.js +288 -155
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/muteState.d.ts +184 -0
- package/dist/meeting/request.d.ts +290 -0
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/util.d.ts +103 -0
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/index.d.ts +69 -0
- package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
- package/dist/meeting-info/meeting-info-v2.js +3 -0
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.d.ts +22 -0
- package/dist/meeting-info/util.d.ts +2 -0
- package/dist/meeting-info/utilv2.d.ts +2 -0
- package/dist/meeting-info/utilv2.js +14 -29
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +40 -0
- package/dist/meetings/collection.js +17 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +378 -0
- package/dist/meetings/index.js +30 -9
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/util.d.ts +18 -0
- package/dist/member/index.d.ts +160 -0
- package/dist/member/member.types.d.ts +11 -0
- package/dist/member/types.d.ts +32 -0
- package/dist/member/util.d.ts +2 -0
- package/dist/members/collection.d.ts +29 -0
- package/dist/members/index.d.ts +353 -0
- package/dist/members/request.d.ts +114 -0
- package/dist/members/types.d.ts +25 -0
- package/dist/members/util.d.ts +215 -0
- package/dist/metrics/constants.d.ts +68 -0
- package/dist/metrics/constants.js +3 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +45 -0
- package/dist/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/multistream/remoteMediaManager.d.ts +285 -0
- package/dist/multistream/sendSlotManager.d.ts +61 -0
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/personal-meeting-room/index.d.ts +47 -0
- package/dist/personal-meeting-room/request.d.ts +14 -0
- package/dist/personal-meeting-room/util.d.ts +2 -0
- package/dist/reachability/index.d.ts +194 -0
- package/dist/reachability/request.d.ts +39 -0
- package/dist/reactions/constants.d.ts +3 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.type.d.ts +52 -0
- package/dist/reconnection-manager/index.d.ts +136 -0
- package/dist/reconnection-manager/index.js +27 -28
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/index.d.ts +207 -0
- package/dist/recording-controller/util.d.ts +14 -0
- package/dist/roap/index.d.ts +78 -0
- package/dist/roap/request.d.ts +41 -0
- package/dist/roap/turnDiscovery.d.ts +92 -0
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/index.d.ts +54 -0
- package/dist/rtcMetrics/index.js +25 -0
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/statsAnalyzer/global.d.ts +36 -0
- package/dist/statsAnalyzer/index.d.ts +191 -0
- package/dist/statsAnalyzer/index.js +53 -146
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/statsAnalyzer/mqaUtil.js +11 -12
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.d.ts +64 -0
- package/dist/webinar/collection.d.ts +16 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +26 -27
- package/src/constants.ts +10 -4
- package/src/controls-options-manager/enums.ts +2 -0
- package/src/locus-info/parser.ts +6 -6
- package/src/media/index.ts +5 -5
- package/src/mediaQualityMetrics/config.ts +0 -135
- package/src/meeting/in-meeting-actions.ts +8 -0
- package/src/meeting/index.ts +263 -125
- package/src/meeting-info/meeting-info-v2.ts +4 -0
- package/src/meeting-info/utilv2.ts +6 -19
- package/src/meetings/collection.ts +13 -0
- package/src/meetings/index.ts +28 -10
- package/src/metrics/constants.ts +3 -0
- package/src/reconnection-manager/index.ts +63 -68
- package/src/rtcMetrics/index.ts +24 -0
- package/src/statsAnalyzer/index.ts +68 -216
- package/src/statsAnalyzer/mqaUtil.ts +17 -22
- package/test/unit/spec/media/index.ts +20 -4
- package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
- package/test/unit/spec/meeting/index.js +1376 -189
- package/test/unit/spec/meeting/muteState.js +2 -1
- package/test/unit/spec/meeting-info/meetinginfov2.js +28 -0
- package/test/unit/spec/meetings/collection.js +12 -0
- package/test/unit/spec/meetings/index.js +382 -118
- package/test/unit/spec/member/util.js +0 -31
- package/test/unit/spec/reconnection-manager/index.js +42 -12
- package/test/unit/spec/rtcMetrics/index.ts +20 -0
- package/test/unit/spec/stats-analyzer/index.js +12 -2
|
@@ -166,7 +166,10 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
166
166
|
}
|
|
167
167
|
var sendRecvType = isSender ? _constants.STATS.SEND_DIRECTION : _constants.STATS.RECEIVE_DIRECTION;
|
|
168
168
|
var ipType = isRemote ? _constants.STATS.REMOTE : _constants.STATS.LOCAL;
|
|
169
|
-
_this.statsResults.
|
|
169
|
+
if (!_this.statsResults.candidates) {
|
|
170
|
+
_this.statsResults.candidates = {};
|
|
171
|
+
}
|
|
172
|
+
_this.statsResults.candidates[result.id] = {
|
|
170
173
|
candidateType: result.candidateType,
|
|
171
174
|
ipAddress: result.ip,
|
|
172
175
|
// TODO: add ports
|
|
@@ -247,6 +250,15 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
247
250
|
var _this3 = this;
|
|
248
251
|
var newMqa = (0, _lodash.cloneDeep)(_config.emptyMqaInterval);
|
|
249
252
|
(0, _keys.default)(this.statsResults).forEach(function (mediaType) {
|
|
253
|
+
if (!_this3.lastMqaDataSent[mediaType]) {
|
|
254
|
+
_this3.lastMqaDataSent[mediaType] = {};
|
|
255
|
+
}
|
|
256
|
+
if (!_this3.lastMqaDataSent[mediaType].send && mediaType.includes('-send')) {
|
|
257
|
+
_this3.lastMqaDataSent[mediaType].send = {};
|
|
258
|
+
}
|
|
259
|
+
if (!_this3.lastMqaDataSent[mediaType].recv && mediaType.includes('-recv')) {
|
|
260
|
+
_this3.lastMqaDataSent[mediaType].recv = {};
|
|
261
|
+
}
|
|
250
262
|
if (mediaType.includes('audio-send') || mediaType.includes('audio-share-send')) {
|
|
251
263
|
var audioSender = (0, _lodash.cloneDeep)(_config.emptyAudioTransmit);
|
|
252
264
|
(0, _mqaUtil.getAudioSenderMqa)({
|
|
@@ -256,6 +268,7 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
256
268
|
mediaType: mediaType
|
|
257
269
|
});
|
|
258
270
|
newMqa.audioTransmit.push(audioSender);
|
|
271
|
+
_this3.lastMqaDataSent[mediaType].send = (0, _lodash.cloneDeep)(_this3.statsResults[mediaType].send);
|
|
259
272
|
} else if (mediaType.includes('audio-recv') || mediaType.includes('audio-share-recv')) {
|
|
260
273
|
var audioReceiver = (0, _lodash.cloneDeep)(_config.emptyAudioReceive);
|
|
261
274
|
(0, _mqaUtil.getAudioReceiverMqa)({
|
|
@@ -265,6 +278,7 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
265
278
|
mediaType: mediaType
|
|
266
279
|
});
|
|
267
280
|
newMqa.audioReceive.push(audioReceiver);
|
|
281
|
+
_this3.lastMqaDataSent[mediaType].recv = (0, _lodash.cloneDeep)(_this3.statsResults[mediaType].recv);
|
|
268
282
|
} else if (mediaType.includes('video-send') || mediaType.includes('video-share-send')) {
|
|
269
283
|
var videoSender = (0, _lodash.cloneDeep)(_config.emptyVideoTransmit);
|
|
270
284
|
(0, _mqaUtil.getVideoSenderMqa)({
|
|
@@ -274,6 +288,7 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
274
288
|
mediaType: mediaType
|
|
275
289
|
});
|
|
276
290
|
newMqa.videoTransmit.push(videoSender);
|
|
291
|
+
_this3.lastMqaDataSent[mediaType].send = (0, _lodash.cloneDeep)(_this3.statsResults[mediaType].send);
|
|
277
292
|
} else if (mediaType.includes('video-recv') || mediaType.includes('video-share-recv')) {
|
|
278
293
|
var videoReceiver = (0, _lodash.cloneDeep)(_config.emptyVideoReceive);
|
|
279
294
|
(0, _mqaUtil.getVideoReceiverMqa)({
|
|
@@ -283,6 +298,7 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
283
298
|
mediaType: mediaType
|
|
284
299
|
});
|
|
285
300
|
newMqa.videoReceive.push(videoReceiver);
|
|
301
|
+
_this3.lastMqaDataSent[mediaType].recv = (0, _lodash.cloneDeep)(_this3.statsResults[mediaType].recv);
|
|
286
302
|
}
|
|
287
303
|
});
|
|
288
304
|
newMqa.intervalMetadata.peerReflexiveIP = this.statsResults.connectionType.local.ipAddress;
|
|
@@ -416,22 +432,6 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
416
432
|
} else if (!isSender && !this.statsResults[type].recv) {
|
|
417
433
|
this.statsResults[type].recv = (0, _lodash.cloneDeep)(emptyReceiver);
|
|
418
434
|
}
|
|
419
|
-
if (!this.statsResults.resolutions[type]) {
|
|
420
|
-
this.statsResults.resolutions[type] = {};
|
|
421
|
-
}
|
|
422
|
-
if (isSender && !this.statsResults.resolutions[type].send) {
|
|
423
|
-
this.statsResults.resolutions[type].send = (0, _lodash.cloneDeep)(emptySender);
|
|
424
|
-
} else if (!isSender && !this.statsResults.resolutions[type].recv) {
|
|
425
|
-
this.statsResults.resolutions[type].recv = (0, _lodash.cloneDeep)(emptyReceiver);
|
|
426
|
-
}
|
|
427
|
-
if (!this.statsResults.internal[type]) {
|
|
428
|
-
this.statsResults.internal[type] = {};
|
|
429
|
-
}
|
|
430
|
-
if (isSender && !this.statsResults.internal[type].send) {
|
|
431
|
-
this.statsResults.internal[type].send = (0, _lodash.cloneDeep)(emptySender);
|
|
432
|
-
} else if (!isSender && !this.statsResults.internal[type].recv) {
|
|
433
|
-
this.statsResults.internal[type].recv = (0, _lodash.cloneDeep)(emptyReceiver);
|
|
434
|
-
}
|
|
435
435
|
switch (getStatsResult.type) {
|
|
436
436
|
case 'outbound-rtp':
|
|
437
437
|
this.processOutboundRTPResult(getStatsResult, type);
|
|
@@ -439,13 +439,9 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
439
439
|
case 'inbound-rtp':
|
|
440
440
|
this.processInboundRTPResult(getStatsResult, type);
|
|
441
441
|
break;
|
|
442
|
-
case 'track':
|
|
443
|
-
this.processTrackResult(getStatsResult, type);
|
|
444
|
-
break;
|
|
445
442
|
case 'remote-inbound-rtp':
|
|
446
443
|
case 'remote-outbound-rtp':
|
|
447
|
-
|
|
448
|
-
this.compareSentAndReceived(getStatsResult, type, isSender);
|
|
444
|
+
this.compareSentAndReceived(getStatsResult, type);
|
|
449
445
|
break;
|
|
450
446
|
case 'remotecandidate':
|
|
451
447
|
case 'remote-candidate':
|
|
@@ -543,22 +539,6 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
543
539
|
return prev + (((_this7$lastStatsResul = _this7.lastStatsResults[cur]) === null || _this7$lastStatsResul === void 0 ? void 0 : _this7$lastStatsResul.recv[value]) || 0);
|
|
544
540
|
}, 0);
|
|
545
541
|
};
|
|
546
|
-
var getCurrentResolutionsStatsTotals = function getCurrentResolutionsStatsTotals(keyPrefix, value) {
|
|
547
|
-
return (0, _keys.default)(_this7.statsResults).filter(function (key) {
|
|
548
|
-
return key.startsWith(keyPrefix);
|
|
549
|
-
}).reduce(function (prev, cur) {
|
|
550
|
-
var _this7$statsResults$r;
|
|
551
|
-
return prev + (((_this7$statsResults$r = _this7.statsResults.resolutions[cur]) === null || _this7$statsResults$r === void 0 ? void 0 : _this7$statsResults$r.recv[value]) || 0);
|
|
552
|
-
}, 0);
|
|
553
|
-
};
|
|
554
|
-
var getPreviousResolutionsStatsTotals = function getPreviousResolutionsStatsTotals(keyPrefix, value) {
|
|
555
|
-
return (0, _keys.default)(_this7.statsResults).filter(function (key) {
|
|
556
|
-
return key.startsWith(keyPrefix);
|
|
557
|
-
}).reduce(function (prev, cur) {
|
|
558
|
-
var _this7$lastStatsResul2;
|
|
559
|
-
return prev + (((_this7$lastStatsResul2 = _this7.lastStatsResults.resolutions[cur]) === null || _this7$lastStatsResul2 === void 0 ? void 0 : _this7$lastStatsResul2.recv[value]) || 0);
|
|
560
|
-
}, 0);
|
|
561
|
-
};
|
|
562
542
|
if (this.meetingMediaStatus.expected.sendAudio && this.lastStatsResults['audio-send']) {
|
|
563
543
|
// compare audio stats sent
|
|
564
544
|
// NOTE: relies on there being only one sender.
|
|
@@ -599,8 +579,8 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
599
579
|
if (_currentStats.framesEncoded === _previousStats.framesEncoded || _currentStats.framesEncoded === 0) {
|
|
600
580
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video Frames Encoded", _currentStats.framesEncoded);
|
|
601
581
|
}
|
|
602
|
-
if (this.statsResults
|
|
603
|
-
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video Frames sent", this.statsResults
|
|
582
|
+
if (this.statsResults['video-send'].send.framesSent === this.lastStatsResults['video-send'].send.framesSent || this.statsResults['video-send'].send.framesSent === 0) {
|
|
583
|
+
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video Frames sent", this.statsResults['video-send'].send.framesSent);
|
|
604
584
|
}
|
|
605
585
|
}
|
|
606
586
|
this.emitStartStopEvents('video', _previousStats.framesSent, _currentStats.framesSent, true);
|
|
@@ -609,12 +589,12 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
609
589
|
// compare video stats received
|
|
610
590
|
var _currentPacketsReceived = getCurrentStatsTotals('video-recv', 'totalPacketsReceived');
|
|
611
591
|
var _previousPacketsReceived = getPreviousStatsTotals('video-recv', 'totalPacketsReceived');
|
|
612
|
-
var currentFramesReceived =
|
|
613
|
-
var previousFramesReceived =
|
|
592
|
+
var currentFramesReceived = getCurrentStatsTotals('video-recv', 'framesReceived');
|
|
593
|
+
var previousFramesReceived = getPreviousStatsTotals('video-recv', 'framesReceived');
|
|
614
594
|
var currentFramesDecoded = getCurrentStatsTotals('video-recv', 'framesDecoded');
|
|
615
595
|
var previousFramesDecoded = getPreviousStatsTotals('video-recv', 'framesDecoded');
|
|
616
|
-
var currentFramesDropped =
|
|
617
|
-
var previousFramesDropped =
|
|
596
|
+
var currentFramesDropped = getCurrentStatsTotals('video-recv', 'framesDropped');
|
|
597
|
+
var previousFramesDropped = getPreviousStatsTotals('video-recv', 'framesDropped');
|
|
618
598
|
if (_currentPacketsReceived === _previousPacketsReceived || _currentPacketsReceived === 0) {
|
|
619
599
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video RTP packets received", _currentPacketsReceived);
|
|
620
600
|
} else {
|
|
@@ -641,8 +621,8 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
641
621
|
if (_currentStats2.framesEncoded === _previousStats2.framesEncoded || _currentStats2.framesEncoded === 0) {
|
|
642
622
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share frames getting encoded", _currentStats2.framesEncoded);
|
|
643
623
|
}
|
|
644
|
-
if (this.statsResults
|
|
645
|
-
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share frames sent", this.statsResults
|
|
624
|
+
if (this.statsResults['video-share-send'].send.framesSent === this.lastStatsResults['video-share-send'].send.framesSent || this.statsResults['video-share-send'].send.framesSent === 0) {
|
|
625
|
+
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share frames sent", this.statsResults['video-share-send'].send.framesSent);
|
|
646
626
|
}
|
|
647
627
|
}
|
|
648
628
|
}
|
|
@@ -651,12 +631,12 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
651
631
|
// compare share stats received
|
|
652
632
|
var _currentPacketsReceived2 = getCurrentStatsTotals('video-share-recv', 'totalPacketsReceived');
|
|
653
633
|
var _previousPacketsReceived2 = getPreviousStatsTotals('video-share-recv', 'totalPacketsReceived');
|
|
654
|
-
var _currentFramesReceived =
|
|
655
|
-
var _previousFramesReceived =
|
|
634
|
+
var _currentFramesReceived = getCurrentStatsTotals('video-share-recv', 'framesReceived');
|
|
635
|
+
var _previousFramesReceived = getPreviousStatsTotals('video-share-recv', 'framesReceived');
|
|
656
636
|
var _currentFramesDecoded = getCurrentStatsTotals('video-share-recv', 'framesDecoded');
|
|
657
637
|
var _previousFramesDecoded = getPreviousStatsTotals('video-share-recv', 'framesDecoded');
|
|
658
|
-
var _currentFramesDropped =
|
|
659
|
-
var _previousFramesDropped =
|
|
638
|
+
var _currentFramesDropped = getCurrentStatsTotals('video-share-recv', 'framesDropped');
|
|
639
|
+
var _previousFramesDropped = getPreviousStatsTotals('video-share-recv', 'framesDropped');
|
|
660
640
|
if (_currentPacketsReceived2 === _previousPacketsReceived2 || _currentPacketsReceived2 === 0) {
|
|
661
641
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets received", _currentPacketsReceived2);
|
|
662
642
|
} else {
|
|
@@ -757,33 +737,15 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
757
737
|
if (result.bytesSent) {
|
|
758
738
|
var kilobytes = 0;
|
|
759
739
|
if (result.frameWidth && result.frameHeight) {
|
|
760
|
-
this.statsResults
|
|
761
|
-
this.statsResults
|
|
762
|
-
this.statsResults
|
|
763
|
-
this.statsResults
|
|
740
|
+
this.statsResults[mediaType][sendrecvType].width = result.frameWidth;
|
|
741
|
+
this.statsResults[mediaType][sendrecvType].height = result.frameHeight;
|
|
742
|
+
this.statsResults[mediaType][sendrecvType].framesSent = result.framesSent;
|
|
743
|
+
this.statsResults[mediaType][sendrecvType].hugeFramesSent = result.hugeFramesSent;
|
|
764
744
|
}
|
|
765
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesSent) {
|
|
766
|
-
this.statsResults.internal[mediaType][sendrecvType].prevBytesSent = result.bytesSent;
|
|
767
|
-
}
|
|
768
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].framesEncoded) {
|
|
769
|
-
this.statsResults.internal[mediaType][sendrecvType].framesEncoded = result.framesEncoded;
|
|
770
|
-
}
|
|
771
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].keyFramesEncoded) {
|
|
772
|
-
this.statsResults.internal[mediaType][sendrecvType].keyFramesEncoded = result.keyFramesEncoded;
|
|
773
|
-
}
|
|
774
|
-
var bytes = result.bytesSent - this.statsResults.internal[mediaType][sendrecvType].prevBytesSent;
|
|
775
|
-
this.statsResults.internal[mediaType][sendrecvType].prevBytesSent = result.bytesSent;
|
|
776
|
-
kilobytes = bytes / 1024;
|
|
777
745
|
this.statsResults[mediaType][sendrecvType].availableBandwidth = kilobytes.toFixed(1);
|
|
778
|
-
this.statsResults[mediaType].
|
|
779
|
-
this.statsResults[mediaType][sendrecvType].
|
|
780
|
-
this.statsResults[mediaType][sendrecvType].
|
|
781
|
-
this.statsResults.internal[mediaType].outboundRtpId = result.id;
|
|
782
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].packetsSent) {
|
|
783
|
-
this.statsResults.internal[mediaType][sendrecvType].packetsSent = result.packetsSent;
|
|
784
|
-
}
|
|
785
|
-
this.statsResults[mediaType][sendrecvType].packetsSent = result.packetsSent - this.statsResults.internal[mediaType][sendrecvType].packetsSent;
|
|
786
|
-
this.statsResults.internal[mediaType][sendrecvType].packetsSent = result.packetsSent;
|
|
746
|
+
this.statsResults[mediaType][sendrecvType].framesEncoded = result.framesEncoded;
|
|
747
|
+
this.statsResults[mediaType][sendrecvType].keyFramesEncoded = result.keyFramesEncoded;
|
|
748
|
+
this.statsResults[mediaType][sendrecvType].packetsSent = result.packetsSent;
|
|
787
749
|
|
|
788
750
|
// Data saved to send MQA metrics
|
|
789
751
|
|
|
@@ -820,45 +782,27 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
820
782
|
var receiveSlot = this.receiveSlotCallback(result.ssrc);
|
|
821
783
|
var idAndCsi = receiveSlot ? "id: \"".concat(receiveSlot.id || '', "\"").concat(receiveSlot.csi ? " and csi: ".concat(receiveSlot.csi) : '') : '';
|
|
822
784
|
if (result.frameWidth && result.frameHeight) {
|
|
823
|
-
this.statsResults
|
|
824
|
-
this.statsResults
|
|
825
|
-
this.statsResults
|
|
785
|
+
this.statsResults[mediaType][sendrecvType].width = result.frameWidth;
|
|
786
|
+
this.statsResults[mediaType][sendrecvType].height = result.frameHeight;
|
|
787
|
+
this.statsResults[mediaType][sendrecvType].framesReceived = result.framesReceived;
|
|
826
788
|
}
|
|
827
|
-
|
|
828
|
-
this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
829
|
-
}
|
|
830
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].pliCount) {
|
|
831
|
-
this.statsResults.internal[mediaType][sendrecvType].pliCount = result.pliCount;
|
|
832
|
-
}
|
|
833
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].packetsLost) {
|
|
834
|
-
this.statsResults.internal[mediaType][sendrecvType].packetsLost = result.packetsLost;
|
|
835
|
-
}
|
|
836
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].totalPacketsReceived) {
|
|
837
|
-
this.statsResults.internal[mediaType][sendrecvType].totalPacketsReceived = result.packetsReceived;
|
|
838
|
-
}
|
|
839
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].lastPacketReceivedTimestamp) {
|
|
840
|
-
this.statsResults.internal[mediaType][sendrecvType].lastPacketReceivedTimestamp = result.lastPacketReceivedTimestamp;
|
|
841
|
-
}
|
|
842
|
-
var bytes = result.bytesReceived - this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived;
|
|
843
|
-
this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
789
|
+
var bytes = result.bytesReceived - this.statsResults[mediaType][sendrecvType].totalBytesReceived;
|
|
844
790
|
kilobytes = bytes / 1024;
|
|
845
791
|
this.statsResults[mediaType][sendrecvType].availableBandwidth = kilobytes.toFixed(1);
|
|
846
|
-
this.statsResults[mediaType].
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
if (this.statsResults[mediaType][sendrecvType].currentPacketsLost < 0) {
|
|
850
|
-
this.statsResults[mediaType][sendrecvType].currentPacketsLost = 0;
|
|
792
|
+
var currentPacketsLost = result.packetsLost - this.statsResults[mediaType][sendrecvType].totalPacketsLost;
|
|
793
|
+
if (currentPacketsLost < 0) {
|
|
794
|
+
currentPacketsLost = 0;
|
|
851
795
|
}
|
|
852
|
-
|
|
853
|
-
this.statsResults
|
|
854
|
-
if (
|
|
796
|
+
var currentPacketsReceived = result.packetsReceived - this.statsResults[mediaType][sendrecvType].totalPacketsReceived;
|
|
797
|
+
this.statsResults[mediaType][sendrecvType].totalPacketsReceived = result.packetsReceived;
|
|
798
|
+
if (currentPacketsReceived === 0) {
|
|
855
799
|
if (receiveSlot) {
|
|
856
|
-
_loggerProxy.default.logger.info("StatsAnalyzer:index#processInboundRTPResult --> No packets received for receive slot ".concat(idAndCsi),
|
|
800
|
+
_loggerProxy.default.logger.info("StatsAnalyzer:index#processInboundRTPResult --> No packets received for receive slot ".concat(idAndCsi), currentPacketsReceived);
|
|
857
801
|
}
|
|
858
802
|
}
|
|
859
803
|
|
|
860
804
|
// Check the over all packet Lost ratio
|
|
861
|
-
this.statsResults[mediaType][sendrecvType].currentPacketLossRatio =
|
|
805
|
+
this.statsResults[mediaType][sendrecvType].currentPacketLossRatio = currentPacketsLost > 0 ? currentPacketsLost / (currentPacketsReceived + currentPacketsLost) : 0;
|
|
862
806
|
if (this.statsResults[mediaType][sendrecvType].currentPacketLossRatio > 3) {
|
|
863
807
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#processInboundRTPResult --> Packets getting lost from the receiver with slot ".concat(idAndCsi), this.statsResults[mediaType][sendrecvType].currentPacketLossRatio);
|
|
864
808
|
}
|
|
@@ -895,39 +839,8 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
895
839
|
}
|
|
896
840
|
}
|
|
897
841
|
}, {
|
|
898
|
-
key: "
|
|
842
|
+
key: "compareSentAndReceived",
|
|
899
843
|
value:
|
|
900
|
-
/**
|
|
901
|
-
* Process Track results
|
|
902
|
-
*
|
|
903
|
-
* @private
|
|
904
|
-
* @param {*} result
|
|
905
|
-
* @param {*} mediaType
|
|
906
|
-
* @returns {void}
|
|
907
|
-
* @memberof StatsAnalyzer
|
|
908
|
-
*/
|
|
909
|
-
function processTrackResult(result, mediaType) {
|
|
910
|
-
if (!result || result.type !== 'track') {
|
|
911
|
-
return;
|
|
912
|
-
}
|
|
913
|
-
var sendrecvType = result.remoteSource === true ? _constants.STATS.RECEIVE_DIRECTION : _constants.STATS.SEND_DIRECTION;
|
|
914
|
-
if (sendrecvType === _constants.STATS.RECEIVE_DIRECTION) {
|
|
915
|
-
this.statsResults.resolutions[mediaType][sendrecvType].framesReceived = result.framesReceived;
|
|
916
|
-
this.statsResults.resolutions[mediaType][sendrecvType].framesDecoded = result.framesDecoded;
|
|
917
|
-
this.statsResults.resolutions[mediaType][sendrecvType].framesDropped = result.framesDropped;
|
|
918
|
-
}
|
|
919
|
-
if (result.trackIdentifier && !mediaType.includes('audio')) {
|
|
920
|
-
this.statsResults.resolutions[mediaType][sendrecvType].trackIdentifier = result.trackIdentifier;
|
|
921
|
-
var jitterBufferDelay = result && result.jitterBufferDelay;
|
|
922
|
-
var jitterBufferEmittedCount = result && result.jitterBufferEmittedCount;
|
|
923
|
-
this.statsResults.resolutions[mediaType][sendrecvType].avgJitterDelay = jitterBufferEmittedCount && +jitterBufferDelay / +jitterBufferEmittedCount;
|
|
924
|
-
|
|
925
|
-
// Used to calculate the jitter
|
|
926
|
-
this.statsResults.resolutions[mediaType][sendrecvType].jitterBufferDelay = result.jitterBufferDelay;
|
|
927
|
-
this.statsResults.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount = result.jitterBufferEmittedCount;
|
|
928
|
-
}
|
|
929
|
-
}
|
|
930
|
-
|
|
931
844
|
/**
|
|
932
845
|
*
|
|
933
846
|
* @private
|
|
@@ -936,19 +849,13 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
936
849
|
* @returns {void}
|
|
937
850
|
* @memberof StatsAnalyzer
|
|
938
851
|
*/
|
|
939
|
-
|
|
940
|
-
key: "compareSentAndReceived",
|
|
941
|
-
value: function compareSentAndReceived(result, type) {
|
|
852
|
+
function compareSentAndReceived(result, type) {
|
|
942
853
|
// Don't compare on transceivers without a sender.
|
|
943
|
-
if (!type || !this.statsResults
|
|
854
|
+
if (!type || !this.statsResults[type].send) {
|
|
944
855
|
return;
|
|
945
856
|
}
|
|
946
857
|
var mediaType = type;
|
|
947
|
-
|
|
948
|
-
this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver = result.packetsLost;
|
|
949
|
-
}
|
|
950
|
-
var currentPacketLoss = result.packetsLost - this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver;
|
|
951
|
-
this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver = result.packetsLost;
|
|
858
|
+
var currentPacketLoss = result.packetsLost - this.statsResults[mediaType].send.totalPacketsLostOnReceiver;
|
|
952
859
|
this.statsResults[mediaType].send.packetsLostOnReceiver = currentPacketLoss;
|
|
953
860
|
this.statsResults[mediaType].send.totalPacketsLostOnReceiver = result.packetsLost;
|
|
954
861
|
this.statsResults[mediaType].send.meanRemoteJitter.push(result.jitter);
|