@webex/internal-media-core 2.18.5 → 2.20.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/dist/cjs/index.js +210 -129
- package/dist/esm/index.js +210 -130
- package/dist/types/MediaConnection/roap.typegen.d.ts +1 -2
- package/dist/types/MediaConnection/roap.typegen.d.ts.map +1 -1
- package/dist/types/StatsAnalyzer/MqeBuilder.d.ts.map +1 -1
- package/dist/types/StatsAnalyzer/StatsAnalyzer.d.ts +4 -1
- package/dist/types/StatsAnalyzer/StatsAnalyzer.d.ts.map +1 -1
- package/dist/types/StatsAnalyzer/StatsMonitor.d.ts +13 -0
- package/dist/types/StatsAnalyzer/StatsMonitor.d.ts.map +1 -0
- package/dist/types/StatsAnalyzer/StatsMonitor.test.d.ts +2 -0
- package/dist/types/StatsAnalyzer/StatsMonitor.test.d.ts.map +1 -0
- package/dist/types/StatsAnalyzer/eventTypes.d.ts +13 -0
- package/dist/types/StatsAnalyzer/eventTypes.d.ts.map +1 -1
- package/dist/types/StatsAnalyzer/index.d.ts +1 -0
- package/dist/types/StatsAnalyzer/index.d.ts.map +1 -1
- package/dist/types/StatsAnalyzer/mqeTypes.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -17922,7 +17922,8 @@ var initialMqeIntervalStreamTransmitVideo = {
|
|
|
17922
17922
|
requestedKeyFrames: 0,
|
|
17923
17923
|
localConfigurationChanges: 0,
|
|
17924
17924
|
remoteConfigurationChanges: 0,
|
|
17925
|
-
h264CodecProfile: 'BP'
|
|
17925
|
+
h264CodecProfile: 'BP',
|
|
17926
|
+
isAvatar: false
|
|
17926
17927
|
};
|
|
17927
17928
|
|
|
17928
17929
|
var max = array => {
|
|
@@ -18519,7 +18520,7 @@ class MqeBuilder {
|
|
|
18519
18520
|
return result;
|
|
18520
18521
|
}
|
|
18521
18522
|
buildMqeIntervalStreamTransmitVideo(id) {
|
|
18522
|
-
var _getPropertyFromStats37, _getPropertyFromStats38, _getPropertyFromStats39, _getPropertyFromStats40, _getPropertyFromStats41, _getPropertyFromStats42, _getPropertyFromStats43, _getPropertyFromStats44, _getPropertyFromStats45, _getH264ProfileFromSt2;
|
|
18523
|
+
var _getPropertyFromStats37, _getPropertyFromStats38, _getPropertyFromStats39, _getPropertyFromStats40, _getPropertyFromStats41, _getPropertyFromStats42, _getPropertyFromStats43, _getPropertyFromStats44, _getPropertyFromStats45, _getH264ProfileFromSt2, _getPropertyFromStats46;
|
|
18523
18524
|
var result = structuredClone(initialMqeIntervalStreamTransmitVideo);
|
|
18524
18525
|
result.common = this.buildMqeIntervalStreamTransmitCommon(id);
|
|
18525
18526
|
var current = this.currentIntervalStats;
|
|
@@ -18542,6 +18543,8 @@ class MqeBuilder {
|
|
|
18542
18543
|
result.localConfigurationChanges = 0;
|
|
18543
18544
|
var currentH264CodecProfile = (_getH264ProfileFromSt2 = getH264ProfileFromStatsByStreamStatsId(current, id)) !== null && _getH264ProfileFromSt2 !== void 0 ? _getH264ProfileFromSt2 : 'BP';
|
|
18544
18545
|
result.h264CodecProfile = currentH264CodecProfile;
|
|
18546
|
+
var currentSourceState = (_getPropertyFromStats46 = getPropertyFromStatsById(current, id, 'sourceState')) !== null && _getPropertyFromStats46 !== void 0 ? _getPropertyFromStats46 : '';
|
|
18547
|
+
result.isAvatar = currentSourceState === 'avatar';
|
|
18545
18548
|
var currentLastUsedEffect = getPropertyFromStatsById(current, id, 'lastUsedEffect');
|
|
18546
18549
|
if ((currentLastUsedEffect === null || currentLastUsedEffect === void 0 ? void 0 : currentLastUsedEffect.kind) === 'virtual-background-effect' && 'virtualBackgroundMode' in currentLastUsedEffect) {
|
|
18547
18550
|
if (currentLastUsedEffect.virtualBackgroundMode === 'BLUR') {
|
|
@@ -18559,34 +18562,34 @@ class MqeBuilder {
|
|
|
18559
18562
|
return result;
|
|
18560
18563
|
}
|
|
18561
18564
|
buildMqeIntervalStreamTransmitCommon(id) {
|
|
18562
|
-
var
|
|
18565
|
+
var _getPropertyFromStats47, _getPropertyFromStats48, _getPropertyFromStats49, _getPropertyFromStats50, _getPropertyFromStats53, _getPropertyFromStats54, _getPropertyFromStats55, _getPropertyFromStats56, _getCodecFromStatsByS2;
|
|
18563
18566
|
var result = structuredClone(initialMqeIntervalStreamTransmitCommon);
|
|
18564
18567
|
var current = this.currentIntervalStats;
|
|
18565
18568
|
var previous = this.previousIntervalStats;
|
|
18566
|
-
var currentPacketsSent = (
|
|
18567
|
-
var previousPacketsSent = (
|
|
18568
|
-
var currentRetransmittedPacketsSent = (
|
|
18569
|
-
var previousRetransmittedPacketsSent = (
|
|
18569
|
+
var currentPacketsSent = (_getPropertyFromStats47 = getPropertyFromStatsById(current, id, 'packetsSent')) !== null && _getPropertyFromStats47 !== void 0 ? _getPropertyFromStats47 : 0;
|
|
18570
|
+
var previousPacketsSent = (_getPropertyFromStats48 = getPropertyFromStatsById(previous, id, 'packetsSent')) !== null && _getPropertyFromStats48 !== void 0 ? _getPropertyFromStats48 : 0;
|
|
18571
|
+
var currentRetransmittedPacketsSent = (_getPropertyFromStats49 = getPropertyFromStatsById(current, id, 'retransmittedPacketsSent')) !== null && _getPropertyFromStats49 !== void 0 ? _getPropertyFromStats49 : 0;
|
|
18572
|
+
var previousRetransmittedPacketsSent = (_getPropertyFromStats50 = getPropertyFromStatsById(previous, id, 'retransmittedPacketsSent')) !== null && _getPropertyFromStats50 !== void 0 ? _getPropertyFromStats50 : 0;
|
|
18570
18573
|
result.rtpPackets = currentPacketsSent - previousPacketsSent - (currentRetransmittedPacketsSent - previousRetransmittedPacketsSent);
|
|
18571
18574
|
if (this.mediaKind === 'video') {
|
|
18572
|
-
var
|
|
18573
|
-
var currentMaxTransmittedFrameRateForMaxRequestedFrameSize = (
|
|
18575
|
+
var _getPropertyFromStats51, _getPropertyFromStats52;
|
|
18576
|
+
var currentMaxTransmittedFrameRateForMaxRequestedFrameSize = (_getPropertyFromStats51 = getPropertyFromStatsById(current, id, 'maxTransmittedFrameRateForMaxRequestedFrameSize')) !== null && _getPropertyFromStats51 !== void 0 ? _getPropertyFromStats51 : 0;
|
|
18574
18577
|
result.transmittedFrameRate = currentMaxTransmittedFrameRateForMaxRequestedFrameSize;
|
|
18575
|
-
var currentMaxRequestedFrameRateForMaxRequestedFrameSize = (
|
|
18578
|
+
var currentMaxRequestedFrameRateForMaxRequestedFrameSize = (_getPropertyFromStats52 = getPropertyFromStatsById(current, id, 'maxRequestedFrameRateForMaxRequestedFrameSize')) !== null && _getPropertyFromStats52 !== void 0 ? _getPropertyFromStats52 : 0;
|
|
18576
18579
|
result.requestedFrames = currentMaxRequestedFrameRateForMaxRequestedFrameSize;
|
|
18577
18580
|
}
|
|
18578
|
-
var currentBytesSent = (
|
|
18579
|
-
var previousBytesSent = (
|
|
18580
|
-
var currentRetransmittedBytesSent = (
|
|
18581
|
-
var previousRetransmittedBytesSent = (
|
|
18581
|
+
var currentBytesSent = (_getPropertyFromStats53 = getPropertyFromStatsById(current, id, 'bytesSent')) !== null && _getPropertyFromStats53 !== void 0 ? _getPropertyFromStats53 : 0;
|
|
18582
|
+
var previousBytesSent = (_getPropertyFromStats54 = getPropertyFromStatsById(previous, id, 'bytesSent')) !== null && _getPropertyFromStats54 !== void 0 ? _getPropertyFromStats54 : 0;
|
|
18583
|
+
var currentRetransmittedBytesSent = (_getPropertyFromStats55 = getPropertyFromStatsById(current, id, 'retransmittedBytesSent')) !== null && _getPropertyFromStats55 !== void 0 ? _getPropertyFromStats55 : 0;
|
|
18584
|
+
var previousRetransmittedBytesSent = (_getPropertyFromStats56 = getPropertyFromStatsById(previous, id, 'retransmittedBytesSent')) !== null && _getPropertyFromStats56 !== void 0 ? _getPropertyFromStats56 : 0;
|
|
18582
18585
|
result.transmittedBitrate = bytesToBitrate(currentBytesSent - previousBytesSent - (currentRetransmittedBytesSent - previousRetransmittedBytesSent), MQE_INTERVAL);
|
|
18583
18586
|
if (this.mediaKind === 'audio') {
|
|
18584
|
-
var
|
|
18585
|
-
var currentRequestedBitrateArray = (
|
|
18587
|
+
var _getPropertyFromStats57;
|
|
18588
|
+
var currentRequestedBitrateArray = (_getPropertyFromStats57 = getPropertyFromStatsById(current, id, 'requestedBitrateArray')) !== null && _getPropertyFromStats57 !== void 0 ? _getPropertyFromStats57 : [];
|
|
18586
18589
|
result.requestedBitrate = max(currentRequestedBitrateArray);
|
|
18587
18590
|
} else {
|
|
18588
|
-
var
|
|
18589
|
-
var currentMaxRequestedBitrateForMaxRequestedFrameSize = (
|
|
18591
|
+
var _getPropertyFromStats58;
|
|
18592
|
+
var currentMaxRequestedBitrateForMaxRequestedFrameSize = (_getPropertyFromStats58 = getPropertyFromStatsById(current, id, 'maxRequestedBitrateForMaxRequestedFrameSize')) !== null && _getPropertyFromStats58 !== void 0 ? _getPropertyFromStats58 : 0;
|
|
18590
18593
|
result.requestedBitrate = currentMaxRequestedBitrateForMaxRequestedFrameSize;
|
|
18591
18594
|
}
|
|
18592
18595
|
var currentCodec = (_getCodecFromStatsByS2 = getCodecFromStatsByStreamStatsId(current, id)) !== null && _getCodecFromStatsByS2 !== void 0 ? _getCodecFromStatsByS2 : this.mediaKind === 'audio' ? 'opus' : 'H264';
|
|
@@ -18703,6 +18706,15 @@ exports.NetworkQualityEventNames = void 0;
|
|
|
18703
18706
|
(function (NetworkQualityEventNames) {
|
|
18704
18707
|
NetworkQualityEventNames["NETWORK_QUALITY"] = "NETWORK_QUALITY";
|
|
18705
18708
|
})(exports.NetworkQualityEventNames || (exports.NetworkQualityEventNames = {}));
|
|
18709
|
+
exports.StatsMonitorEventNames = void 0;
|
|
18710
|
+
(function (StatsMonitorEventNames) {
|
|
18711
|
+
StatsMonitorEventNames["INBOUND_AUDIO_ISSUE"] = "INBOUND_AUDIO_ISSUE";
|
|
18712
|
+
})(exports.StatsMonitorEventNames || (exports.StatsMonitorEventNames = {}));
|
|
18713
|
+
exports.InboundAudioIssueSubTypes = void 0;
|
|
18714
|
+
(function (InboundAudioIssueSubTypes) {
|
|
18715
|
+
InboundAudioIssueSubTypes["DECODE_RESULTS_IN_ZERO_AUDIO_LEVEL"] = "DECODE_RESULTS_IN_ZERO_AUDIO_LEVEL";
|
|
18716
|
+
InboundAudioIssueSubTypes["ALL_PACKETS_DISCARDED"] = "ALL_PACKETS_DISCARDED";
|
|
18717
|
+
})(exports.InboundAudioIssueSubTypes || (exports.InboundAudioIssueSubTypes = {}));
|
|
18706
18718
|
|
|
18707
18719
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18708
18720
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -18711,6 +18723,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18711
18723
|
var {
|
|
18712
18724
|
config,
|
|
18713
18725
|
networkQualityMonitor,
|
|
18726
|
+
statsMonitor,
|
|
18714
18727
|
isMultistream = false
|
|
18715
18728
|
} = _ref;
|
|
18716
18729
|
super();
|
|
@@ -18722,6 +18735,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18722
18735
|
_defineProperty(this, "mqeInterval", void 0);
|
|
18723
18736
|
_defineProperty(this, "mqeSentCount", 0);
|
|
18724
18737
|
_defineProperty(this, "networkQualityMonitor", void 0);
|
|
18738
|
+
_defineProperty(this, "statsMonitor", void 0);
|
|
18725
18739
|
_defineProperty(this, "mediaConnection", null);
|
|
18726
18740
|
_defineProperty(this, "statsStarted", false);
|
|
18727
18741
|
_defineProperty(this, "mqeIntervalSessionReceiveAudioMainBuilder", void 0);
|
|
@@ -18763,6 +18777,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18763
18777
|
});
|
|
18764
18778
|
this.config = config;
|
|
18765
18779
|
this.networkQualityMonitor = networkQualityMonitor;
|
|
18780
|
+
this.statsMonitor = statsMonitor;
|
|
18766
18781
|
this.mqeIntervalSessionReceiveAudioMainBuilder = new MqeIntervalSessionReceiveAudioBuilder({
|
|
18767
18782
|
isMain: true,
|
|
18768
18783
|
multistreamEnabled: isMultistream
|
|
@@ -18981,7 +18996,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18981
18996
|
})();
|
|
18982
18997
|
}
|
|
18983
18998
|
monitorStats(transceiverStats) {
|
|
18984
|
-
var _this$meetingMediaSta3, _this$meetingMediaSta4, _this$meetingMediaSta5, _this$meetingMediaSta6, _this$meetingMediaSta7, _this$previousTransce, _this$previousTransce2, _this$previousTransce3, _this$previousTransce4, _this$previousTransce5, _this$previousTransce6, _this$previousTransce7, _this$previousTransce8, _this$previousTransce9, _this$previousTransce10, _this$previousTransce11, _this$previousTransce12;
|
|
18999
|
+
var _this$meetingMediaSta3, _this$meetingMediaSta4, _this$meetingMediaSta5, _this$meetingMediaSta6, _this$meetingMediaSta7, _this$meetingMediaSta8, _this$previousTransce, _this$previousTransce2, _this$previousTransce3, _this$previousTransce4, _this$previousTransce5, _this$previousTransce6, _this$previousTransce7, _this$previousTransce8, _this$previousTransce9, _this$previousTransce10, _this$previousTransce11, _this$previousTransce12;
|
|
18985
19000
|
var emitNetworkQualityEvents = (mediaType, intervalStats) => {
|
|
18986
19001
|
var roundTripTimeArray = getPropertyFromStatsByTypeInArray(intervalStats, 'remote-inbound-rtp', 'roundTripTime');
|
|
18987
19002
|
var jitterArray = getPropertyFromStatsByTypeInArray(intervalStats, 'remote-inbound-rtp', 'jitter');
|
|
@@ -18997,129 +19012,45 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18997
19012
|
var current = convertToStatsMap(transceiverStats.audio.senders);
|
|
18998
19013
|
if (this.previousTransceiverStats) {
|
|
18999
19014
|
var previous = convertToStatsMap(this.previousTransceiverStats.audio.senders);
|
|
19000
|
-
|
|
19001
|
-
var previousPacketsSent = getSumFromStatsByType(previous, 'outbound-rtp', 'packetsSent');
|
|
19002
|
-
if (currentPacketsSent === previousPacketsSent) {
|
|
19003
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No audio packets sent, last packets sent count: ".concat(currentPacketsSent, "."));
|
|
19004
|
-
}
|
|
19005
|
-
var totalAudioEnergyExists = getPropertyFromStatsByType(current, 'media-source', 'totalAudioEnergy') !== undefined;
|
|
19006
|
-
if (totalAudioEnergyExists) {
|
|
19007
|
-
var currentTotalAudioEnergy = getSumFromStatsByType(current, 'media-source', 'totalAudioEnergy');
|
|
19008
|
-
var previousTotalAudioEnergy = getSumFromStatsByType(previous, 'media-source', 'totalAudioEnergy');
|
|
19009
|
-
if (currentTotalAudioEnergy === previousTotalAudioEnergy) {
|
|
19010
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No audio energy, last total audio energy: ".concat(currentTotalAudioEnergy, "."));
|
|
19011
|
-
}
|
|
19012
|
-
}
|
|
19013
|
-
var audioLevelExists = getPropertyFromStatsByType(current, 'media-source', 'audioLevel') !== undefined;
|
|
19014
|
-
if (audioLevelExists) {
|
|
19015
|
-
var currentAudioLevel = getSumFromStatsByType(current, 'media-source', 'audioLevel');
|
|
19016
|
-
if (currentAudioLevel === 0) {
|
|
19017
|
-
getLogger().info("StatsAnalyzer#monitorStats --> Audio level is 0.");
|
|
19018
|
-
}
|
|
19019
|
-
}
|
|
19015
|
+
this.statsMonitor.checkOutboundAudio(previous, current);
|
|
19020
19016
|
}
|
|
19021
19017
|
emitNetworkQualityEvents('audio', current);
|
|
19022
19018
|
}
|
|
19023
|
-
if ((_this$meetingMediaSta4 = this.meetingMediaStatus) !== null && _this$meetingMediaSta4 !== void 0 && _this$meetingMediaSta4.expected.
|
|
19024
|
-
var _current = convertToStatsMap(transceiverStats.
|
|
19019
|
+
if ((_this$meetingMediaSta4 = this.meetingMediaStatus) !== null && _this$meetingMediaSta4 !== void 0 && _this$meetingMediaSta4.expected.receiveAudio) {
|
|
19020
|
+
var _current = convertToStatsMap(transceiverStats.audio.receivers);
|
|
19025
19021
|
if (this.previousTransceiverStats) {
|
|
19026
|
-
var _previous = convertToStatsMap(this.previousTransceiverStats.
|
|
19027
|
-
|
|
19028
|
-
var _previousPacketsSent = getSumFromStatsByType(_previous, 'outbound-rtp', 'packetsSent');
|
|
19029
|
-
if (_currentPacketsSent === _previousPacketsSent) {
|
|
19030
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video packets sent, last packets sent count: ".concat(_currentPacketsSent, "."));
|
|
19031
|
-
}
|
|
19032
|
-
var currentFramesEncoded = getSumFromStatsByType(_current, 'outbound-rtp', 'framesEncoded');
|
|
19033
|
-
var previousFramesEncoded = getSumFromStatsByType(_previous, 'outbound-rtp', 'framesEncoded');
|
|
19034
|
-
if (currentFramesEncoded === previousFramesEncoded) {
|
|
19035
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video frames encoded, last frames encoded count: ".concat(currentFramesEncoded, "."));
|
|
19036
|
-
}
|
|
19037
|
-
var currentFramesSent = getSumFromStatsByType(_current, 'outbound-rtp', 'framesSent');
|
|
19038
|
-
var previousFramesSent = getSumFromStatsByType(_previous, 'outbound-rtp', 'framesSent');
|
|
19039
|
-
if (currentFramesSent === previousFramesSent) {
|
|
19040
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video frames sent, last frames sent count: ".concat(currentFramesSent, "."));
|
|
19041
|
-
}
|
|
19022
|
+
var _previous = convertToStatsMap(this.previousTransceiverStats.audio.receivers);
|
|
19023
|
+
this.statsMonitor.checkInboundAudio(_previous, _current);
|
|
19042
19024
|
}
|
|
19043
|
-
emitNetworkQualityEvents('video', _current);
|
|
19044
19025
|
}
|
|
19045
|
-
if ((_this$meetingMediaSta5 = this.meetingMediaStatus) !== null && _this$meetingMediaSta5 !== void 0 && _this$meetingMediaSta5.expected.
|
|
19046
|
-
var _current2 = convertToStatsMap(transceiverStats.video.
|
|
19026
|
+
if ((_this$meetingMediaSta5 = this.meetingMediaStatus) !== null && _this$meetingMediaSta5 !== void 0 && _this$meetingMediaSta5.expected.sendVideo) {
|
|
19027
|
+
var _current2 = convertToStatsMap(transceiverStats.video.senders);
|
|
19047
19028
|
if (this.previousTransceiverStats) {
|
|
19048
|
-
var
|
|
19049
|
-
|
|
19050
|
-
var _previous2 = convertToStatsMap(this.previousTransceiverStats.video.receivers);
|
|
19051
|
-
var currentPacketsReceived = getSumFromStatsByType(_current2, 'inbound-rtp', 'packetsReceived');
|
|
19052
|
-
var previousPacketsReceived = getSumFromStatsByType(_previous2, 'inbound-rtp', 'packetsReceived');
|
|
19053
|
-
if (currentPacketsReceived === previousPacketsReceived) {
|
|
19054
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video packets received, last packets received count: ".concat(currentPacketsReceived, "."));
|
|
19055
|
-
}
|
|
19056
|
-
var currentFramesDecoded = getSumFromStatsByType(_current2, 'inbound-rtp', 'framesDecoded');
|
|
19057
|
-
var previousFramesDecoded = getSumFromStatsByType(_previous2, 'inbound-rtp', 'framesDecoded');
|
|
19058
|
-
if (currentFramesDecoded === previousFramesDecoded) {
|
|
19059
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video frames decoded, last frames decoded count: ".concat(currentFramesDecoded, "."));
|
|
19060
|
-
}
|
|
19061
|
-
var currentFramesReceived = getSumFromStatsByType(_current2, 'inbound-rtp', 'framesReceived');
|
|
19062
|
-
var previousFramesReceived = getSumFromStatsByType(_previous2, 'inbound-rtp', 'framesReceived');
|
|
19063
|
-
if (currentFramesReceived === previousFramesReceived) {
|
|
19064
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video frames received, last frames received count: ".concat(currentFramesReceived, "."));
|
|
19065
|
-
}
|
|
19066
|
-
var currentFramesDropped = getSumFromStatsByType(_current2, 'inbound-rtp', 'framesDropped');
|
|
19067
|
-
var previousFramesDropped = getSumFromStatsByType(_previous2, 'inbound-rtp', 'framesDropped');
|
|
19068
|
-
if (currentFramesDropped - previousFramesDropped > 10) {
|
|
19069
|
-
getLogger().info("StatsAnalyzer#monitorStats --> Too many video frames dropped, total frames dropped count: ".concat(currentFramesDropped, "."));
|
|
19070
|
-
}
|
|
19071
|
-
}
|
|
19029
|
+
var _previous2 = convertToStatsMap(this.previousTransceiverStats.video.senders);
|
|
19030
|
+
this.statsMonitor.checkOutboundVideo(_previous2, _current2);
|
|
19072
19031
|
}
|
|
19032
|
+
emitNetworkQualityEvents('video', _current2);
|
|
19073
19033
|
}
|
|
19074
|
-
if ((_this$meetingMediaSta6 = this.meetingMediaStatus) !== null && _this$meetingMediaSta6 !== void 0 && _this$meetingMediaSta6.expected.
|
|
19075
|
-
var _current3 = convertToStatsMap(transceiverStats.
|
|
19034
|
+
if ((_this$meetingMediaSta6 = this.meetingMediaStatus) !== null && _this$meetingMediaSta6 !== void 0 && _this$meetingMediaSta6.expected.receiveVideo) {
|
|
19035
|
+
var _current3 = convertToStatsMap(transceiverStats.video.receivers);
|
|
19076
19036
|
if (this.previousTransceiverStats) {
|
|
19077
|
-
var _previous3 = convertToStatsMap(this.previousTransceiverStats.
|
|
19078
|
-
|
|
19079
|
-
var _previousPacketsSent2 = getSumFromStatsByType(_previous3, 'outbound-rtp', 'packetsSent');
|
|
19080
|
-
if (_currentPacketsSent2 === _previousPacketsSent2) {
|
|
19081
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share packets sent, last packets sent count: ".concat(_currentPacketsSent2, "."));
|
|
19082
|
-
}
|
|
19083
|
-
var _currentFramesEncoded = getSumFromStatsByType(_current3, 'outbound-rtp', 'framesEncoded');
|
|
19084
|
-
var _previousFramesEncoded = getSumFromStatsByType(_previous3, 'outbound-rtp', 'framesEncoded');
|
|
19085
|
-
if (_currentFramesEncoded === _previousFramesEncoded) {
|
|
19086
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share frames encoded, last frames encoded count: ".concat(_currentFramesEncoded, "."));
|
|
19087
|
-
}
|
|
19088
|
-
var _currentFramesSent = getSumFromStatsByType(_current3, 'outbound-rtp', 'framesSent');
|
|
19089
|
-
var _previousFramesSent = getSumFromStatsByType(_previous3, 'outbound-rtp', 'framesSent');
|
|
19090
|
-
if (_currentFramesSent === _previousFramesSent) {
|
|
19091
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share frames sent, last frames sent count: ".concat(_currentFramesSent, "."));
|
|
19092
|
-
}
|
|
19037
|
+
var _previous3 = convertToStatsMap(this.previousTransceiverStats.video.receivers);
|
|
19038
|
+
this.statsMonitor.checkInboundVideo(_previous3, _current3);
|
|
19093
19039
|
}
|
|
19094
|
-
emitNetworkQualityEvents('share', _current3);
|
|
19095
19040
|
}
|
|
19096
|
-
if ((_this$meetingMediaSta7 = this.meetingMediaStatus) !== null && _this$meetingMediaSta7 !== void 0 && _this$meetingMediaSta7.expected.
|
|
19097
|
-
var _current4 = convertToStatsMap(transceiverStats.screenShareVideo.
|
|
19041
|
+
if ((_this$meetingMediaSta7 = this.meetingMediaStatus) !== null && _this$meetingMediaSta7 !== void 0 && _this$meetingMediaSta7.expected.sendShare) {
|
|
19042
|
+
var _current4 = convertToStatsMap(transceiverStats.screenShareVideo.senders);
|
|
19098
19043
|
if (this.previousTransceiverStats) {
|
|
19099
|
-
var
|
|
19100
|
-
|
|
19101
|
-
|
|
19102
|
-
|
|
19103
|
-
|
|
19104
|
-
|
|
19105
|
-
|
|
19106
|
-
|
|
19107
|
-
|
|
19108
|
-
|
|
19109
|
-
if (_currentFramesDecoded === _previousFramesDecoded) {
|
|
19110
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share frames decoded, last frames decoded count: ".concat(_currentFramesDecoded, "."));
|
|
19111
|
-
}
|
|
19112
|
-
var _currentFramesReceived = getSumFromStatsByType(_current4, 'inbound-rtp', 'framesReceived');
|
|
19113
|
-
var _previousFramesReceived = getSumFromStatsByType(_previous4, 'inbound-rtp', 'framesReceived');
|
|
19114
|
-
if (_currentFramesReceived === _previousFramesReceived) {
|
|
19115
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share frames received, last frames received count: ".concat(_currentFramesReceived, "."));
|
|
19116
|
-
}
|
|
19117
|
-
var _currentFramesDropped = getSumFromStatsByType(_current4, 'inbound-rtp', 'framesDropped');
|
|
19118
|
-
var _previousFramesDropped = getSumFromStatsByType(_previous4, 'inbound-rtp', 'framesDropped');
|
|
19119
|
-
if (_currentFramesDropped - _previousFramesDropped > 10) {
|
|
19120
|
-
getLogger().info("StatsAnalyzer#monitorStats --> Too many share frames dropped, total frames dropped count: ".concat(_currentFramesDropped, "."));
|
|
19121
|
-
}
|
|
19122
|
-
}
|
|
19044
|
+
var _previous4 = convertToStatsMap(this.previousTransceiverStats.screenShareVideo.senders);
|
|
19045
|
+
this.statsMonitor.checkOutboundShare(_previous4, _current4);
|
|
19046
|
+
}
|
|
19047
|
+
emitNetworkQualityEvents('share', _current4);
|
|
19048
|
+
}
|
|
19049
|
+
if ((_this$meetingMediaSta8 = this.meetingMediaStatus) !== null && _this$meetingMediaSta8 !== void 0 && _this$meetingMediaSta8.expected.receiveShare) {
|
|
19050
|
+
var _current5 = convertToStatsMap(transceiverStats.screenShareVideo.receivers);
|
|
19051
|
+
if (this.previousTransceiverStats) {
|
|
19052
|
+
var _previous5 = convertToStatsMap(this.previousTransceiverStats.screenShareVideo.receivers);
|
|
19053
|
+
this.statsMonitor.checkInboundShare(_previous5, _current5);
|
|
19123
19054
|
}
|
|
19124
19055
|
}
|
|
19125
19056
|
this.emitStartStopEvents('audio', getSumFromStatsByType(convertToStatsMap((_this$previousTransce = (_this$previousTransce2 = this.previousTransceiverStats) === null || _this$previousTransce2 === void 0 ? void 0 : _this$previousTransce2.audio.senders) !== null && _this$previousTransce !== void 0 ? _this$previousTransce : []), 'outbound-rtp', 'packetsSent'), getSumFromStatsByType(convertToStatsMap(transceiverStats.audio.senders), 'outbound-rtp', 'packetsSent'), true);
|
|
@@ -19232,6 +19163,155 @@ class NetworkQualityMonitor extends EventEmitter$5 {
|
|
|
19232
19163
|
}
|
|
19233
19164
|
}
|
|
19234
19165
|
|
|
19166
|
+
var MIN_AUDIO_PACKETS_RECEIVER_THRESHOLD = 500;
|
|
19167
|
+
var InboundAudioThresholds = {
|
|
19168
|
+
DecodeResultsInZeroAudioLevel: {
|
|
19169
|
+
concealedRatio: 0.7,
|
|
19170
|
+
lossRatio: 0.2,
|
|
19171
|
+
discardedRatio: 0.5
|
|
19172
|
+
},
|
|
19173
|
+
AllPacketsDiscarded: {
|
|
19174
|
+
discardedRatio: 0.9
|
|
19175
|
+
}
|
|
19176
|
+
};
|
|
19177
|
+
class StatsMonitor extends EventEmitter$5 {
|
|
19178
|
+
hasAudioDecodeIssue(totalAudioEnergy, totalSamplesReceived, concealedRatio, lossRatio, discardedRatio) {
|
|
19179
|
+
var thresholds = InboundAudioThresholds.DecodeResultsInZeroAudioLevel;
|
|
19180
|
+
return totalAudioEnergy === 0 && totalSamplesReceived > 0 && concealedRatio < thresholds.concealedRatio && lossRatio < thresholds.lossRatio && discardedRatio < thresholds.discardedRatio;
|
|
19181
|
+
}
|
|
19182
|
+
checkInboundAudio(previous, current) {
|
|
19183
|
+
var previousPacketsReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'packetsReceived');
|
|
19184
|
+
var packetsReceived = getSumFromStatsByType(current, 'inbound-rtp', 'packetsReceived');
|
|
19185
|
+
var totalSamplesReceived = getSumFromStatsByType(current, 'inbound-rtp', 'totalSamplesReceived');
|
|
19186
|
+
var totalAudioEnergy = getSumFromStatsByType(current, 'inbound-rtp', 'totalAudioEnergy');
|
|
19187
|
+
var packetsDiscarded = getSumFromStatsByType(current, 'inbound-rtp', 'packetsDiscarded');
|
|
19188
|
+
var concealedSamples = getSumFromStatsByType(current, 'inbound-rtp', 'concealedSamples');
|
|
19189
|
+
var packetsLost = getSumFromStatsByType(current, 'inbound-rtp', 'packetsLost');
|
|
19190
|
+
var concealedRatio = totalSamplesReceived > 0 ? concealedSamples / totalSamplesReceived : 0;
|
|
19191
|
+
var lossRatio = packetsReceived + packetsLost > 0 ? packetsLost / (packetsReceived + packetsLost) : 0;
|
|
19192
|
+
var discardedRatio = packetsReceived > 0 ? packetsDiscarded / packetsReceived : 0;
|
|
19193
|
+
if (packetsReceived > MIN_AUDIO_PACKETS_RECEIVER_THRESHOLD && packetsReceived > previousPacketsReceived) {
|
|
19194
|
+
if (this.hasAudioDecodeIssue(totalAudioEnergy, totalSamplesReceived, concealedRatio, lossRatio, discardedRatio)) {
|
|
19195
|
+
getLogger().info("StatsMonitor#checkInboundAudio --> Incoming audio from all streams is not being decoded correctly, totalAudioEnergy: ".concat(totalAudioEnergy, ", totalSamplesReceived: ").concat(totalSamplesReceived, ", packetsReceived: ").concat(packetsReceived, ", concealedRatio: ").concat(concealedRatio, ", lossRatio: ").concat(lossRatio, ", discardedRatio: ").concat(discardedRatio, "."));
|
|
19196
|
+
this.emit(exports.StatsMonitorEventNames.INBOUND_AUDIO_ISSUE, {
|
|
19197
|
+
issueSubType: exports.InboundAudioIssueSubTypes.DECODE_RESULTS_IN_ZERO_AUDIO_LEVEL
|
|
19198
|
+
});
|
|
19199
|
+
} else if (discardedRatio >= InboundAudioThresholds.AllPacketsDiscarded.discardedRatio) {
|
|
19200
|
+
getLogger().info("StatsMonitor#checkInboundAudio --> Incoming audio packets from all streams are being discarded, packetsReceived: ".concat(packetsReceived, ", packetsDiscarded: ").concat(packetsDiscarded, ", discardedRatio: ").concat(discardedRatio, "."));
|
|
19201
|
+
this.emit(exports.StatsMonitorEventNames.INBOUND_AUDIO_ISSUE, {
|
|
19202
|
+
issueSubType: exports.InboundAudioIssueSubTypes.ALL_PACKETS_DISCARDED
|
|
19203
|
+
});
|
|
19204
|
+
}
|
|
19205
|
+
}
|
|
19206
|
+
}
|
|
19207
|
+
checkOutboundAudio(previous, current) {
|
|
19208
|
+
var currentPacketsSent = getSumFromStatsByType(current, 'outbound-rtp', 'packetsSent');
|
|
19209
|
+
var previousPacketsSent = getSumFromStatsByType(previous, 'outbound-rtp', 'packetsSent');
|
|
19210
|
+
if (currentPacketsSent === previousPacketsSent) {
|
|
19211
|
+
getLogger().info("StatsMonitor#checkOutboundAudio --> No audio packets sent, last packets sent count: ".concat(currentPacketsSent, "."));
|
|
19212
|
+
}
|
|
19213
|
+
var totalAudioEnergyExists = getPropertyFromStatsByType(current, 'media-source', 'totalAudioEnergy') !== undefined;
|
|
19214
|
+
if (totalAudioEnergyExists) {
|
|
19215
|
+
var currentTotalAudioEnergy = getSumFromStatsByType(current, 'media-source', 'totalAudioEnergy');
|
|
19216
|
+
var previousTotalAudioEnergy = getSumFromStatsByType(previous, 'media-source', 'totalAudioEnergy');
|
|
19217
|
+
if (currentTotalAudioEnergy === previousTotalAudioEnergy) {
|
|
19218
|
+
getLogger().info("StatsMonitor#checkOutboundAudio --> No audio energy from local audio source, last total audio energy: ".concat(currentTotalAudioEnergy, "."));
|
|
19219
|
+
}
|
|
19220
|
+
}
|
|
19221
|
+
var audioLevelExists = getPropertyFromStatsByType(current, 'media-source', 'audioLevel') !== undefined;
|
|
19222
|
+
if (audioLevelExists) {
|
|
19223
|
+
var currentAudioLevel = getSumFromStatsByType(current, 'media-source', 'audioLevel');
|
|
19224
|
+
if (currentAudioLevel === 0) {
|
|
19225
|
+
getLogger().info("StatsMonitor#checkOutboundAudio --> Audio level in local audio source is 0.");
|
|
19226
|
+
}
|
|
19227
|
+
}
|
|
19228
|
+
}
|
|
19229
|
+
checkInboundVideo(previous, current) {
|
|
19230
|
+
var currentSourceStateArray = getPropertyFromStatsByTypeInArray(current, 'inbound-rtp', 'sourceState');
|
|
19231
|
+
if (currentSourceStateArray.includes('live')) {
|
|
19232
|
+
var currentPacketsReceived = getSumFromStatsByType(current, 'inbound-rtp', 'packetsReceived');
|
|
19233
|
+
var previousPacketsReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'packetsReceived');
|
|
19234
|
+
if (currentPacketsReceived === previousPacketsReceived) {
|
|
19235
|
+
getLogger().info("StatsMonitor#checkInboundVideo --> No video packets received, last packets received count: ".concat(currentPacketsReceived, "."));
|
|
19236
|
+
}
|
|
19237
|
+
var currentFramesDecoded = getSumFromStatsByType(current, 'inbound-rtp', 'framesDecoded');
|
|
19238
|
+
var previousFramesDecoded = getSumFromStatsByType(previous, 'inbound-rtp', 'framesDecoded');
|
|
19239
|
+
if (currentFramesDecoded === previousFramesDecoded) {
|
|
19240
|
+
getLogger().info("StatsMonitor#checkInboundVideo --> No video frames decoded, last frames decoded count: ".concat(currentFramesDecoded, "."));
|
|
19241
|
+
}
|
|
19242
|
+
var currentFramesReceived = getSumFromStatsByType(current, 'inbound-rtp', 'framesReceived');
|
|
19243
|
+
var previousFramesReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'framesReceived');
|
|
19244
|
+
if (currentFramesReceived === previousFramesReceived) {
|
|
19245
|
+
getLogger().info("StatsMonitor#checkInboundVideo --> No video frames received, last frames received count: ".concat(currentFramesReceived, "."));
|
|
19246
|
+
}
|
|
19247
|
+
var currentFramesDropped = getSumFromStatsByType(current, 'inbound-rtp', 'framesDropped');
|
|
19248
|
+
var previousFramesDropped = getSumFromStatsByType(previous, 'inbound-rtp', 'framesDropped');
|
|
19249
|
+
if (currentFramesDropped - previousFramesDropped > 10) {
|
|
19250
|
+
getLogger().info("StatsMonitor#checkInboundVideo --> Too many inbound video frames dropped, total frames dropped count: ".concat(currentFramesDropped, "."));
|
|
19251
|
+
}
|
|
19252
|
+
}
|
|
19253
|
+
}
|
|
19254
|
+
checkOutboundVideo(previous, current) {
|
|
19255
|
+
var currentPacketsSent = getSumFromStatsByType(current, 'outbound-rtp', 'packetsSent');
|
|
19256
|
+
var previousPacketsSent = getSumFromStatsByType(previous, 'outbound-rtp', 'packetsSent');
|
|
19257
|
+
if (currentPacketsSent === previousPacketsSent) {
|
|
19258
|
+
getLogger().info("StatsMonitor#checkOutboundVideo --> No video packets sent, last packets sent count: ".concat(currentPacketsSent, "."));
|
|
19259
|
+
}
|
|
19260
|
+
var currentFramesEncoded = getSumFromStatsByType(current, 'outbound-rtp', 'framesEncoded');
|
|
19261
|
+
var previousFramesEncoded = getSumFromStatsByType(previous, 'outbound-rtp', 'framesEncoded');
|
|
19262
|
+
if (currentFramesEncoded === previousFramesEncoded) {
|
|
19263
|
+
getLogger().info("StatsMonitor#checkOutboundVideo --> No video frames encoded, last frames encoded count: ".concat(currentFramesEncoded, "."));
|
|
19264
|
+
}
|
|
19265
|
+
var currentFramesSent = getSumFromStatsByType(current, 'outbound-rtp', 'framesSent');
|
|
19266
|
+
var previousFramesSent = getSumFromStatsByType(previous, 'outbound-rtp', 'framesSent');
|
|
19267
|
+
if (currentFramesSent === previousFramesSent) {
|
|
19268
|
+
getLogger().info("StatsMonitor#checkOutboundVideo --> No video frames sent, last frames sent count: ".concat(currentFramesSent, "."));
|
|
19269
|
+
}
|
|
19270
|
+
}
|
|
19271
|
+
checkInboundShare(previous, current) {
|
|
19272
|
+
var currentSourceStateArray = getPropertyFromStatsByTypeInArray(current, 'inbound-rtp', 'sourceState');
|
|
19273
|
+
if (currentSourceStateArray.includes('live')) {
|
|
19274
|
+
var currentPacketsReceived = getSumFromStatsByType(current, 'inbound-rtp', 'packetsReceived');
|
|
19275
|
+
var previousPacketsReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'packetsReceived');
|
|
19276
|
+
if (currentPacketsReceived === previousPacketsReceived) {
|
|
19277
|
+
getLogger().info("StatsMonitor#checkInboundShare --> No share packets received, last packets received count: ".concat(currentPacketsReceived, "."));
|
|
19278
|
+
}
|
|
19279
|
+
var currentFramesDecoded = getSumFromStatsByType(current, 'inbound-rtp', 'framesDecoded');
|
|
19280
|
+
var previousFramesDecoded = getSumFromStatsByType(previous, 'inbound-rtp', 'framesDecoded');
|
|
19281
|
+
if (currentFramesDecoded === previousFramesDecoded) {
|
|
19282
|
+
getLogger().info("StatsMonitor#checkInboundShare --> No share frames decoded, last frames decoded count: ".concat(currentFramesDecoded, "."));
|
|
19283
|
+
}
|
|
19284
|
+
var currentFramesReceived = getSumFromStatsByType(current, 'inbound-rtp', 'framesReceived');
|
|
19285
|
+
var previousFramesReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'framesReceived');
|
|
19286
|
+
if (currentFramesReceived === previousFramesReceived) {
|
|
19287
|
+
getLogger().info("StatsMonitor#checkInboundShare --> No share frames received, last frames received count: ".concat(currentFramesReceived, "."));
|
|
19288
|
+
}
|
|
19289
|
+
var currentFramesDropped = getSumFromStatsByType(current, 'inbound-rtp', 'framesDropped');
|
|
19290
|
+
var previousFramesDropped = getSumFromStatsByType(previous, 'inbound-rtp', 'framesDropped');
|
|
19291
|
+
if (currentFramesDropped - previousFramesDropped > 10) {
|
|
19292
|
+
getLogger().info("StatsMonitor#checkInboundShare --> Too many inbound share frames dropped, total frames dropped count: ".concat(currentFramesDropped, "."));
|
|
19293
|
+
}
|
|
19294
|
+
}
|
|
19295
|
+
}
|
|
19296
|
+
checkOutboundShare(previous, current) {
|
|
19297
|
+
var currentPacketsSent = getSumFromStatsByType(current, 'outbound-rtp', 'packetsSent');
|
|
19298
|
+
var previousPacketsSent = getSumFromStatsByType(previous, 'outbound-rtp', 'packetsSent');
|
|
19299
|
+
if (currentPacketsSent === previousPacketsSent) {
|
|
19300
|
+
getLogger().info("StatsMonitor#checkOutboundShare --> No share packets sent, last packets sent count: ".concat(currentPacketsSent, "."));
|
|
19301
|
+
}
|
|
19302
|
+
var currentFramesEncoded = getSumFromStatsByType(current, 'outbound-rtp', 'framesEncoded');
|
|
19303
|
+
var previousFramesEncoded = getSumFromStatsByType(previous, 'outbound-rtp', 'framesEncoded');
|
|
19304
|
+
if (currentFramesEncoded === previousFramesEncoded) {
|
|
19305
|
+
getLogger().info("StatsMonitor#checkOutboundShare --> No share frames encoded, last frames encoded count: ".concat(currentFramesEncoded, "."));
|
|
19306
|
+
}
|
|
19307
|
+
var currentFramesSent = getSumFromStatsByType(current, 'outbound-rtp', 'framesSent');
|
|
19308
|
+
var previousFramesSent = getSumFromStatsByType(previous, 'outbound-rtp', 'framesSent');
|
|
19309
|
+
if (currentFramesSent === previousFramesSent) {
|
|
19310
|
+
getLogger().info("StatsMonitor#checkOutboundShare --> No share frames sent, last frames sent count: ".concat(currentFramesSent, "."));
|
|
19311
|
+
}
|
|
19312
|
+
}
|
|
19313
|
+
}
|
|
19314
|
+
|
|
19235
19315
|
var Media = {
|
|
19236
19316
|
createAudioTrack: createAudioTrack,
|
|
19237
19317
|
createVideoTrack: createVideoTrack,
|
|
@@ -19268,6 +19348,7 @@ exports.RemoteStream = RemoteStream;
|
|
|
19268
19348
|
exports.RoapMediaConnection = RoapMediaConnection;
|
|
19269
19349
|
exports.SendSlot = SendSlot;
|
|
19270
19350
|
exports.StatsAnalyzer = StatsAnalyzer;
|
|
19351
|
+
exports.StatsMonitor = StatsMonitor;
|
|
19271
19352
|
exports.StreamRequest = StreamRequest;
|
|
19272
19353
|
exports.WcmeError = WcmeError;
|
|
19273
19354
|
exports.configureWcmeLogger = configureWcmeLogger;
|
package/dist/esm/index.js
CHANGED
|
@@ -17918,7 +17918,8 @@ var initialMqeIntervalStreamTransmitVideo = {
|
|
|
17918
17918
|
requestedKeyFrames: 0,
|
|
17919
17919
|
localConfigurationChanges: 0,
|
|
17920
17920
|
remoteConfigurationChanges: 0,
|
|
17921
|
-
h264CodecProfile: 'BP'
|
|
17921
|
+
h264CodecProfile: 'BP',
|
|
17922
|
+
isAvatar: false
|
|
17922
17923
|
};
|
|
17923
17924
|
|
|
17924
17925
|
var max = array => {
|
|
@@ -18515,7 +18516,7 @@ class MqeBuilder {
|
|
|
18515
18516
|
return result;
|
|
18516
18517
|
}
|
|
18517
18518
|
buildMqeIntervalStreamTransmitVideo(id) {
|
|
18518
|
-
var _getPropertyFromStats37, _getPropertyFromStats38, _getPropertyFromStats39, _getPropertyFromStats40, _getPropertyFromStats41, _getPropertyFromStats42, _getPropertyFromStats43, _getPropertyFromStats44, _getPropertyFromStats45, _getH264ProfileFromSt2;
|
|
18519
|
+
var _getPropertyFromStats37, _getPropertyFromStats38, _getPropertyFromStats39, _getPropertyFromStats40, _getPropertyFromStats41, _getPropertyFromStats42, _getPropertyFromStats43, _getPropertyFromStats44, _getPropertyFromStats45, _getH264ProfileFromSt2, _getPropertyFromStats46;
|
|
18519
18520
|
var result = structuredClone(initialMqeIntervalStreamTransmitVideo);
|
|
18520
18521
|
result.common = this.buildMqeIntervalStreamTransmitCommon(id);
|
|
18521
18522
|
var current = this.currentIntervalStats;
|
|
@@ -18538,6 +18539,8 @@ class MqeBuilder {
|
|
|
18538
18539
|
result.localConfigurationChanges = 0;
|
|
18539
18540
|
var currentH264CodecProfile = (_getH264ProfileFromSt2 = getH264ProfileFromStatsByStreamStatsId(current, id)) !== null && _getH264ProfileFromSt2 !== void 0 ? _getH264ProfileFromSt2 : 'BP';
|
|
18540
18541
|
result.h264CodecProfile = currentH264CodecProfile;
|
|
18542
|
+
var currentSourceState = (_getPropertyFromStats46 = getPropertyFromStatsById(current, id, 'sourceState')) !== null && _getPropertyFromStats46 !== void 0 ? _getPropertyFromStats46 : '';
|
|
18543
|
+
result.isAvatar = currentSourceState === 'avatar';
|
|
18541
18544
|
var currentLastUsedEffect = getPropertyFromStatsById(current, id, 'lastUsedEffect');
|
|
18542
18545
|
if ((currentLastUsedEffect === null || currentLastUsedEffect === void 0 ? void 0 : currentLastUsedEffect.kind) === 'virtual-background-effect' && 'virtualBackgroundMode' in currentLastUsedEffect) {
|
|
18543
18546
|
if (currentLastUsedEffect.virtualBackgroundMode === 'BLUR') {
|
|
@@ -18555,34 +18558,34 @@ class MqeBuilder {
|
|
|
18555
18558
|
return result;
|
|
18556
18559
|
}
|
|
18557
18560
|
buildMqeIntervalStreamTransmitCommon(id) {
|
|
18558
|
-
var
|
|
18561
|
+
var _getPropertyFromStats47, _getPropertyFromStats48, _getPropertyFromStats49, _getPropertyFromStats50, _getPropertyFromStats53, _getPropertyFromStats54, _getPropertyFromStats55, _getPropertyFromStats56, _getCodecFromStatsByS2;
|
|
18559
18562
|
var result = structuredClone(initialMqeIntervalStreamTransmitCommon);
|
|
18560
18563
|
var current = this.currentIntervalStats;
|
|
18561
18564
|
var previous = this.previousIntervalStats;
|
|
18562
|
-
var currentPacketsSent = (
|
|
18563
|
-
var previousPacketsSent = (
|
|
18564
|
-
var currentRetransmittedPacketsSent = (
|
|
18565
|
-
var previousRetransmittedPacketsSent = (
|
|
18565
|
+
var currentPacketsSent = (_getPropertyFromStats47 = getPropertyFromStatsById(current, id, 'packetsSent')) !== null && _getPropertyFromStats47 !== void 0 ? _getPropertyFromStats47 : 0;
|
|
18566
|
+
var previousPacketsSent = (_getPropertyFromStats48 = getPropertyFromStatsById(previous, id, 'packetsSent')) !== null && _getPropertyFromStats48 !== void 0 ? _getPropertyFromStats48 : 0;
|
|
18567
|
+
var currentRetransmittedPacketsSent = (_getPropertyFromStats49 = getPropertyFromStatsById(current, id, 'retransmittedPacketsSent')) !== null && _getPropertyFromStats49 !== void 0 ? _getPropertyFromStats49 : 0;
|
|
18568
|
+
var previousRetransmittedPacketsSent = (_getPropertyFromStats50 = getPropertyFromStatsById(previous, id, 'retransmittedPacketsSent')) !== null && _getPropertyFromStats50 !== void 0 ? _getPropertyFromStats50 : 0;
|
|
18566
18569
|
result.rtpPackets = currentPacketsSent - previousPacketsSent - (currentRetransmittedPacketsSent - previousRetransmittedPacketsSent);
|
|
18567
18570
|
if (this.mediaKind === 'video') {
|
|
18568
|
-
var
|
|
18569
|
-
var currentMaxTransmittedFrameRateForMaxRequestedFrameSize = (
|
|
18571
|
+
var _getPropertyFromStats51, _getPropertyFromStats52;
|
|
18572
|
+
var currentMaxTransmittedFrameRateForMaxRequestedFrameSize = (_getPropertyFromStats51 = getPropertyFromStatsById(current, id, 'maxTransmittedFrameRateForMaxRequestedFrameSize')) !== null && _getPropertyFromStats51 !== void 0 ? _getPropertyFromStats51 : 0;
|
|
18570
18573
|
result.transmittedFrameRate = currentMaxTransmittedFrameRateForMaxRequestedFrameSize;
|
|
18571
|
-
var currentMaxRequestedFrameRateForMaxRequestedFrameSize = (
|
|
18574
|
+
var currentMaxRequestedFrameRateForMaxRequestedFrameSize = (_getPropertyFromStats52 = getPropertyFromStatsById(current, id, 'maxRequestedFrameRateForMaxRequestedFrameSize')) !== null && _getPropertyFromStats52 !== void 0 ? _getPropertyFromStats52 : 0;
|
|
18572
18575
|
result.requestedFrames = currentMaxRequestedFrameRateForMaxRequestedFrameSize;
|
|
18573
18576
|
}
|
|
18574
|
-
var currentBytesSent = (
|
|
18575
|
-
var previousBytesSent = (
|
|
18576
|
-
var currentRetransmittedBytesSent = (
|
|
18577
|
-
var previousRetransmittedBytesSent = (
|
|
18577
|
+
var currentBytesSent = (_getPropertyFromStats53 = getPropertyFromStatsById(current, id, 'bytesSent')) !== null && _getPropertyFromStats53 !== void 0 ? _getPropertyFromStats53 : 0;
|
|
18578
|
+
var previousBytesSent = (_getPropertyFromStats54 = getPropertyFromStatsById(previous, id, 'bytesSent')) !== null && _getPropertyFromStats54 !== void 0 ? _getPropertyFromStats54 : 0;
|
|
18579
|
+
var currentRetransmittedBytesSent = (_getPropertyFromStats55 = getPropertyFromStatsById(current, id, 'retransmittedBytesSent')) !== null && _getPropertyFromStats55 !== void 0 ? _getPropertyFromStats55 : 0;
|
|
18580
|
+
var previousRetransmittedBytesSent = (_getPropertyFromStats56 = getPropertyFromStatsById(previous, id, 'retransmittedBytesSent')) !== null && _getPropertyFromStats56 !== void 0 ? _getPropertyFromStats56 : 0;
|
|
18578
18581
|
result.transmittedBitrate = bytesToBitrate(currentBytesSent - previousBytesSent - (currentRetransmittedBytesSent - previousRetransmittedBytesSent), MQE_INTERVAL);
|
|
18579
18582
|
if (this.mediaKind === 'audio') {
|
|
18580
|
-
var
|
|
18581
|
-
var currentRequestedBitrateArray = (
|
|
18583
|
+
var _getPropertyFromStats57;
|
|
18584
|
+
var currentRequestedBitrateArray = (_getPropertyFromStats57 = getPropertyFromStatsById(current, id, 'requestedBitrateArray')) !== null && _getPropertyFromStats57 !== void 0 ? _getPropertyFromStats57 : [];
|
|
18582
18585
|
result.requestedBitrate = max(currentRequestedBitrateArray);
|
|
18583
18586
|
} else {
|
|
18584
|
-
var
|
|
18585
|
-
var currentMaxRequestedBitrateForMaxRequestedFrameSize = (
|
|
18587
|
+
var _getPropertyFromStats58;
|
|
18588
|
+
var currentMaxRequestedBitrateForMaxRequestedFrameSize = (_getPropertyFromStats58 = getPropertyFromStatsById(current, id, 'maxRequestedBitrateForMaxRequestedFrameSize')) !== null && _getPropertyFromStats58 !== void 0 ? _getPropertyFromStats58 : 0;
|
|
18586
18589
|
result.requestedBitrate = currentMaxRequestedBitrateForMaxRequestedFrameSize;
|
|
18587
18590
|
}
|
|
18588
18591
|
var currentCodec = (_getCodecFromStatsByS2 = getCodecFromStatsByStreamStatsId(current, id)) !== null && _getCodecFromStatsByS2 !== void 0 ? _getCodecFromStatsByS2 : this.mediaKind === 'audio' ? 'opus' : 'H264';
|
|
@@ -18699,6 +18702,15 @@ var NetworkQualityEventNames;
|
|
|
18699
18702
|
(function (NetworkQualityEventNames) {
|
|
18700
18703
|
NetworkQualityEventNames["NETWORK_QUALITY"] = "NETWORK_QUALITY";
|
|
18701
18704
|
})(NetworkQualityEventNames || (NetworkQualityEventNames = {}));
|
|
18705
|
+
var StatsMonitorEventNames;
|
|
18706
|
+
(function (StatsMonitorEventNames) {
|
|
18707
|
+
StatsMonitorEventNames["INBOUND_AUDIO_ISSUE"] = "INBOUND_AUDIO_ISSUE";
|
|
18708
|
+
})(StatsMonitorEventNames || (StatsMonitorEventNames = {}));
|
|
18709
|
+
var InboundAudioIssueSubTypes;
|
|
18710
|
+
(function (InboundAudioIssueSubTypes) {
|
|
18711
|
+
InboundAudioIssueSubTypes["DECODE_RESULTS_IN_ZERO_AUDIO_LEVEL"] = "DECODE_RESULTS_IN_ZERO_AUDIO_LEVEL";
|
|
18712
|
+
InboundAudioIssueSubTypes["ALL_PACKETS_DISCARDED"] = "ALL_PACKETS_DISCARDED";
|
|
18713
|
+
})(InboundAudioIssueSubTypes || (InboundAudioIssueSubTypes = {}));
|
|
18702
18714
|
|
|
18703
18715
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18704
18716
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -18707,6 +18719,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18707
18719
|
var {
|
|
18708
18720
|
config,
|
|
18709
18721
|
networkQualityMonitor,
|
|
18722
|
+
statsMonitor,
|
|
18710
18723
|
isMultistream = false
|
|
18711
18724
|
} = _ref;
|
|
18712
18725
|
super();
|
|
@@ -18718,6 +18731,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18718
18731
|
_defineProperty(this, "mqeInterval", void 0);
|
|
18719
18732
|
_defineProperty(this, "mqeSentCount", 0);
|
|
18720
18733
|
_defineProperty(this, "networkQualityMonitor", void 0);
|
|
18734
|
+
_defineProperty(this, "statsMonitor", void 0);
|
|
18721
18735
|
_defineProperty(this, "mediaConnection", null);
|
|
18722
18736
|
_defineProperty(this, "statsStarted", false);
|
|
18723
18737
|
_defineProperty(this, "mqeIntervalSessionReceiveAudioMainBuilder", void 0);
|
|
@@ -18759,6 +18773,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18759
18773
|
});
|
|
18760
18774
|
this.config = config;
|
|
18761
18775
|
this.networkQualityMonitor = networkQualityMonitor;
|
|
18776
|
+
this.statsMonitor = statsMonitor;
|
|
18762
18777
|
this.mqeIntervalSessionReceiveAudioMainBuilder = new MqeIntervalSessionReceiveAudioBuilder({
|
|
18763
18778
|
isMain: true,
|
|
18764
18779
|
multistreamEnabled: isMultistream
|
|
@@ -18977,7 +18992,7 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18977
18992
|
})();
|
|
18978
18993
|
}
|
|
18979
18994
|
monitorStats(transceiverStats) {
|
|
18980
|
-
var _this$meetingMediaSta3, _this$meetingMediaSta4, _this$meetingMediaSta5, _this$meetingMediaSta6, _this$meetingMediaSta7, _this$previousTransce, _this$previousTransce2, _this$previousTransce3, _this$previousTransce4, _this$previousTransce5, _this$previousTransce6, _this$previousTransce7, _this$previousTransce8, _this$previousTransce9, _this$previousTransce10, _this$previousTransce11, _this$previousTransce12;
|
|
18995
|
+
var _this$meetingMediaSta3, _this$meetingMediaSta4, _this$meetingMediaSta5, _this$meetingMediaSta6, _this$meetingMediaSta7, _this$meetingMediaSta8, _this$previousTransce, _this$previousTransce2, _this$previousTransce3, _this$previousTransce4, _this$previousTransce5, _this$previousTransce6, _this$previousTransce7, _this$previousTransce8, _this$previousTransce9, _this$previousTransce10, _this$previousTransce11, _this$previousTransce12;
|
|
18981
18996
|
var emitNetworkQualityEvents = (mediaType, intervalStats) => {
|
|
18982
18997
|
var roundTripTimeArray = getPropertyFromStatsByTypeInArray(intervalStats, 'remote-inbound-rtp', 'roundTripTime');
|
|
18983
18998
|
var jitterArray = getPropertyFromStatsByTypeInArray(intervalStats, 'remote-inbound-rtp', 'jitter');
|
|
@@ -18993,129 +19008,45 @@ class StatsAnalyzer extends EventEmitter$5 {
|
|
|
18993
19008
|
var current = convertToStatsMap(transceiverStats.audio.senders);
|
|
18994
19009
|
if (this.previousTransceiverStats) {
|
|
18995
19010
|
var previous = convertToStatsMap(this.previousTransceiverStats.audio.senders);
|
|
18996
|
-
|
|
18997
|
-
var previousPacketsSent = getSumFromStatsByType(previous, 'outbound-rtp', 'packetsSent');
|
|
18998
|
-
if (currentPacketsSent === previousPacketsSent) {
|
|
18999
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No audio packets sent, last packets sent count: ".concat(currentPacketsSent, "."));
|
|
19000
|
-
}
|
|
19001
|
-
var totalAudioEnergyExists = getPropertyFromStatsByType(current, 'media-source', 'totalAudioEnergy') !== undefined;
|
|
19002
|
-
if (totalAudioEnergyExists) {
|
|
19003
|
-
var currentTotalAudioEnergy = getSumFromStatsByType(current, 'media-source', 'totalAudioEnergy');
|
|
19004
|
-
var previousTotalAudioEnergy = getSumFromStatsByType(previous, 'media-source', 'totalAudioEnergy');
|
|
19005
|
-
if (currentTotalAudioEnergy === previousTotalAudioEnergy) {
|
|
19006
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No audio energy, last total audio energy: ".concat(currentTotalAudioEnergy, "."));
|
|
19007
|
-
}
|
|
19008
|
-
}
|
|
19009
|
-
var audioLevelExists = getPropertyFromStatsByType(current, 'media-source', 'audioLevel') !== undefined;
|
|
19010
|
-
if (audioLevelExists) {
|
|
19011
|
-
var currentAudioLevel = getSumFromStatsByType(current, 'media-source', 'audioLevel');
|
|
19012
|
-
if (currentAudioLevel === 0) {
|
|
19013
|
-
getLogger().info("StatsAnalyzer#monitorStats --> Audio level is 0.");
|
|
19014
|
-
}
|
|
19015
|
-
}
|
|
19011
|
+
this.statsMonitor.checkOutboundAudio(previous, current);
|
|
19016
19012
|
}
|
|
19017
19013
|
emitNetworkQualityEvents('audio', current);
|
|
19018
19014
|
}
|
|
19019
|
-
if ((_this$meetingMediaSta4 = this.meetingMediaStatus) !== null && _this$meetingMediaSta4 !== void 0 && _this$meetingMediaSta4.expected.
|
|
19020
|
-
var _current = convertToStatsMap(transceiverStats.
|
|
19015
|
+
if ((_this$meetingMediaSta4 = this.meetingMediaStatus) !== null && _this$meetingMediaSta4 !== void 0 && _this$meetingMediaSta4.expected.receiveAudio) {
|
|
19016
|
+
var _current = convertToStatsMap(transceiverStats.audio.receivers);
|
|
19021
19017
|
if (this.previousTransceiverStats) {
|
|
19022
|
-
var _previous = convertToStatsMap(this.previousTransceiverStats.
|
|
19023
|
-
|
|
19024
|
-
var _previousPacketsSent = getSumFromStatsByType(_previous, 'outbound-rtp', 'packetsSent');
|
|
19025
|
-
if (_currentPacketsSent === _previousPacketsSent) {
|
|
19026
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video packets sent, last packets sent count: ".concat(_currentPacketsSent, "."));
|
|
19027
|
-
}
|
|
19028
|
-
var currentFramesEncoded = getSumFromStatsByType(_current, 'outbound-rtp', 'framesEncoded');
|
|
19029
|
-
var previousFramesEncoded = getSumFromStatsByType(_previous, 'outbound-rtp', 'framesEncoded');
|
|
19030
|
-
if (currentFramesEncoded === previousFramesEncoded) {
|
|
19031
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video frames encoded, last frames encoded count: ".concat(currentFramesEncoded, "."));
|
|
19032
|
-
}
|
|
19033
|
-
var currentFramesSent = getSumFromStatsByType(_current, 'outbound-rtp', 'framesSent');
|
|
19034
|
-
var previousFramesSent = getSumFromStatsByType(_previous, 'outbound-rtp', 'framesSent');
|
|
19035
|
-
if (currentFramesSent === previousFramesSent) {
|
|
19036
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video frames sent, last frames sent count: ".concat(currentFramesSent, "."));
|
|
19037
|
-
}
|
|
19018
|
+
var _previous = convertToStatsMap(this.previousTransceiverStats.audio.receivers);
|
|
19019
|
+
this.statsMonitor.checkInboundAudio(_previous, _current);
|
|
19038
19020
|
}
|
|
19039
|
-
emitNetworkQualityEvents('video', _current);
|
|
19040
19021
|
}
|
|
19041
|
-
if ((_this$meetingMediaSta5 = this.meetingMediaStatus) !== null && _this$meetingMediaSta5 !== void 0 && _this$meetingMediaSta5.expected.
|
|
19042
|
-
var _current2 = convertToStatsMap(transceiverStats.video.
|
|
19022
|
+
if ((_this$meetingMediaSta5 = this.meetingMediaStatus) !== null && _this$meetingMediaSta5 !== void 0 && _this$meetingMediaSta5.expected.sendVideo) {
|
|
19023
|
+
var _current2 = convertToStatsMap(transceiverStats.video.senders);
|
|
19043
19024
|
if (this.previousTransceiverStats) {
|
|
19044
|
-
var
|
|
19045
|
-
|
|
19046
|
-
var _previous2 = convertToStatsMap(this.previousTransceiverStats.video.receivers);
|
|
19047
|
-
var currentPacketsReceived = getSumFromStatsByType(_current2, 'inbound-rtp', 'packetsReceived');
|
|
19048
|
-
var previousPacketsReceived = getSumFromStatsByType(_previous2, 'inbound-rtp', 'packetsReceived');
|
|
19049
|
-
if (currentPacketsReceived === previousPacketsReceived) {
|
|
19050
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video packets received, last packets received count: ".concat(currentPacketsReceived, "."));
|
|
19051
|
-
}
|
|
19052
|
-
var currentFramesDecoded = getSumFromStatsByType(_current2, 'inbound-rtp', 'framesDecoded');
|
|
19053
|
-
var previousFramesDecoded = getSumFromStatsByType(_previous2, 'inbound-rtp', 'framesDecoded');
|
|
19054
|
-
if (currentFramesDecoded === previousFramesDecoded) {
|
|
19055
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video frames decoded, last frames decoded count: ".concat(currentFramesDecoded, "."));
|
|
19056
|
-
}
|
|
19057
|
-
var currentFramesReceived = getSumFromStatsByType(_current2, 'inbound-rtp', 'framesReceived');
|
|
19058
|
-
var previousFramesReceived = getSumFromStatsByType(_previous2, 'inbound-rtp', 'framesReceived');
|
|
19059
|
-
if (currentFramesReceived === previousFramesReceived) {
|
|
19060
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No video frames received, last frames received count: ".concat(currentFramesReceived, "."));
|
|
19061
|
-
}
|
|
19062
|
-
var currentFramesDropped = getSumFromStatsByType(_current2, 'inbound-rtp', 'framesDropped');
|
|
19063
|
-
var previousFramesDropped = getSumFromStatsByType(_previous2, 'inbound-rtp', 'framesDropped');
|
|
19064
|
-
if (currentFramesDropped - previousFramesDropped > 10) {
|
|
19065
|
-
getLogger().info("StatsAnalyzer#monitorStats --> Too many video frames dropped, total frames dropped count: ".concat(currentFramesDropped, "."));
|
|
19066
|
-
}
|
|
19067
|
-
}
|
|
19025
|
+
var _previous2 = convertToStatsMap(this.previousTransceiverStats.video.senders);
|
|
19026
|
+
this.statsMonitor.checkOutboundVideo(_previous2, _current2);
|
|
19068
19027
|
}
|
|
19028
|
+
emitNetworkQualityEvents('video', _current2);
|
|
19069
19029
|
}
|
|
19070
|
-
if ((_this$meetingMediaSta6 = this.meetingMediaStatus) !== null && _this$meetingMediaSta6 !== void 0 && _this$meetingMediaSta6.expected.
|
|
19071
|
-
var _current3 = convertToStatsMap(transceiverStats.
|
|
19030
|
+
if ((_this$meetingMediaSta6 = this.meetingMediaStatus) !== null && _this$meetingMediaSta6 !== void 0 && _this$meetingMediaSta6.expected.receiveVideo) {
|
|
19031
|
+
var _current3 = convertToStatsMap(transceiverStats.video.receivers);
|
|
19072
19032
|
if (this.previousTransceiverStats) {
|
|
19073
|
-
var _previous3 = convertToStatsMap(this.previousTransceiverStats.
|
|
19074
|
-
|
|
19075
|
-
var _previousPacketsSent2 = getSumFromStatsByType(_previous3, 'outbound-rtp', 'packetsSent');
|
|
19076
|
-
if (_currentPacketsSent2 === _previousPacketsSent2) {
|
|
19077
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share packets sent, last packets sent count: ".concat(_currentPacketsSent2, "."));
|
|
19078
|
-
}
|
|
19079
|
-
var _currentFramesEncoded = getSumFromStatsByType(_current3, 'outbound-rtp', 'framesEncoded');
|
|
19080
|
-
var _previousFramesEncoded = getSumFromStatsByType(_previous3, 'outbound-rtp', 'framesEncoded');
|
|
19081
|
-
if (_currentFramesEncoded === _previousFramesEncoded) {
|
|
19082
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share frames encoded, last frames encoded count: ".concat(_currentFramesEncoded, "."));
|
|
19083
|
-
}
|
|
19084
|
-
var _currentFramesSent = getSumFromStatsByType(_current3, 'outbound-rtp', 'framesSent');
|
|
19085
|
-
var _previousFramesSent = getSumFromStatsByType(_previous3, 'outbound-rtp', 'framesSent');
|
|
19086
|
-
if (_currentFramesSent === _previousFramesSent) {
|
|
19087
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share frames sent, last frames sent count: ".concat(_currentFramesSent, "."));
|
|
19088
|
-
}
|
|
19033
|
+
var _previous3 = convertToStatsMap(this.previousTransceiverStats.video.receivers);
|
|
19034
|
+
this.statsMonitor.checkInboundVideo(_previous3, _current3);
|
|
19089
19035
|
}
|
|
19090
|
-
emitNetworkQualityEvents('share', _current3);
|
|
19091
19036
|
}
|
|
19092
|
-
if ((_this$meetingMediaSta7 = this.meetingMediaStatus) !== null && _this$meetingMediaSta7 !== void 0 && _this$meetingMediaSta7.expected.
|
|
19093
|
-
var _current4 = convertToStatsMap(transceiverStats.screenShareVideo.
|
|
19037
|
+
if ((_this$meetingMediaSta7 = this.meetingMediaStatus) !== null && _this$meetingMediaSta7 !== void 0 && _this$meetingMediaSta7.expected.sendShare) {
|
|
19038
|
+
var _current4 = convertToStatsMap(transceiverStats.screenShareVideo.senders);
|
|
19094
19039
|
if (this.previousTransceiverStats) {
|
|
19095
|
-
var
|
|
19096
|
-
|
|
19097
|
-
|
|
19098
|
-
|
|
19099
|
-
|
|
19100
|
-
|
|
19101
|
-
|
|
19102
|
-
|
|
19103
|
-
|
|
19104
|
-
|
|
19105
|
-
if (_currentFramesDecoded === _previousFramesDecoded) {
|
|
19106
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share frames decoded, last frames decoded count: ".concat(_currentFramesDecoded, "."));
|
|
19107
|
-
}
|
|
19108
|
-
var _currentFramesReceived = getSumFromStatsByType(_current4, 'inbound-rtp', 'framesReceived');
|
|
19109
|
-
var _previousFramesReceived = getSumFromStatsByType(_previous4, 'inbound-rtp', 'framesReceived');
|
|
19110
|
-
if (_currentFramesReceived === _previousFramesReceived) {
|
|
19111
|
-
getLogger().info("StatsAnalyzer#monitorStats --> No share frames received, last frames received count: ".concat(_currentFramesReceived, "."));
|
|
19112
|
-
}
|
|
19113
|
-
var _currentFramesDropped = getSumFromStatsByType(_current4, 'inbound-rtp', 'framesDropped');
|
|
19114
|
-
var _previousFramesDropped = getSumFromStatsByType(_previous4, 'inbound-rtp', 'framesDropped');
|
|
19115
|
-
if (_currentFramesDropped - _previousFramesDropped > 10) {
|
|
19116
|
-
getLogger().info("StatsAnalyzer#monitorStats --> Too many share frames dropped, total frames dropped count: ".concat(_currentFramesDropped, "."));
|
|
19117
|
-
}
|
|
19118
|
-
}
|
|
19040
|
+
var _previous4 = convertToStatsMap(this.previousTransceiverStats.screenShareVideo.senders);
|
|
19041
|
+
this.statsMonitor.checkOutboundShare(_previous4, _current4);
|
|
19042
|
+
}
|
|
19043
|
+
emitNetworkQualityEvents('share', _current4);
|
|
19044
|
+
}
|
|
19045
|
+
if ((_this$meetingMediaSta8 = this.meetingMediaStatus) !== null && _this$meetingMediaSta8 !== void 0 && _this$meetingMediaSta8.expected.receiveShare) {
|
|
19046
|
+
var _current5 = convertToStatsMap(transceiverStats.screenShareVideo.receivers);
|
|
19047
|
+
if (this.previousTransceiverStats) {
|
|
19048
|
+
var _previous5 = convertToStatsMap(this.previousTransceiverStats.screenShareVideo.receivers);
|
|
19049
|
+
this.statsMonitor.checkInboundShare(_previous5, _current5);
|
|
19119
19050
|
}
|
|
19120
19051
|
}
|
|
19121
19052
|
this.emitStartStopEvents('audio', getSumFromStatsByType(convertToStatsMap((_this$previousTransce = (_this$previousTransce2 = this.previousTransceiverStats) === null || _this$previousTransce2 === void 0 ? void 0 : _this$previousTransce2.audio.senders) !== null && _this$previousTransce !== void 0 ? _this$previousTransce : []), 'outbound-rtp', 'packetsSent'), getSumFromStatsByType(convertToStatsMap(transceiverStats.audio.senders), 'outbound-rtp', 'packetsSent'), true);
|
|
@@ -19228,6 +19159,155 @@ class NetworkQualityMonitor extends EventEmitter$5 {
|
|
|
19228
19159
|
}
|
|
19229
19160
|
}
|
|
19230
19161
|
|
|
19162
|
+
var MIN_AUDIO_PACKETS_RECEIVER_THRESHOLD = 500;
|
|
19163
|
+
var InboundAudioThresholds = {
|
|
19164
|
+
DecodeResultsInZeroAudioLevel: {
|
|
19165
|
+
concealedRatio: 0.7,
|
|
19166
|
+
lossRatio: 0.2,
|
|
19167
|
+
discardedRatio: 0.5
|
|
19168
|
+
},
|
|
19169
|
+
AllPacketsDiscarded: {
|
|
19170
|
+
discardedRatio: 0.9
|
|
19171
|
+
}
|
|
19172
|
+
};
|
|
19173
|
+
class StatsMonitor extends EventEmitter$5 {
|
|
19174
|
+
hasAudioDecodeIssue(totalAudioEnergy, totalSamplesReceived, concealedRatio, lossRatio, discardedRatio) {
|
|
19175
|
+
var thresholds = InboundAudioThresholds.DecodeResultsInZeroAudioLevel;
|
|
19176
|
+
return totalAudioEnergy === 0 && totalSamplesReceived > 0 && concealedRatio < thresholds.concealedRatio && lossRatio < thresholds.lossRatio && discardedRatio < thresholds.discardedRatio;
|
|
19177
|
+
}
|
|
19178
|
+
checkInboundAudio(previous, current) {
|
|
19179
|
+
var previousPacketsReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'packetsReceived');
|
|
19180
|
+
var packetsReceived = getSumFromStatsByType(current, 'inbound-rtp', 'packetsReceived');
|
|
19181
|
+
var totalSamplesReceived = getSumFromStatsByType(current, 'inbound-rtp', 'totalSamplesReceived');
|
|
19182
|
+
var totalAudioEnergy = getSumFromStatsByType(current, 'inbound-rtp', 'totalAudioEnergy');
|
|
19183
|
+
var packetsDiscarded = getSumFromStatsByType(current, 'inbound-rtp', 'packetsDiscarded');
|
|
19184
|
+
var concealedSamples = getSumFromStatsByType(current, 'inbound-rtp', 'concealedSamples');
|
|
19185
|
+
var packetsLost = getSumFromStatsByType(current, 'inbound-rtp', 'packetsLost');
|
|
19186
|
+
var concealedRatio = totalSamplesReceived > 0 ? concealedSamples / totalSamplesReceived : 0;
|
|
19187
|
+
var lossRatio = packetsReceived + packetsLost > 0 ? packetsLost / (packetsReceived + packetsLost) : 0;
|
|
19188
|
+
var discardedRatio = packetsReceived > 0 ? packetsDiscarded / packetsReceived : 0;
|
|
19189
|
+
if (packetsReceived > MIN_AUDIO_PACKETS_RECEIVER_THRESHOLD && packetsReceived > previousPacketsReceived) {
|
|
19190
|
+
if (this.hasAudioDecodeIssue(totalAudioEnergy, totalSamplesReceived, concealedRatio, lossRatio, discardedRatio)) {
|
|
19191
|
+
getLogger().info("StatsMonitor#checkInboundAudio --> Incoming audio from all streams is not being decoded correctly, totalAudioEnergy: ".concat(totalAudioEnergy, ", totalSamplesReceived: ").concat(totalSamplesReceived, ", packetsReceived: ").concat(packetsReceived, ", concealedRatio: ").concat(concealedRatio, ", lossRatio: ").concat(lossRatio, ", discardedRatio: ").concat(discardedRatio, "."));
|
|
19192
|
+
this.emit(StatsMonitorEventNames.INBOUND_AUDIO_ISSUE, {
|
|
19193
|
+
issueSubType: InboundAudioIssueSubTypes.DECODE_RESULTS_IN_ZERO_AUDIO_LEVEL
|
|
19194
|
+
});
|
|
19195
|
+
} else if (discardedRatio >= InboundAudioThresholds.AllPacketsDiscarded.discardedRatio) {
|
|
19196
|
+
getLogger().info("StatsMonitor#checkInboundAudio --> Incoming audio packets from all streams are being discarded, packetsReceived: ".concat(packetsReceived, ", packetsDiscarded: ").concat(packetsDiscarded, ", discardedRatio: ").concat(discardedRatio, "."));
|
|
19197
|
+
this.emit(StatsMonitorEventNames.INBOUND_AUDIO_ISSUE, {
|
|
19198
|
+
issueSubType: InboundAudioIssueSubTypes.ALL_PACKETS_DISCARDED
|
|
19199
|
+
});
|
|
19200
|
+
}
|
|
19201
|
+
}
|
|
19202
|
+
}
|
|
19203
|
+
checkOutboundAudio(previous, current) {
|
|
19204
|
+
var currentPacketsSent = getSumFromStatsByType(current, 'outbound-rtp', 'packetsSent');
|
|
19205
|
+
var previousPacketsSent = getSumFromStatsByType(previous, 'outbound-rtp', 'packetsSent');
|
|
19206
|
+
if (currentPacketsSent === previousPacketsSent) {
|
|
19207
|
+
getLogger().info("StatsMonitor#checkOutboundAudio --> No audio packets sent, last packets sent count: ".concat(currentPacketsSent, "."));
|
|
19208
|
+
}
|
|
19209
|
+
var totalAudioEnergyExists = getPropertyFromStatsByType(current, 'media-source', 'totalAudioEnergy') !== undefined;
|
|
19210
|
+
if (totalAudioEnergyExists) {
|
|
19211
|
+
var currentTotalAudioEnergy = getSumFromStatsByType(current, 'media-source', 'totalAudioEnergy');
|
|
19212
|
+
var previousTotalAudioEnergy = getSumFromStatsByType(previous, 'media-source', 'totalAudioEnergy');
|
|
19213
|
+
if (currentTotalAudioEnergy === previousTotalAudioEnergy) {
|
|
19214
|
+
getLogger().info("StatsMonitor#checkOutboundAudio --> No audio energy from local audio source, last total audio energy: ".concat(currentTotalAudioEnergy, "."));
|
|
19215
|
+
}
|
|
19216
|
+
}
|
|
19217
|
+
var audioLevelExists = getPropertyFromStatsByType(current, 'media-source', 'audioLevel') !== undefined;
|
|
19218
|
+
if (audioLevelExists) {
|
|
19219
|
+
var currentAudioLevel = getSumFromStatsByType(current, 'media-source', 'audioLevel');
|
|
19220
|
+
if (currentAudioLevel === 0) {
|
|
19221
|
+
getLogger().info("StatsMonitor#checkOutboundAudio --> Audio level in local audio source is 0.");
|
|
19222
|
+
}
|
|
19223
|
+
}
|
|
19224
|
+
}
|
|
19225
|
+
checkInboundVideo(previous, current) {
|
|
19226
|
+
var currentSourceStateArray = getPropertyFromStatsByTypeInArray(current, 'inbound-rtp', 'sourceState');
|
|
19227
|
+
if (currentSourceStateArray.includes('live')) {
|
|
19228
|
+
var currentPacketsReceived = getSumFromStatsByType(current, 'inbound-rtp', 'packetsReceived');
|
|
19229
|
+
var previousPacketsReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'packetsReceived');
|
|
19230
|
+
if (currentPacketsReceived === previousPacketsReceived) {
|
|
19231
|
+
getLogger().info("StatsMonitor#checkInboundVideo --> No video packets received, last packets received count: ".concat(currentPacketsReceived, "."));
|
|
19232
|
+
}
|
|
19233
|
+
var currentFramesDecoded = getSumFromStatsByType(current, 'inbound-rtp', 'framesDecoded');
|
|
19234
|
+
var previousFramesDecoded = getSumFromStatsByType(previous, 'inbound-rtp', 'framesDecoded');
|
|
19235
|
+
if (currentFramesDecoded === previousFramesDecoded) {
|
|
19236
|
+
getLogger().info("StatsMonitor#checkInboundVideo --> No video frames decoded, last frames decoded count: ".concat(currentFramesDecoded, "."));
|
|
19237
|
+
}
|
|
19238
|
+
var currentFramesReceived = getSumFromStatsByType(current, 'inbound-rtp', 'framesReceived');
|
|
19239
|
+
var previousFramesReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'framesReceived');
|
|
19240
|
+
if (currentFramesReceived === previousFramesReceived) {
|
|
19241
|
+
getLogger().info("StatsMonitor#checkInboundVideo --> No video frames received, last frames received count: ".concat(currentFramesReceived, "."));
|
|
19242
|
+
}
|
|
19243
|
+
var currentFramesDropped = getSumFromStatsByType(current, 'inbound-rtp', 'framesDropped');
|
|
19244
|
+
var previousFramesDropped = getSumFromStatsByType(previous, 'inbound-rtp', 'framesDropped');
|
|
19245
|
+
if (currentFramesDropped - previousFramesDropped > 10) {
|
|
19246
|
+
getLogger().info("StatsMonitor#checkInboundVideo --> Too many inbound video frames dropped, total frames dropped count: ".concat(currentFramesDropped, "."));
|
|
19247
|
+
}
|
|
19248
|
+
}
|
|
19249
|
+
}
|
|
19250
|
+
checkOutboundVideo(previous, current) {
|
|
19251
|
+
var currentPacketsSent = getSumFromStatsByType(current, 'outbound-rtp', 'packetsSent');
|
|
19252
|
+
var previousPacketsSent = getSumFromStatsByType(previous, 'outbound-rtp', 'packetsSent');
|
|
19253
|
+
if (currentPacketsSent === previousPacketsSent) {
|
|
19254
|
+
getLogger().info("StatsMonitor#checkOutboundVideo --> No video packets sent, last packets sent count: ".concat(currentPacketsSent, "."));
|
|
19255
|
+
}
|
|
19256
|
+
var currentFramesEncoded = getSumFromStatsByType(current, 'outbound-rtp', 'framesEncoded');
|
|
19257
|
+
var previousFramesEncoded = getSumFromStatsByType(previous, 'outbound-rtp', 'framesEncoded');
|
|
19258
|
+
if (currentFramesEncoded === previousFramesEncoded) {
|
|
19259
|
+
getLogger().info("StatsMonitor#checkOutboundVideo --> No video frames encoded, last frames encoded count: ".concat(currentFramesEncoded, "."));
|
|
19260
|
+
}
|
|
19261
|
+
var currentFramesSent = getSumFromStatsByType(current, 'outbound-rtp', 'framesSent');
|
|
19262
|
+
var previousFramesSent = getSumFromStatsByType(previous, 'outbound-rtp', 'framesSent');
|
|
19263
|
+
if (currentFramesSent === previousFramesSent) {
|
|
19264
|
+
getLogger().info("StatsMonitor#checkOutboundVideo --> No video frames sent, last frames sent count: ".concat(currentFramesSent, "."));
|
|
19265
|
+
}
|
|
19266
|
+
}
|
|
19267
|
+
checkInboundShare(previous, current) {
|
|
19268
|
+
var currentSourceStateArray = getPropertyFromStatsByTypeInArray(current, 'inbound-rtp', 'sourceState');
|
|
19269
|
+
if (currentSourceStateArray.includes('live')) {
|
|
19270
|
+
var currentPacketsReceived = getSumFromStatsByType(current, 'inbound-rtp', 'packetsReceived');
|
|
19271
|
+
var previousPacketsReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'packetsReceived');
|
|
19272
|
+
if (currentPacketsReceived === previousPacketsReceived) {
|
|
19273
|
+
getLogger().info("StatsMonitor#checkInboundShare --> No share packets received, last packets received count: ".concat(currentPacketsReceived, "."));
|
|
19274
|
+
}
|
|
19275
|
+
var currentFramesDecoded = getSumFromStatsByType(current, 'inbound-rtp', 'framesDecoded');
|
|
19276
|
+
var previousFramesDecoded = getSumFromStatsByType(previous, 'inbound-rtp', 'framesDecoded');
|
|
19277
|
+
if (currentFramesDecoded === previousFramesDecoded) {
|
|
19278
|
+
getLogger().info("StatsMonitor#checkInboundShare --> No share frames decoded, last frames decoded count: ".concat(currentFramesDecoded, "."));
|
|
19279
|
+
}
|
|
19280
|
+
var currentFramesReceived = getSumFromStatsByType(current, 'inbound-rtp', 'framesReceived');
|
|
19281
|
+
var previousFramesReceived = getSumFromStatsByType(previous, 'inbound-rtp', 'framesReceived');
|
|
19282
|
+
if (currentFramesReceived === previousFramesReceived) {
|
|
19283
|
+
getLogger().info("StatsMonitor#checkInboundShare --> No share frames received, last frames received count: ".concat(currentFramesReceived, "."));
|
|
19284
|
+
}
|
|
19285
|
+
var currentFramesDropped = getSumFromStatsByType(current, 'inbound-rtp', 'framesDropped');
|
|
19286
|
+
var previousFramesDropped = getSumFromStatsByType(previous, 'inbound-rtp', 'framesDropped');
|
|
19287
|
+
if (currentFramesDropped - previousFramesDropped > 10) {
|
|
19288
|
+
getLogger().info("StatsMonitor#checkInboundShare --> Too many inbound share frames dropped, total frames dropped count: ".concat(currentFramesDropped, "."));
|
|
19289
|
+
}
|
|
19290
|
+
}
|
|
19291
|
+
}
|
|
19292
|
+
checkOutboundShare(previous, current) {
|
|
19293
|
+
var currentPacketsSent = getSumFromStatsByType(current, 'outbound-rtp', 'packetsSent');
|
|
19294
|
+
var previousPacketsSent = getSumFromStatsByType(previous, 'outbound-rtp', 'packetsSent');
|
|
19295
|
+
if (currentPacketsSent === previousPacketsSent) {
|
|
19296
|
+
getLogger().info("StatsMonitor#checkOutboundShare --> No share packets sent, last packets sent count: ".concat(currentPacketsSent, "."));
|
|
19297
|
+
}
|
|
19298
|
+
var currentFramesEncoded = getSumFromStatsByType(current, 'outbound-rtp', 'framesEncoded');
|
|
19299
|
+
var previousFramesEncoded = getSumFromStatsByType(previous, 'outbound-rtp', 'framesEncoded');
|
|
19300
|
+
if (currentFramesEncoded === previousFramesEncoded) {
|
|
19301
|
+
getLogger().info("StatsMonitor#checkOutboundShare --> No share frames encoded, last frames encoded count: ".concat(currentFramesEncoded, "."));
|
|
19302
|
+
}
|
|
19303
|
+
var currentFramesSent = getSumFromStatsByType(current, 'outbound-rtp', 'framesSent');
|
|
19304
|
+
var previousFramesSent = getSumFromStatsByType(previous, 'outbound-rtp', 'framesSent');
|
|
19305
|
+
if (currentFramesSent === previousFramesSent) {
|
|
19306
|
+
getLogger().info("StatsMonitor#checkOutboundShare --> No share frames sent, last frames sent count: ".concat(currentFramesSent, "."));
|
|
19307
|
+
}
|
|
19308
|
+
}
|
|
19309
|
+
}
|
|
19310
|
+
|
|
19231
19311
|
var Media = {
|
|
19232
19312
|
createAudioTrack: createAudioTrack,
|
|
19233
19313
|
createVideoTrack: createVideoTrack,
|
|
@@ -19245,4 +19325,4 @@ var Media = {
|
|
|
19245
19325
|
}
|
|
19246
19326
|
};
|
|
19247
19327
|
|
|
19248
|
-
export { ActiveSpeakerInfo, CodecInfo$1 as CodecInfo, ConnectionState, ErrorType, Errors, H264Codec, LocalCameraStream, LocalDisplayStream, LocalMicrophoneStream, LocalStream, LocalStreamEventNames, LocalSystemAudioStream, Media, MediaConnectionEventNames, MediaContent, MediaFamily, MediaStreamTrackKind, MediaType, MultistreamRoapMediaConnection, NetworkQualityEventNames, NetworkQualityMonitor, PeerConnection, Policy, ReceiveSlot, ReceiveSlotEvents, ReceiverSelectedInfo, RecommendedOpusBitrates, RemoteStream, RemoteStreamEventNames, RemoteTrackType, RoapMediaConnection, SendSlot, StatsAnalyzer, StatsAnalyzerEventNames, StreamEventNames, StreamRequest, WcmeError, WcmeErrorType, configureWcmeLogger, createCameraAndMicrophoneStreams, createCameraStream, createDisplayMedia, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getErrorDescription, getLogger, getMediaFamily, getRecommendedMaxBitrateForFrameSize, getVideoInputDevices, setLogger, setOnDeviceChangeHandler };
|
|
19328
|
+
export { ActiveSpeakerInfo, CodecInfo$1 as CodecInfo, ConnectionState, ErrorType, Errors, H264Codec, InboundAudioIssueSubTypes, LocalCameraStream, LocalDisplayStream, LocalMicrophoneStream, LocalStream, LocalStreamEventNames, LocalSystemAudioStream, Media, MediaConnectionEventNames, MediaContent, MediaFamily, MediaStreamTrackKind, MediaType, MultistreamRoapMediaConnection, NetworkQualityEventNames, NetworkQualityMonitor, PeerConnection, Policy, ReceiveSlot, ReceiveSlotEvents, ReceiverSelectedInfo, RecommendedOpusBitrates, RemoteStream, RemoteStreamEventNames, RemoteTrackType, RoapMediaConnection, SendSlot, StatsAnalyzer, StatsAnalyzerEventNames, StatsMonitor, StatsMonitorEventNames, StreamEventNames, StreamRequest, WcmeError, WcmeErrorType, configureWcmeLogger, createCameraAndMicrophoneStreams, createCameraStream, createDisplayMedia, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getErrorDescription, getLogger, getMediaFamily, getRecommendedMaxBitrateForFrameSize, getVideoInputDevices, setLogger, setOnDeviceChangeHandler };
|
|
@@ -80,8 +80,7 @@ export interface Typegen0 {
|
|
|
80
80
|
};
|
|
81
81
|
eventsCausingGuards: {
|
|
82
82
|
isHandlingOfferRequest: 'REMOTE_OFFER_REQUEST_ARRIVED' | 'done.invoke.roap.creatingLocalOffer:invocation[0]';
|
|
83
|
-
isOkInTransaction: 'done.invoke.roap.settingRemoteAnswer:invocation[0]';
|
|
84
|
-
isOkNotInTransaction: 'REMOTE_OFFER_ARRIVED' | 'REMOTE_OFFER_REQUEST_ARRIVED';
|
|
83
|
+
isOkInTransaction: 'REMOTE_OFFER_ARRIVED' | 'REMOTE_OFFER_REQUEST_ARRIVED' | 'done.invoke.roap.settingRemoteAnswer:invocation[0]';
|
|
85
84
|
isPendingLocalOffer: '' | 'done.invoke.roap.creatingLocalOffer:invocation[0]';
|
|
86
85
|
isSameSeq: 'ERROR_ARRIVED' | 'REMOTE_ANSWER_ARRIVED' | 'REMOTE_OFFER_ARRIVED' | 'REMOTE_OFFER_REQUEST_ARRIVED';
|
|
87
86
|
shouldErrorTriggerOfferRetry: 'ERROR_ARRIVED';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roap.typegen.d.ts","sourceRoot":"","sources":["../../../src/MediaConnection/roap.typegen.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,kBAAkB,EAAE,IAAI,CAAC;IACzB,cAAc,EAAE;QACd,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"roap.typegen.d.ts","sourceRoot":"","sources":["../../../src/MediaConnection/roap.typegen.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,kBAAkB,EAAE,IAAI,CAAC;IACzB,cAAc,EAAE;QACd,EAAE,EAAE;YAAE,IAAI,EAAE,EAAE,CAAA;SAAE,CAAC;QACjB,mDAAmD,EAAE;YACnD,IAAI,EAAE,mDAAmD,CAAC;YAC1D,IAAI,EAAE,OAAO,CAAC;YACd,KAAK,EAAE,4DAA4D,CAAC;SACrE,CAAC;QACF,oDAAoD,EAAE;YACpD,IAAI,EAAE,oDAAoD,CAAC;YAC3D,IAAI,EAAE,OAAO,CAAC;YACd,KAAK,EAAE,4DAA4D,CAAC;SACrE,CAAC;QACF,mDAAmD,EAAE;YACnD,IAAI,EAAE,mDAAmD,CAAC;YAC1D,IAAI,EAAE,OAAO,CAAC;YACd,KAAK,EAAE,4DAA4D,CAAC;SACrE,CAAC;QACF,sDAAsD,EAAE;YACtD,IAAI,EAAE,sDAAsD,CAAC;YAC7D,IAAI,EAAE,OAAO,CAAC;SACf,CAAC;QACF,uDAAuD,EAAE;YACvD,IAAI,EAAE,uDAAuD,CAAC;YAC9D,IAAI,EAAE,OAAO,CAAC;SACf,CAAC;QACF,sDAAsD,EAAE;YACtD,IAAI,EAAE,sDAAsD,CAAC;YAC7D,IAAI,EAAE,OAAO,CAAC;SACf,CAAC;QACF,aAAa,EAAE;YAAE,IAAI,EAAE,aAAa,CAAA;SAAE,CAAC;KACxC,CAAC;IACF,gBAAgB,EAAE;QAChB,gBAAgB,EAAE,mDAAmD,CAAC;QACtE,kBAAkB,EAAE,oDAAoD,CAAC;QACzE,iBAAiB,EAAE,mDAAmD,CAAC;KACxE,CAAC;IACF,sBAAsB,EAAE;QACtB,OAAO,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;KACf,CAAC;IACF,oBAAoB,EAAE;QACpB,uBAAuB,EAAE,gBAAgB,CAAC;QAC1C,WAAW,EAAE,sBAAsB,GAAG,8BAA8B,CAAC;QACrE,eAAe,EACX,uBAAuB,GACvB,sBAAsB,GACtB,8BAA8B,CAAC;QACnC,oBAAoB,EAAE,eAAe,CAAC;QACtC,WAAW,EAAE,EAAE,GAAG,eAAe,GAAG,gBAAgB,CAAC;QACrD,kCAAkC,EAAE,sDAAsD,CAAC;QAC3F,qBAAqB,EAAE,oDAAoD,CAAC;QAC5E,oBAAoB,EAAE,mDAAmD,CAAC;QAC1E,sBAAsB,EAClB,EAAE,GACF,eAAe,GACf,gBAAgB,GAChB,8BAA8B,GAC9B,mDAAmD,CAAC;QACxD,iBAAiB,EAAE,uBAAuB,CAAC;QAC3C,mCAAmC,EAAE,mDAAmD,CAAC;QACzF,aAAa,EAAE,mBAAmB,GAAG,oDAAoD,CAAC;QAC1F,gBAAgB,EACZ,uDAAuD,GACvD,sDAAsD,CAAC;QAC3D,qBAAqB,EACjB,uBAAuB,GACvB,sBAAsB,GACtB,8BAA8B,GAC9B,mBAAmB,CAAC;QACxB,mBAAmB,EAAE,sBAAsB,GAAG,8BAA8B,CAAC;QAC7E,mBAAmB,EAAE,sBAAsB,CAAC;QAC5C,mBAAmB,EAAE,sBAAsB,GAAG,8BAA8B,CAAC;QAC7E,qBAAqB,EAAE,mDAAmD,CAAC;QAC3E,iBAAiB,EACb,uBAAuB,GACvB,oDAAoD,CAAC;QACzD,oBAAoB,EAAE,mDAAmD,CAAC;QAC1E,4BAA4B,EAAE,mDAAmD,CAAC;QAClF,gBAAgB,EACZ,EAAE,GACF,gBAAgB,GAChB,sBAAsB,GACtB,8BAA8B,CAAC;QACnC,mBAAmB,EAAE,8BAA8B,CAAC;QACpD,uBAAuB,EAAE,uBAAuB,CAAC;QACjD,SAAS,EACL,uBAAuB,GACvB,sBAAsB,GACtB,8BAA8B,GAC9B,mBAAmB,CAAC;KACzB,CAAC;IACF,qBAAqB,EAAE;QACrB,gBAAgB,EACZ,EAAE,GACF,eAAe,GACf,gBAAgB,GAChB,8BAA8B,GAC9B,mDAAmD,CAAC;QACxD,kBAAkB,EAAE,uBAAuB,CAAC;QAC5C,iBAAiB,EAAE,sBAAsB,CAAC;KAC3C,CAAC;IACF,mBAAmB,EAAE;QACnB,sBAAsB,EAClB,8BAA8B,GAC9B,mDAAmD,CAAC;QACxD,iBAAiB,EACb,sBAAsB,GACtB,8BAA8B,GAC9B,oDAAoD,CAAC;QACzD,mBAAmB,EAAE,EAAE,GAAG,mDAAmD,CAAC;QAC9E,SAAS,EACL,eAAe,GACf,uBAAuB,GACvB,sBAAsB,GACtB,8BAA8B,CAAC;QACnC,4BAA4B,EAAE,eAAe,CAAC;KAC/C,CAAC;IACF,mBAAmB,EAAE,EAAE,CAAC;IACxB,aAAa,EACT,cAAc,GACd,oBAAoB,GACpB,MAAM,GACN,aAAa,GACb,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,cAAc,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC;CACb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MqeBuilder.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/MqeBuilder.ts"],"names":[],"mappings":"AAIA,OAAO,EAUL,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAe,QAAQ,EAAE,MAAM,SAAS,CAAC;AAmBhD,8BAAsB,UAAU;IAE9B,oBAAoB,EAAE,QAAQ,CAAa;IAG3C,qBAAqB,EAAE,QAAQ,CAAa;IAE5C,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAEtC,SAAS,CAAC,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAE3D,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;gBAO3B,MAAM,EAAE;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACjD,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;KAC9B;IAYD,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ5C,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA2RpD,KAAK,IAAI,IAAI;IAQb,oBAAoB,IAAI,IAAI;IAiD5B,SAAS,CAAC,6BAA6B,IAAI,wBAAwB;IAyBnE,SAAS,CAAC,8BAA8B,IAAI,yBAAyB;IAgHrE,SAAS,CAAC,kCAAkC,CAAC,EAAE,EAAE,MAAM,GAAG,6BAA6B;IAiBvF,SAAS,CAAC,kCAAkC,CAAC,EAAE,EAAE,MAAM,GAAG,6BAA6B;IAkFvF,SAAS,CAAC,mCAAmC,CAAC,EAAE,EAAE,MAAM,GAAG,8BAA8B;IAqKzF,SAAS,CAAC,+BAA+B,IAAI,0BAA0B;IA8GvE,SAAS,CAAC,mCAAmC,CAAC,EAAE,EAAE,MAAM,GAAG,8BAA8B;IA6BzF,SAAS,CAAC,mCAAmC,CAAC,EAAE,EAAE,MAAM,GAAG,8BAA8B;
|
|
1
|
+
{"version":3,"file":"MqeBuilder.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/MqeBuilder.ts"],"names":[],"mappings":"AAIA,OAAO,EAUL,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAe,QAAQ,EAAE,MAAM,SAAS,CAAC;AAmBhD,8BAAsB,UAAU;IAE9B,oBAAoB,EAAE,QAAQ,CAAa;IAG3C,qBAAqB,EAAE,QAAQ,CAAa;IAE5C,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC;IAEtC,SAAS,CAAC,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAE3D,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;gBAO3B,MAAM,EAAE;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACjD,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;KAC9B;IAYD,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ5C,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA2RpD,KAAK,IAAI,IAAI;IAQb,oBAAoB,IAAI,IAAI;IAiD5B,SAAS,CAAC,6BAA6B,IAAI,wBAAwB;IAyBnE,SAAS,CAAC,8BAA8B,IAAI,yBAAyB;IAgHrE,SAAS,CAAC,kCAAkC,CAAC,EAAE,EAAE,MAAM,GAAG,6BAA6B;IAiBvF,SAAS,CAAC,kCAAkC,CAAC,EAAE,EAAE,MAAM,GAAG,6BAA6B;IAkFvF,SAAS,CAAC,mCAAmC,CAAC,EAAE,EAAE,MAAM,GAAG,8BAA8B;IAqKzF,SAAS,CAAC,+BAA+B,IAAI,0BAA0B;IA8GvE,SAAS,CAAC,mCAAmC,CAAC,EAAE,EAAE,MAAM,GAAG,8BAA8B;IA6BzF,SAAS,CAAC,mCAAmC,CAAC,EAAE,EAAE,MAAM,GAAG,8BAA8B;IA6FzF,SAAS,CAAC,oCAAoC,CAAC,EAAE,EAAE,MAAM,GAAG,+BAA+B;CAyF5F"}
|
|
@@ -3,6 +3,7 @@ import { MultistreamRoapMediaConnection, RoapMediaConnection } from '../MediaCon
|
|
|
3
3
|
import { NetworkQualityMonitor } from './NetworkQualityMonitor';
|
|
4
4
|
import { StatsAnalyzerEvents } from './eventTypes';
|
|
5
5
|
import { ActualExpectedMediaStatus, StatsAnalyzerConfig } from './types';
|
|
6
|
+
import { StatsMonitor } from './StatsMonitor';
|
|
6
7
|
export declare class StatsAnalyzer extends EventEmitter<StatsAnalyzerEvents> {
|
|
7
8
|
private config;
|
|
8
9
|
private lastEmittedStartStopEvents;
|
|
@@ -12,6 +13,7 @@ export declare class StatsAnalyzer extends EventEmitter<StatsAnalyzerEvents> {
|
|
|
12
13
|
private mqeInterval?;
|
|
13
14
|
private mqeSentCount;
|
|
14
15
|
private networkQualityMonitor;
|
|
16
|
+
private statsMonitor;
|
|
15
17
|
private mediaConnection;
|
|
16
18
|
private statsStarted;
|
|
17
19
|
private mqeIntervalSessionReceiveAudioMainBuilder;
|
|
@@ -23,9 +25,10 @@ export declare class StatsAnalyzer extends EventEmitter<StatsAnalyzerEvents> {
|
|
|
23
25
|
private mqeIntervalSessionTransmitVideoMainBuilder;
|
|
24
26
|
private mqeIntervalSessionTransmitVideoSlidesBuilder;
|
|
25
27
|
private intervalMetadata;
|
|
26
|
-
constructor({ config, networkQualityMonitor, isMultistream, }: {
|
|
28
|
+
constructor({ config, networkQualityMonitor, statsMonitor, isMultistream, }: {
|
|
27
29
|
config: StatsAnalyzerConfig;
|
|
28
30
|
networkQualityMonitor: NetworkQualityMonitor;
|
|
31
|
+
statsMonitor: StatsMonitor;
|
|
29
32
|
isMultistream?: boolean;
|
|
30
33
|
});
|
|
31
34
|
private get builders();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsAnalyzer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAQzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAGL,mBAAmB,EAEpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"StatsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsAnalyzer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAQzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAGL,mBAAmB,EAEpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAC;AAczF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C,qBAAa,aAAc,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IAClE,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,CAAC,0BAA0B,CAAkC;IAEpE,OAAO,CAAC,wBAAwB,CAAC,CAAmB;IAEpD,OAAO,CAAC,kBAAkB,CAAC,CAA4B;IAEvD,OAAO,CAAC,aAAa,CAAC,CAAgC;IAEtD,OAAO,CAAC,WAAW,CAAC,CAAgC;IAEpD,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,qBAAqB,CAAwB;IAErD,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,CAAC,eAAe,CAAqE;IAE5F,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,yCAAyC,CAAwC;IAEzF,OAAO,CAAC,2CAA2C,CAAwC;IAE3F,OAAO,CAAC,0CAA0C,CAAyC;IAE3F,OAAO,CAAC,4CAA4C,CAAyC;IAE7F,OAAO,CAAC,yCAAyC,CAAwC;IAEzF,OAAO,CAAC,2CAA2C,CAAwC;IAE3F,OAAO,CAAC,0CAA0C,CAAyC;IAE3F,OAAO,CAAC,4CAA4C,CAAyC;IAG7F,OAAO,CAAC,gBAAgB,CAItB;gBAUU,EACV,MAAM,EACN,qBAAqB,EACrB,YAAY,EACZ,aAAqB,GACtB,EAAE;QACD,MAAM,EAAE,mBAAmB,CAAC;QAC5B,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,YAAY,EAAE,YAAY,CAAC;QAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;IA8CD,OAAO,KAAK,QAAQ,GAWnB;IAeM,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAqEvC,cAAc,IAAI,MAAM,GAAG,SAAS;IA0B3C,IAAI,+BAA+B,IAAI,MAAM,GAAG,SAAS,CAQxD;IAQD,OAAO,KAAK,eAAe,GAY1B;IASD,OAAO,KAAK,aAAa,GAmBxB;IAOM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAsBnE,OAAO,CAAC,WAAW;IAuFN,aAAa,CACxB,eAAe,EAAE,8BAA8B,GAAG,mBAAmB;IA6B1D,YAAY;IAkCzB,OAAO,CAAC,mBAAmB,CAkDzB;YAKY,iBAAiB;IAiE/B,OAAO,CAAC,YAAY;CA6LrB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StatsMap } from './types';
|
|
2
|
+
import { StatsMonitorEvents } from './eventTypes';
|
|
3
|
+
import { EventEmitter } from '../EventEmitter';
|
|
4
|
+
export declare class StatsMonitor extends EventEmitter<StatsMonitorEvents> {
|
|
5
|
+
private hasAudioDecodeIssue;
|
|
6
|
+
checkInboundAudio(previous: StatsMap, current: StatsMap): void;
|
|
7
|
+
checkOutboundAudio(previous: StatsMap, current: StatsMap): void;
|
|
8
|
+
checkInboundVideo(previous: StatsMap, current: StatsMap): void;
|
|
9
|
+
checkOutboundVideo(previous: StatsMap, current: StatsMap): void;
|
|
10
|
+
checkInboundShare(previous: StatsMap, current: StatsMap): void;
|
|
11
|
+
checkOutboundShare(previous: StatsMap, current: StatsMap): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=StatsMonitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatsMonitor.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsMonitor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAGL,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAe/C,qBAAa,YAAa,SAAQ,YAAY,CAAC,kBAAkB,CAAC;IAChE,OAAO,CAAC,mBAAmB;IAuB3B,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IA0DvD,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAwDxD,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAoEvD,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAqCxD,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IAoEvD,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;CA+BzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatsMonitor.test.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsMonitor.test.ts"],"names":[],"mappings":""}
|
|
@@ -40,5 +40,18 @@ interface NetworkQualityEvent {
|
|
|
40
40
|
export interface NetworkQualityMonitorEvents extends EventMap {
|
|
41
41
|
[NetworkQualityEventNames.NETWORK_QUALITY]: (event: NetworkQualityEvent) => void;
|
|
42
42
|
}
|
|
43
|
+
export declare enum StatsMonitorEventNames {
|
|
44
|
+
INBOUND_AUDIO_ISSUE = "INBOUND_AUDIO_ISSUE"
|
|
45
|
+
}
|
|
46
|
+
export declare enum InboundAudioIssueSubTypes {
|
|
47
|
+
DECODE_RESULTS_IN_ZERO_AUDIO_LEVEL = "DECODE_RESULTS_IN_ZERO_AUDIO_LEVEL",
|
|
48
|
+
ALL_PACKETS_DISCARDED = "ALL_PACKETS_DISCARDED"
|
|
49
|
+
}
|
|
50
|
+
export interface InboundAudioIssueEvent {
|
|
51
|
+
issueSubType: InboundAudioIssueSubTypes;
|
|
52
|
+
}
|
|
53
|
+
export interface StatsMonitorEvents extends EventMap {
|
|
54
|
+
[StatsMonitorEventNames.INBOUND_AUDIO_ISSUE]: (event: InboundAudioIssueEvent) => void;
|
|
55
|
+
}
|
|
43
56
|
export {};
|
|
44
57
|
//# sourceMappingURL=eventTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventTypes.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/eventTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;
|
|
1
|
+
{"version":3,"file":"eventTypes.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/eventTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AACD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5E,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpF,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpF,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrF,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACtF;AAED,oBAAY,8BAA8B,GAAG;IAC3C,KAAK,EAAE,uBAAuB,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,mBAAmB,CAAC;IACjG,MAAM,EACF,uBAAuB,CAAC,oBAAoB,GAC5C,uBAAuB,CAAC,oBAAoB,CAAC;CAClD,CAAC;AAEF,oBAAY,0BAA0B,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC/C,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH,oBAAY,wBAAwB;IAClC,eAAe,oBAAoB;CACpC;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA4B,SAAQ,QAAQ;IAC3D,CAAC,wBAAwB,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAClF;AAED,oBAAY,sBAAsB;IAChC,mBAAmB,wBAAwB;CAC5C;AAED,oBAAY,yBAAyB;IACnC,kCAAkC,uCAAuC;IACzE,qBAAqB,0BAA0B;CAChD;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,yBAAyB,CAAC;CACzC;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACvF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqeTypes.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/mqeTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,oBAAY,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,oBAAY,8BAA8B,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,oBAAY,+BAA+B,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9E,oBAAY,8BAA8B,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,oBAAY,+BAA+B,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9E,oBAAY,yBAAyB,GAAG,CACpC,8BAA8B,GAC9B,8BAA8B,CACjC,CAAC,QAAQ,CAAC,CAAC;AAEZ,oBAAY,0BAA0B,GAAG,CACrC,+BAA+B,GAC/B,+BAA+B,CAClC,CAAC,QAAQ,CAAC,CAAC;AAEZ,oBAAY,wBAAwB,GAAG,CACnC,yBAAyB,GACzB,0BAA0B,CAC7B,CAAC,QAAQ,CAAC,CAAC;AAEZ,oBAAY,6BAA6B,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzF,oBAAY,6BAA6B,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzF,oBAAY,8BAA8B,GAAG,CACzC,6BAA6B,GAC7B,6BAA6B,CAChC,CAAC,QAAQ,CAAC,CAAC;AAEZ,oBAAY,8BAA8B,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3F,oBAAY,8BAA8B,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3F,oBAAY,+BAA+B,GAAG,CAC1C,8BAA8B,GAC9B,8BAA8B,CACjC,CAAC,QAAQ,CAAC,CAAC;AAMZ,eAAO,MAAM,kBAAkB,EAAE,WAOhC,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,wBAM7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,yBAkB9C,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,8BAWnD,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,6BAElD,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,0BAgB/C,CAAC;AAEF,eAAO,MAAM,sCAAsC,EAAE,+BAMpD,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,8BAEnD,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,6BAUlD,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,
|
|
1
|
+
{"version":3,"file":"mqeTypes.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/mqeTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,oBAAY,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,oBAAY,8BAA8B,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,oBAAY,+BAA+B,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9E,oBAAY,8BAA8B,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,oBAAY,+BAA+B,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9E,oBAAY,yBAAyB,GAAG,CACpC,8BAA8B,GAC9B,8BAA8B,CACjC,CAAC,QAAQ,CAAC,CAAC;AAEZ,oBAAY,0BAA0B,GAAG,CACrC,+BAA+B,GAC/B,+BAA+B,CAClC,CAAC,QAAQ,CAAC,CAAC;AAEZ,oBAAY,wBAAwB,GAAG,CACnC,yBAAyB,GACzB,0BAA0B,CAC7B,CAAC,QAAQ,CAAC,CAAC;AAEZ,oBAAY,6BAA6B,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzF,oBAAY,6BAA6B,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzF,oBAAY,8BAA8B,GAAG,CACzC,6BAA6B,GAC7B,6BAA6B,CAChC,CAAC,QAAQ,CAAC,CAAC;AAEZ,oBAAY,8BAA8B,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3F,oBAAY,8BAA8B,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3F,oBAAY,+BAA+B,GAAG,CAC1C,8BAA8B,GAC9B,8BAA8B,CACjC,CAAC,QAAQ,CAAC,CAAC;AAMZ,eAAO,MAAM,kBAAkB,EAAE,WAOhC,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,wBAM7C,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,yBAkB9C,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,8BAWnD,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,6BAElD,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,0BAgB/C,CAAC;AAEF,eAAO,MAAM,sCAAsC,EAAE,+BAMpD,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,8BAEnD,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,6BAUlD,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,8BAYnD,CAAC"}
|