@webex/plugin-meetings 2.60.0-next.7 → 2.60.0-next.8
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/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +0 -128
- package/dist/mediaQualityMetrics/config.js +1 -202
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/index.d.ts +5 -1
- package/dist/meeting/index.js +15 -8
- package/dist/meeting/index.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +0 -10
- package/dist/statsAnalyzer/index.js +41 -154
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +21 -22
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +2 -2
- package/src/mediaQualityMetrics/config.ts +0 -135
- package/src/meeting/index.ts +16 -7
- package/src/statsAnalyzer/index.ts +49 -226
- package/src/statsAnalyzer/mqaUtil.ts +13 -21
- package/test/unit/spec/meeting/index.js +93 -2
|
@@ -178,16 +178,6 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
178
178
|
* @returns {void}
|
|
179
179
|
*/
|
|
180
180
|
parseCandidate: (result: any, type: any, isSender: boolean, isRemote: boolean) => void;
|
|
181
|
-
/**
|
|
182
|
-
* Process Track results
|
|
183
|
-
*
|
|
184
|
-
* @private
|
|
185
|
-
* @param {*} result
|
|
186
|
-
* @param {*} mediaType
|
|
187
|
-
* @returns {void}
|
|
188
|
-
* @memberof StatsAnalyzer
|
|
189
|
-
*/
|
|
190
|
-
private processTrackResult;
|
|
191
181
|
/**
|
|
192
182
|
*
|
|
193
183
|
* @private
|
|
@@ -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
|
|
@@ -191,9 +194,7 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
191
194
|
_this.networkQualityMonitor = networkQualityMonitor;
|
|
192
195
|
_this.correlationId = config.correlationId;
|
|
193
196
|
_this.mqaSentCount = -1;
|
|
194
|
-
_this.lastMqaDataSent = {
|
|
195
|
-
resolutions: {}
|
|
196
|
-
};
|
|
197
|
+
_this.lastMqaDataSent = {};
|
|
197
198
|
_this.lastEmittedStartStopEvent = {};
|
|
198
199
|
_this.receiveSlotCallback = receiveSlotCallback;
|
|
199
200
|
_this.successfulCandidatePair = {};
|
|
@@ -251,15 +252,12 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
251
252
|
(0, _keys.default)(this.statsResults).forEach(function (mediaType) {
|
|
252
253
|
if (!_this3.lastMqaDataSent[mediaType]) {
|
|
253
254
|
_this3.lastMqaDataSent[mediaType] = {};
|
|
254
|
-
_this3.lastMqaDataSent.resolutions[mediaType] = {};
|
|
255
255
|
}
|
|
256
256
|
if (!_this3.lastMqaDataSent[mediaType].send && mediaType.includes('-send')) {
|
|
257
257
|
_this3.lastMqaDataSent[mediaType].send = {};
|
|
258
|
-
_this3.lastMqaDataSent.resolutions[mediaType].send = {};
|
|
259
258
|
}
|
|
260
259
|
if (!_this3.lastMqaDataSent[mediaType].recv && mediaType.includes('-recv')) {
|
|
261
260
|
_this3.lastMqaDataSent[mediaType].recv = {};
|
|
262
|
-
_this3.lastMqaDataSent.resolutions[mediaType].recv = {};
|
|
263
261
|
}
|
|
264
262
|
if (mediaType.includes('audio-send') || mediaType.includes('audio-share-send')) {
|
|
265
263
|
var audioSender = (0, _lodash.cloneDeep)(_config.emptyAudioTransmit);
|
|
@@ -291,7 +289,6 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
291
289
|
});
|
|
292
290
|
newMqa.videoTransmit.push(videoSender);
|
|
293
291
|
_this3.lastMqaDataSent[mediaType].send = (0, _lodash.cloneDeep)(_this3.statsResults[mediaType].send);
|
|
294
|
-
_this3.lastMqaDataSent.resolutions[mediaType].send = (0, _lodash.cloneDeep)(_this3.statsResults.resolutions[mediaType].send);
|
|
295
292
|
} else if (mediaType.includes('video-recv') || mediaType.includes('video-share-recv')) {
|
|
296
293
|
var videoReceiver = (0, _lodash.cloneDeep)(_config.emptyVideoReceive);
|
|
297
294
|
(0, _mqaUtil.getVideoReceiverMqa)({
|
|
@@ -302,7 +299,6 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
302
299
|
});
|
|
303
300
|
newMqa.videoReceive.push(videoReceiver);
|
|
304
301
|
_this3.lastMqaDataSent[mediaType].recv = (0, _lodash.cloneDeep)(_this3.statsResults[mediaType].recv);
|
|
305
|
-
_this3.lastMqaDataSent.resolutions[mediaType].recv = (0, _lodash.cloneDeep)(_this3.statsResults.resolutions[mediaType].recv);
|
|
306
302
|
}
|
|
307
303
|
});
|
|
308
304
|
newMqa.intervalMetadata.peerReflexiveIP = this.statsResults.connectionType.local.ipAddress;
|
|
@@ -436,22 +432,6 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
436
432
|
} else if (!isSender && !this.statsResults[type].recv) {
|
|
437
433
|
this.statsResults[type].recv = (0, _lodash.cloneDeep)(emptyReceiver);
|
|
438
434
|
}
|
|
439
|
-
if (!this.statsResults.resolutions[type]) {
|
|
440
|
-
this.statsResults.resolutions[type] = {};
|
|
441
|
-
}
|
|
442
|
-
if (isSender && !this.statsResults.resolutions[type].send) {
|
|
443
|
-
this.statsResults.resolutions[type].send = (0, _lodash.cloneDeep)(emptySender);
|
|
444
|
-
} else if (!isSender && !this.statsResults.resolutions[type].recv) {
|
|
445
|
-
this.statsResults.resolutions[type].recv = (0, _lodash.cloneDeep)(emptyReceiver);
|
|
446
|
-
}
|
|
447
|
-
if (!this.statsResults.internal[type]) {
|
|
448
|
-
this.statsResults.internal[type] = {};
|
|
449
|
-
}
|
|
450
|
-
if (isSender && !this.statsResults.internal[type].send) {
|
|
451
|
-
this.statsResults.internal[type].send = (0, _lodash.cloneDeep)(emptySender);
|
|
452
|
-
} else if (!isSender && !this.statsResults.internal[type].recv) {
|
|
453
|
-
this.statsResults.internal[type].recv = (0, _lodash.cloneDeep)(emptyReceiver);
|
|
454
|
-
}
|
|
455
435
|
switch (getStatsResult.type) {
|
|
456
436
|
case 'outbound-rtp':
|
|
457
437
|
this.processOutboundRTPResult(getStatsResult, type);
|
|
@@ -459,13 +439,9 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
459
439
|
case 'inbound-rtp':
|
|
460
440
|
this.processInboundRTPResult(getStatsResult, type);
|
|
461
441
|
break;
|
|
462
|
-
case 'track':
|
|
463
|
-
this.processTrackResult(getStatsResult, type);
|
|
464
|
-
break;
|
|
465
442
|
case 'remote-inbound-rtp':
|
|
466
443
|
case 'remote-outbound-rtp':
|
|
467
|
-
|
|
468
|
-
this.compareSentAndReceived(getStatsResult, type, isSender);
|
|
444
|
+
this.compareSentAndReceived(getStatsResult, type);
|
|
469
445
|
break;
|
|
470
446
|
case 'remotecandidate':
|
|
471
447
|
case 'remote-candidate':
|
|
@@ -563,22 +539,6 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
563
539
|
return prev + (((_this7$lastStatsResul = _this7.lastStatsResults[cur]) === null || _this7$lastStatsResul === void 0 ? void 0 : _this7$lastStatsResul.recv[value]) || 0);
|
|
564
540
|
}, 0);
|
|
565
541
|
};
|
|
566
|
-
var getCurrentResolutionsStatsTotals = function getCurrentResolutionsStatsTotals(keyPrefix, value) {
|
|
567
|
-
return (0, _keys.default)(_this7.statsResults).filter(function (key) {
|
|
568
|
-
return key.startsWith(keyPrefix);
|
|
569
|
-
}).reduce(function (prev, cur) {
|
|
570
|
-
var _this7$statsResults$r;
|
|
571
|
-
return prev + (((_this7$statsResults$r = _this7.statsResults.resolutions[cur]) === null || _this7$statsResults$r === void 0 ? void 0 : _this7$statsResults$r.recv[value]) || 0);
|
|
572
|
-
}, 0);
|
|
573
|
-
};
|
|
574
|
-
var getPreviousResolutionsStatsTotals = function getPreviousResolutionsStatsTotals(keyPrefix, value) {
|
|
575
|
-
return (0, _keys.default)(_this7.statsResults).filter(function (key) {
|
|
576
|
-
return key.startsWith(keyPrefix);
|
|
577
|
-
}).reduce(function (prev, cur) {
|
|
578
|
-
var _this7$lastStatsResul2;
|
|
579
|
-
return prev + (((_this7$lastStatsResul2 = _this7.lastStatsResults.resolutions[cur]) === null || _this7$lastStatsResul2 === void 0 ? void 0 : _this7$lastStatsResul2.recv[value]) || 0);
|
|
580
|
-
}, 0);
|
|
581
|
-
};
|
|
582
542
|
if (this.meetingMediaStatus.expected.sendAudio && this.lastStatsResults['audio-send']) {
|
|
583
543
|
// compare audio stats sent
|
|
584
544
|
// NOTE: relies on there being only one sender.
|
|
@@ -619,8 +579,8 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
619
579
|
if (_currentStats.framesEncoded === _previousStats.framesEncoded || _currentStats.framesEncoded === 0) {
|
|
620
580
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video Frames Encoded", _currentStats.framesEncoded);
|
|
621
581
|
}
|
|
622
|
-
if (this.statsResults
|
|
623
|
-
_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);
|
|
624
584
|
}
|
|
625
585
|
}
|
|
626
586
|
this.emitStartStopEvents('video', _previousStats.framesSent, _currentStats.framesSent, true);
|
|
@@ -629,12 +589,12 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
629
589
|
// compare video stats received
|
|
630
590
|
var _currentPacketsReceived = getCurrentStatsTotals('video-recv', 'totalPacketsReceived');
|
|
631
591
|
var _previousPacketsReceived = getPreviousStatsTotals('video-recv', 'totalPacketsReceived');
|
|
632
|
-
var currentFramesReceived =
|
|
633
|
-
var previousFramesReceived =
|
|
592
|
+
var currentFramesReceived = getCurrentStatsTotals('video-recv', 'framesReceived');
|
|
593
|
+
var previousFramesReceived = getPreviousStatsTotals('video-recv', 'framesReceived');
|
|
634
594
|
var currentFramesDecoded = getCurrentStatsTotals('video-recv', 'framesDecoded');
|
|
635
595
|
var previousFramesDecoded = getPreviousStatsTotals('video-recv', 'framesDecoded');
|
|
636
|
-
var currentFramesDropped =
|
|
637
|
-
var previousFramesDropped =
|
|
596
|
+
var currentFramesDropped = getCurrentStatsTotals('video-recv', 'framesDropped');
|
|
597
|
+
var previousFramesDropped = getPreviousStatsTotals('video-recv', 'framesDropped');
|
|
638
598
|
if (_currentPacketsReceived === _previousPacketsReceived || _currentPacketsReceived === 0) {
|
|
639
599
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No video RTP packets received", _currentPacketsReceived);
|
|
640
600
|
} else {
|
|
@@ -661,8 +621,8 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
661
621
|
if (_currentStats2.framesEncoded === _previousStats2.framesEncoded || _currentStats2.framesEncoded === 0) {
|
|
662
622
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share frames getting encoded", _currentStats2.framesEncoded);
|
|
663
623
|
}
|
|
664
|
-
if (this.statsResults
|
|
665
|
-
_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);
|
|
666
626
|
}
|
|
667
627
|
}
|
|
668
628
|
}
|
|
@@ -671,12 +631,12 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
671
631
|
// compare share stats received
|
|
672
632
|
var _currentPacketsReceived2 = getCurrentStatsTotals('video-share-recv', 'totalPacketsReceived');
|
|
673
633
|
var _previousPacketsReceived2 = getPreviousStatsTotals('video-share-recv', 'totalPacketsReceived');
|
|
674
|
-
var _currentFramesReceived =
|
|
675
|
-
var _previousFramesReceived =
|
|
634
|
+
var _currentFramesReceived = getCurrentStatsTotals('video-share-recv', 'framesReceived');
|
|
635
|
+
var _previousFramesReceived = getPreviousStatsTotals('video-share-recv', 'framesReceived');
|
|
676
636
|
var _currentFramesDecoded = getCurrentStatsTotals('video-share-recv', 'framesDecoded');
|
|
677
637
|
var _previousFramesDecoded = getPreviousStatsTotals('video-share-recv', 'framesDecoded');
|
|
678
|
-
var _currentFramesDropped =
|
|
679
|
-
var _previousFramesDropped =
|
|
638
|
+
var _currentFramesDropped = getCurrentStatsTotals('video-share-recv', 'framesDropped');
|
|
639
|
+
var _previousFramesDropped = getPreviousStatsTotals('video-share-recv', 'framesDropped');
|
|
680
640
|
if (_currentPacketsReceived2 === _previousPacketsReceived2 || _currentPacketsReceived2 === 0) {
|
|
681
641
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No share RTP packets received", _currentPacketsReceived2);
|
|
682
642
|
} else {
|
|
@@ -777,33 +737,15 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
777
737
|
if (result.bytesSent) {
|
|
778
738
|
var kilobytes = 0;
|
|
779
739
|
if (result.frameWidth && result.frameHeight) {
|
|
780
|
-
this.statsResults
|
|
781
|
-
this.statsResults
|
|
782
|
-
this.statsResults
|
|
783
|
-
this.statsResults
|
|
784
|
-
}
|
|
785
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesSent) {
|
|
786
|
-
this.statsResults.internal[mediaType][sendrecvType].prevBytesSent = result.bytesSent;
|
|
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;
|
|
787
744
|
}
|
|
788
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].framesEncoded) {
|
|
789
|
-
this.statsResults.internal[mediaType][sendrecvType].framesEncoded = result.framesEncoded;
|
|
790
|
-
}
|
|
791
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].keyFramesEncoded) {
|
|
792
|
-
this.statsResults.internal[mediaType][sendrecvType].keyFramesEncoded = result.keyFramesEncoded;
|
|
793
|
-
}
|
|
794
|
-
var bytes = result.bytesSent - this.statsResults.internal[mediaType][sendrecvType].prevBytesSent;
|
|
795
|
-
this.statsResults.internal[mediaType][sendrecvType].prevBytesSent = result.bytesSent;
|
|
796
|
-
kilobytes = bytes / 1024;
|
|
797
745
|
this.statsResults[mediaType][sendrecvType].availableBandwidth = kilobytes.toFixed(1);
|
|
798
|
-
this.statsResults[mediaType].
|
|
799
|
-
this.statsResults[mediaType][sendrecvType].
|
|
800
|
-
this.statsResults[mediaType][sendrecvType].
|
|
801
|
-
this.statsResults.internal[mediaType].outboundRtpId = result.id;
|
|
802
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].packetsSent) {
|
|
803
|
-
this.statsResults.internal[mediaType][sendrecvType].packetsSent = result.packetsSent;
|
|
804
|
-
}
|
|
805
|
-
this.statsResults[mediaType][sendrecvType].packetsSent = result.packetsSent - this.statsResults.internal[mediaType][sendrecvType].packetsSent;
|
|
806
|
-
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;
|
|
807
749
|
|
|
808
750
|
// Data saved to send MQA metrics
|
|
809
751
|
|
|
@@ -840,45 +782,27 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
840
782
|
var receiveSlot = this.receiveSlotCallback(result.ssrc);
|
|
841
783
|
var idAndCsi = receiveSlot ? "id: \"".concat(receiveSlot.id || '', "\"").concat(receiveSlot.csi ? " and csi: ".concat(receiveSlot.csi) : '') : '';
|
|
842
784
|
if (result.frameWidth && result.frameHeight) {
|
|
843
|
-
this.statsResults
|
|
844
|
-
this.statsResults
|
|
845
|
-
this.statsResults
|
|
846
|
-
}
|
|
847
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived) {
|
|
848
|
-
this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
785
|
+
this.statsResults[mediaType][sendrecvType].width = result.frameWidth;
|
|
786
|
+
this.statsResults[mediaType][sendrecvType].height = result.frameHeight;
|
|
787
|
+
this.statsResults[mediaType][sendrecvType].framesReceived = result.framesReceived;
|
|
849
788
|
}
|
|
850
|
-
|
|
851
|
-
this.statsResults.internal[mediaType][sendrecvType].pliCount = result.pliCount;
|
|
852
|
-
}
|
|
853
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].packetsLost) {
|
|
854
|
-
this.statsResults.internal[mediaType][sendrecvType].packetsLost = result.packetsLost;
|
|
855
|
-
}
|
|
856
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].totalPacketsReceived) {
|
|
857
|
-
this.statsResults.internal[mediaType][sendrecvType].totalPacketsReceived = result.packetsReceived;
|
|
858
|
-
}
|
|
859
|
-
if (!this.statsResults.internal[mediaType][sendrecvType].lastPacketReceivedTimestamp) {
|
|
860
|
-
this.statsResults.internal[mediaType][sendrecvType].lastPacketReceivedTimestamp = result.lastPacketReceivedTimestamp;
|
|
861
|
-
}
|
|
862
|
-
var bytes = result.bytesReceived - this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived;
|
|
863
|
-
this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived = result.bytesReceived;
|
|
789
|
+
var bytes = result.bytesReceived - this.statsResults[mediaType][sendrecvType].totalBytesReceived;
|
|
864
790
|
kilobytes = bytes / 1024;
|
|
865
791
|
this.statsResults[mediaType][sendrecvType].availableBandwidth = kilobytes.toFixed(1);
|
|
866
|
-
this.statsResults[mediaType].
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
if (this.statsResults[mediaType][sendrecvType].currentPacketsLost < 0) {
|
|
870
|
-
this.statsResults[mediaType][sendrecvType].currentPacketsLost = 0;
|
|
792
|
+
var currentPacketsLost = result.packetsLost - this.statsResults[mediaType][sendrecvType].totalPacketsLost;
|
|
793
|
+
if (currentPacketsLost < 0) {
|
|
794
|
+
currentPacketsLost = 0;
|
|
871
795
|
}
|
|
872
|
-
|
|
873
|
-
this.statsResults
|
|
874
|
-
if (
|
|
796
|
+
var currentPacketsReceived = result.packetsReceived - this.statsResults[mediaType][sendrecvType].totalPacketsReceived;
|
|
797
|
+
this.statsResults[mediaType][sendrecvType].totalPacketsReceived = result.packetsReceived;
|
|
798
|
+
if (currentPacketsReceived === 0) {
|
|
875
799
|
if (receiveSlot) {
|
|
876
|
-
_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);
|
|
877
801
|
}
|
|
878
802
|
}
|
|
879
803
|
|
|
880
804
|
// Check the over all packet Lost ratio
|
|
881
|
-
this.statsResults[mediaType][sendrecvType].currentPacketLossRatio =
|
|
805
|
+
this.statsResults[mediaType][sendrecvType].currentPacketLossRatio = currentPacketsLost > 0 ? currentPacketsLost / (currentPacketsReceived + currentPacketsLost) : 0;
|
|
882
806
|
if (this.statsResults[mediaType][sendrecvType].currentPacketLossRatio > 3) {
|
|
883
807
|
_loggerProxy.default.logger.info("StatsAnalyzer:index#processInboundRTPResult --> Packets getting lost from the receiver with slot ".concat(idAndCsi), this.statsResults[mediaType][sendrecvType].currentPacketLossRatio);
|
|
884
808
|
}
|
|
@@ -915,39 +839,8 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
915
839
|
}
|
|
916
840
|
}
|
|
917
841
|
}, {
|
|
918
|
-
key: "
|
|
842
|
+
key: "compareSentAndReceived",
|
|
919
843
|
value:
|
|
920
|
-
/**
|
|
921
|
-
* Process Track results
|
|
922
|
-
*
|
|
923
|
-
* @private
|
|
924
|
-
* @param {*} result
|
|
925
|
-
* @param {*} mediaType
|
|
926
|
-
* @returns {void}
|
|
927
|
-
* @memberof StatsAnalyzer
|
|
928
|
-
*/
|
|
929
|
-
function processTrackResult(result, mediaType) {
|
|
930
|
-
if (!result || result.type !== 'track') {
|
|
931
|
-
return;
|
|
932
|
-
}
|
|
933
|
-
var sendrecvType = result.remoteSource === true ? _constants.STATS.RECEIVE_DIRECTION : _constants.STATS.SEND_DIRECTION;
|
|
934
|
-
if (sendrecvType === _constants.STATS.RECEIVE_DIRECTION) {
|
|
935
|
-
this.statsResults.resolutions[mediaType][sendrecvType].framesReceived = result.framesReceived;
|
|
936
|
-
this.statsResults.resolutions[mediaType][sendrecvType].framesDecoded = result.framesDecoded;
|
|
937
|
-
this.statsResults.resolutions[mediaType][sendrecvType].framesDropped = result.framesDropped;
|
|
938
|
-
}
|
|
939
|
-
if (result.trackIdentifier && !mediaType.includes('audio')) {
|
|
940
|
-
this.statsResults.resolutions[mediaType][sendrecvType].trackIdentifier = result.trackIdentifier;
|
|
941
|
-
var jitterBufferDelay = result && result.jitterBufferDelay;
|
|
942
|
-
var jitterBufferEmittedCount = result && result.jitterBufferEmittedCount;
|
|
943
|
-
this.statsResults.resolutions[mediaType][sendrecvType].avgJitterDelay = jitterBufferEmittedCount && +jitterBufferDelay / +jitterBufferEmittedCount;
|
|
944
|
-
|
|
945
|
-
// Used to calculate the jitter
|
|
946
|
-
this.statsResults.resolutions[mediaType][sendrecvType].jitterBufferDelay = result.jitterBufferDelay;
|
|
947
|
-
this.statsResults.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount = result.jitterBufferEmittedCount;
|
|
948
|
-
}
|
|
949
|
-
}
|
|
950
|
-
|
|
951
844
|
/**
|
|
952
845
|
*
|
|
953
846
|
* @private
|
|
@@ -956,19 +849,13 @@ var StatsAnalyzer = exports.StatsAnalyzer = /*#__PURE__*/function (_EventsScope)
|
|
|
956
849
|
* @returns {void}
|
|
957
850
|
* @memberof StatsAnalyzer
|
|
958
851
|
*/
|
|
959
|
-
|
|
960
|
-
key: "compareSentAndReceived",
|
|
961
|
-
value: function compareSentAndReceived(result, type) {
|
|
852
|
+
function compareSentAndReceived(result, type) {
|
|
962
853
|
// Don't compare on transceivers without a sender.
|
|
963
|
-
if (!type || !this.statsResults
|
|
854
|
+
if (!type || !this.statsResults[type].send) {
|
|
964
855
|
return;
|
|
965
856
|
}
|
|
966
857
|
var mediaType = type;
|
|
967
|
-
|
|
968
|
-
this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver = result.packetsLost;
|
|
969
|
-
}
|
|
970
|
-
var currentPacketLoss = result.packetsLost - this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver;
|
|
971
|
-
this.statsResults.internal[mediaType].send.totalPacketsLostOnReceiver = result.packetsLost;
|
|
858
|
+
var currentPacketLoss = result.packetsLost - this.statsResults[mediaType].send.totalPacketsLostOnReceiver;
|
|
972
859
|
this.statsResults[mediaType].send.packetsLostOnReceiver = currentPacketLoss;
|
|
973
860
|
this.statsResults[mediaType].send.totalPacketsLostOnReceiver = result.packetsLost;
|
|
974
861
|
this.statsResults[mediaType].send.meanRemoteJitter.push(result.jitter);
|