@webex/internal-media-core 2.10.0 → 2.10.2

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 CHANGED
@@ -17101,6 +17101,16 @@ var emptyReceiver = {
17101
17101
  meanRoundTripTime: []
17102
17102
  };
17103
17103
  var VIDEO_FRAME_RATE_MULTIPLIER = 100;
17104
+ var NOISE_REDUCTION_MODE = {
17105
+ NONE: 'AUDIO_BACKGROUND_NOISE_REDUCTION_NONE',
17106
+ LOW_POWER: 'AUDIO_BACKGROUND_NOISE_REDUCTION_LOW_POWER'
17107
+ };
17108
+ var VIRTUAL_BACKGROUND_MODE = {
17109
+ NONE: 'VIDEO_BACKGROUND_AUGMENT_NONE',
17110
+ BLUR: 'VIDEO_BACKGROUND_AUGMENT_BLUR',
17111
+ REPLACE_IMAGE: 'VIDEO_BACKGROUND_AUGMENT_REPLACE_IMAGE',
17112
+ REPLACE_VIDEO: 'VIDEO_BACKGROUND_AUGMENT_REPLACE_VIDEO'
17113
+ };
17104
17114
 
17105
17115
  var max = array => {
17106
17116
  if (array.length === 0) {
@@ -17232,7 +17242,7 @@ var getAudioSenderMqa = _ref3 => {
17232
17242
  audioSender.common.rtpBitrate = totalBytesSentInaMin ? totalBytesSentInaMin * 8 / 60 : 0;
17233
17243
  };
17234
17244
  var getAudioSenderStreamMqa = _ref4 => {
17235
- var _lastMqaDataSent$medi9, _lastMqaDataSent$medi10, _lastMqaDataSent$medi11, _lastMqaDataSent$medi12;
17245
+ var _lastMqaDataSent$medi9, _lastMqaDataSent$medi10, _lastMqaDataSent$medi11, _lastMqaDataSent$medi12, _statsResults$mediaTy3;
17236
17246
  var {
17237
17247
  audioSenderStream,
17238
17248
  statsResults,
@@ -17256,6 +17266,12 @@ var getAudioSenderStreamMqa = _ref4 => {
17256
17266
  audioSenderStream.transmittedKeyFrames = statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastFramesEncoded || 0;
17257
17267
  audioSenderStream.requestedKeyFrames = statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;
17258
17268
  audioSenderStream.requestedBitrate = statsResults[mediaType][sendrecvType].requestedBitrate || 0;
17269
+ var lastUsedEffect = (_statsResults$mediaTy3 = statsResults[mediaType][sendrecvType]) === null || _statsResults$mediaTy3 === void 0 ? void 0 : _statsResults$mediaTy3.effect;
17270
+ var mode = NOISE_REDUCTION_MODE.NONE;
17271
+ if ((lastUsedEffect === null || lastUsedEffect === void 0 ? void 0 : lastUsedEffect.noiseReductionMode) in NOISE_REDUCTION_MODE) {
17272
+ mode = NOISE_REDUCTION_MODE[lastUsedEffect.noiseReductionMode];
17273
+ }
17274
+ audioSenderStream.backgroundNoiseReductionMode = mode;
17259
17275
  };
17260
17276
  var getVideoReceiverMqa = _ref5 => {
17261
17277
  var {
@@ -17280,8 +17296,8 @@ var getVideoReceiverMqa = _ref5 => {
17280
17296
  var totalRtxBytesReceived = getTotalValue('totalRtxBytesReceived');
17281
17297
  var mediaTypeKey = Object.keys(statsResults).find(mediaType => mediaType.includes(baseMediaType));
17282
17298
  if (mediaTypeKey) {
17283
- var _statsResults$mediaTy3;
17284
- videoReceiver.common.common.direction = ((_statsResults$mediaTy3 = statsResults[mediaTypeKey]) === null || _statsResults$mediaTy3 === void 0 ? void 0 : _statsResults$mediaTy3.direction) || 'inactive';
17299
+ var _statsResults$mediaTy4;
17300
+ videoReceiver.common.common.direction = ((_statsResults$mediaTy4 = statsResults[mediaTypeKey]) === null || _statsResults$mediaTy4 === void 0 ? void 0 : _statsResults$mediaTy4.direction) || 'inactive';
17285
17301
  } else {
17286
17302
  videoReceiver.common.common.direction = 'inactive';
17287
17303
  }
@@ -17299,7 +17315,7 @@ var getVideoReceiverMqa = _ref5 => {
17299
17315
  videoReceiver.common.rtxBitrate = totalRtxBytesReceivedInaMin ? totalRtxBytesReceivedInaMin * 8 / 60 : 0;
17300
17316
  };
17301
17317
  var getVideoReceiverStreamMqa = _ref6 => {
17302
- var _lastMqaDataSent$medi13, _lastMqaDataSent$medi14, _lastMqaDataSent$medi15, _lastMqaDataSent$medi16, _lastMqaDataSent$medi17, _lastMqaDataSent$medi18, _lastMqaDataSent$medi19, _lastMqaDataSent$medi20, _statsResults$mediaTy4, _statsResults$mediaTy5;
17318
+ var _lastMqaDataSent$medi13, _lastMqaDataSent$medi14, _lastMqaDataSent$medi15, _lastMqaDataSent$medi16, _lastMqaDataSent$medi17, _lastMqaDataSent$medi18, _lastMqaDataSent$medi19, _lastMqaDataSent$medi20, _statsResults$mediaTy5, _statsResults$mediaTy6;
17303
17319
  var {
17304
17320
  videoReceiverStream,
17305
17321
  statsResults,
@@ -17338,7 +17354,7 @@ var getVideoReceiverStreamMqa = _ref6 => {
17338
17354
  videoReceiverStream.receivedFrameSize = videoReceiverStream.receivedHeight * videoReceiverStream.receivedWidth / 256;
17339
17355
  videoReceiverStream.receivedKeyFrames = statsResults[mediaType][sendrecvType].keyFramesDecoded - lastKeyFramesDecoded || 0;
17340
17356
  videoReceiverStream.requestedKeyFrames = statsResults[mediaType][sendrecvType].totalPliCount - lastPliCount || 0;
17341
- videoReceiverStream.isActiveSpeaker = statsResults[mediaType][sendrecvType].isActiveSpeaker || ((_statsResults$mediaTy4 = statsResults[mediaType][sendrecvType].lastActiveSpeakerTimestamp) !== null && _statsResults$mediaTy4 !== void 0 ? _statsResults$mediaTy4 : 0) > 0 && performance.now() + performance.timeOrigin - ((_statsResults$mediaTy5 = statsResults[mediaType][sendrecvType].lastActiveSpeakerTimestamp) !== null && _statsResults$mediaTy5 !== void 0 ? _statsResults$mediaTy5 : 0) < MQA_INTERVAL;
17357
+ videoReceiverStream.isActiveSpeaker = statsResults[mediaType][sendrecvType].isActiveSpeaker || ((_statsResults$mediaTy5 = statsResults[mediaType][sendrecvType].lastActiveSpeakerTimestamp) !== null && _statsResults$mediaTy5 !== void 0 ? _statsResults$mediaTy5 : 0) > 0 && performance.now() + performance.timeOrigin - ((_statsResults$mediaTy6 = statsResults[mediaType][sendrecvType].lastActiveSpeakerTimestamp) !== null && _statsResults$mediaTy6 !== void 0 ? _statsResults$mediaTy6 : 0) < MQA_INTERVAL;
17342
17358
  };
17343
17359
  var getVideoSenderMqa = _ref7 => {
17344
17360
  var {
@@ -17363,8 +17379,8 @@ var getVideoSenderMqa = _ref7 => {
17363
17379
  var totalRtxBytesSent = getTotalValue('totalRtxBytesSent');
17364
17380
  var mediaTypeKey = Object.keys(statsResults).find(mediaType => mediaType.includes(baseMediaType));
17365
17381
  if (mediaTypeKey) {
17366
- var _statsResults$mediaTy6;
17367
- videoSender.common.common.direction = ((_statsResults$mediaTy6 = statsResults[mediaTypeKey]) === null || _statsResults$mediaTy6 === void 0 ? void 0 : _statsResults$mediaTy6.direction) || 'inactive';
17382
+ var _statsResults$mediaTy7;
17383
+ videoSender.common.common.direction = ((_statsResults$mediaTy7 = statsResults[mediaTypeKey]) === null || _statsResults$mediaTy7 === void 0 ? void 0 : _statsResults$mediaTy7.direction) || 'inactive';
17368
17384
  } else {
17369
17385
  videoSender.common.common.direction = 'inactive';
17370
17386
  }
@@ -17389,7 +17405,7 @@ var getVideoSenderMqa = _ref7 => {
17389
17405
  videoSender.common.rtxBitrate = totalRtxBytesSentInaMin ? totalRtxBytesSentInaMin * 8 / 60 : 0;
17390
17406
  };
17391
17407
  var getVideoSenderStreamMqa = _ref8 => {
17392
- var _lastMqaDataSent$medi21, _lastMqaDataSent$medi22, _lastMqaDataSent$medi23, _lastMqaDataSent$medi24, _lastMqaDataSent$medi25;
17408
+ var _lastMqaDataSent$medi21, _lastMqaDataSent$medi22, _lastMqaDataSent$medi23, _lastMqaDataSent$medi24, _lastMqaDataSent$medi25, _statsResults$mediaTy8;
17393
17409
  var {
17394
17410
  videoSenderStream,
17395
17411
  statsResults,
@@ -17420,9 +17436,15 @@ var getVideoSenderStreamMqa = _ref8 => {
17420
17436
  videoSenderStream.transmittedFrameSize = videoSenderStream.transmittedHeight * videoSenderStream.transmittedWidth / 256;
17421
17437
  videoSenderStream.requestedBitrate = statsResults[mediaType][sendrecvType].requestedBitrate || 0;
17422
17438
  videoSenderStream.requestedFrameSize = statsResults[mediaType][sendrecvType].requestedFrameSize || 0;
17439
+ var lastUsedEffect = (_statsResults$mediaTy8 = statsResults[mediaType][sendrecvType]) === null || _statsResults$mediaTy8 === void 0 ? void 0 : _statsResults$mediaTy8.effect;
17440
+ var mode = VIRTUAL_BACKGROUND_MODE.NONE;
17441
+ if ((lastUsedEffect === null || lastUsedEffect === void 0 ? void 0 : lastUsedEffect.virtualBackgroundMode) in VIRTUAL_BACKGROUND_MODE) {
17442
+ mode = VIRTUAL_BACKGROUND_MODE[lastUsedEffect.virtualBackgroundMode];
17443
+ }
17444
+ videoSenderStream.backgroundAugmentationType = mode;
17423
17445
  };
17424
17446
  var isStreamRequested = _ref9 => {
17425
- var _statsResults$mediaTy7, _statsResults$mediaTy8;
17447
+ var _statsResults$mediaTy9, _statsResults$mediaTy10;
17426
17448
  var {
17427
17449
  isMultistream,
17428
17450
  statsResults,
@@ -17433,8 +17455,8 @@ var isStreamRequested = _ref9 => {
17433
17455
  return true;
17434
17456
  }
17435
17457
  var now = performance.timeOrigin + performance.now();
17436
- var lastUpdateTimestamp = (_statsResults$mediaTy7 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy7 === void 0 ? void 0 : _statsResults$mediaTy7.lastRequestedUpdateTimestamp;
17437
- var isRequested = (_statsResults$mediaTy8 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy8 === void 0 ? void 0 : _statsResults$mediaTy8.isRequested;
17458
+ var lastUpdateTimestamp = (_statsResults$mediaTy9 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy9 === void 0 ? void 0 : _statsResults$mediaTy9.lastRequestedUpdateTimestamp;
17459
+ var isRequested = (_statsResults$mediaTy10 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy10 === void 0 ? void 0 : _statsResults$mediaTy10.isRequested;
17438
17460
  return isRequested || lastUpdateTimestamp && now - lastUpdateTimestamp < MQA_INTERVAL;
17439
17461
  };
17440
17462
 
@@ -17446,6 +17468,10 @@ exports.StatsAnalyzerEventNames = void 0;
17446
17468
  StatsAnalyzerEventNames["REMOTE_MEDIA_STARTED"] = "REMOTE_MEDIA_STARTED";
17447
17469
  StatsAnalyzerEventNames["REMOTE_MEDIA_STOPPED"] = "REMOTE_MEDIA_STOPPED";
17448
17470
  })(exports.StatsAnalyzerEventNames || (exports.StatsAnalyzerEventNames = {}));
17471
+ exports.NetworkQualityEventNames = void 0;
17472
+ (function (NetworkQualityEventNames) {
17473
+ NetworkQualityEventNames["NETWORK_QUALITY"] = "NETWORK_QUALITY";
17474
+ })(exports.NetworkQualityEventNames || (exports.NetworkQualityEventNames = {}));
17449
17475
 
17450
17476
  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; }
17451
17477
  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__default["default"](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; }
@@ -17453,7 +17479,7 @@ class StatsAnalyzer extends EventEmitter$5 {
17453
17479
  constructor(_ref) {
17454
17480
  var {
17455
17481
  config,
17456
- networkQualityMonitor = {},
17482
+ networkQualityMonitor,
17457
17483
  statsResults = STATS_DEFAULT,
17458
17484
  isMultistream = false
17459
17485
  } = _ref;
@@ -17585,6 +17611,7 @@ class StatsAnalyzer extends EventEmitter$5 {
17585
17611
  if (mediaType.includes('send')) {
17586
17612
  this.statsResults[mediaType].send.meanRemoteJitter = [];
17587
17613
  this.statsResults[mediaType].send.meanRoundTripTime = [];
17614
+ this.statsResults[mediaType].send.effect = undefined;
17588
17615
  }
17589
17616
  });
17590
17617
  }
@@ -18118,6 +18145,9 @@ class StatsAnalyzer extends EventEmitter$5 {
18118
18145
  this.statsResults[mediaType][sendrecvType].lastRequestedUpdateTimestamp = result.lastRequestedUpdateTimestamp;
18119
18146
  this.statsResults[mediaType][sendrecvType].requestedBitrate = result.requestedBitrate;
18120
18147
  this.statsResults[mediaType][sendrecvType].requestedFrameSize = result.requestedFrameSize;
18148
+ if (result.effect) {
18149
+ this.statsResults[mediaType][sendrecvType].effect = result.effect;
18150
+ }
18121
18151
  }
18122
18152
  }
18123
18153
  processInboundRTPResult(result, mediaType) {
@@ -18232,6 +18262,107 @@ class StatsAnalyzer extends EventEmitter$5 {
18232
18262
  }
18233
18263
  }
18234
18264
 
18265
+ class NetworkQualityMonitor extends EventEmitter$5 {
18266
+ constructor(config) {
18267
+ super();
18268
+ _defineProperty__default["default"](this, "config", void 0);
18269
+ _defineProperty__default["default"](this, "frequencyTypes", void 0);
18270
+ _defineProperty__default["default"](this, "indicatorTypes", void 0);
18271
+ _defineProperty__default["default"](this, "networkQualityScore", void 0);
18272
+ _defineProperty__default["default"](this, "networkQualityStatus", void 0);
18273
+ this.config = config;
18274
+ this.indicatorTypes = Object.freeze({
18275
+ PACKETLOSS: 'packetLoss',
18276
+ LATENCY: 'latency',
18277
+ JITTER: 'jitter'
18278
+ });
18279
+ this.frequencyTypes = Object.freeze({
18280
+ UPLINK: 'uplink',
18281
+ DOWNLINK: 'downlink'
18282
+ });
18283
+ this.networkQualityScore = 1;
18284
+ this.networkQualityStatus = {
18285
+ [this.frequencyTypes.UPLINK]: {}
18286
+ };
18287
+ }
18288
+ emitNetworkQuality(mediaType) {
18289
+ this.emit(exports.NetworkQualityEventNames.NETWORK_QUALITY, {
18290
+ mediaType,
18291
+ networkQualityScore: this.networkQualityScore
18292
+ });
18293
+ }
18294
+ updateNetworkQualityStatus(mediaType) {
18295
+ this.emitNetworkQuality(mediaType);
18296
+ this.networkQualityScore = 1;
18297
+ }
18298
+ determineUplinkNetworkQuality(_ref) {
18299
+ var {
18300
+ mediaType,
18301
+ remoteRtpResults,
18302
+ statsAnalyzerCurrentStats
18303
+ } = _ref;
18304
+ var roundTripTimeInMilliseconds = remoteRtpResults.roundTripTime * 1000;
18305
+ var jitterInMilliseconds = remoteRtpResults.jitter * 1000;
18306
+ var {
18307
+ currentPacketLossRatio
18308
+ } = statsAnalyzerCurrentStats[mediaType].send;
18309
+ var {
18310
+ JITTER,
18311
+ PACKETLOSS,
18312
+ LATENCY
18313
+ } = this.indicatorTypes;
18314
+ var {
18315
+ UPLINK
18316
+ } = this.frequencyTypes;
18317
+ var determinePacketLoss = () => {
18318
+ if (this.config.videoPacketLossRatioThreshold !== undefined && currentPacketLossRatio > this.config.videoPacketLossRatioThreshold) {
18319
+ this.networkQualityScore = 0;
18320
+ return false;
18321
+ }
18322
+ return true;
18323
+ };
18324
+ var determineLatency = () => {
18325
+ if (this.config.rttThreshold !== undefined && roundTripTimeInMilliseconds > this.config.rttThreshold) {
18326
+ this.networkQualityScore = 0;
18327
+ return false;
18328
+ }
18329
+ return true;
18330
+ };
18331
+ var determineJitter = () => {
18332
+ if (this.config.jitterThreshold !== undefined && jitterInMilliseconds > this.config.jitterThreshold) {
18333
+ this.networkQualityScore = 0;
18334
+ return false;
18335
+ }
18336
+ return true;
18337
+ };
18338
+ var getValueOrNull = value => typeof value === 'undefined' ? null : value;
18339
+ if (mediaType !== null) {
18340
+ if (!this.networkQualityStatus[UPLINK][mediaType]) {
18341
+ this.networkQualityStatus[UPLINK][mediaType] = {};
18342
+ }
18343
+ this.networkQualityStatus[UPLINK][mediaType][PACKETLOSS] = {
18344
+ acceptable: determinePacketLoss(),
18345
+ value: getValueOrNull(currentPacketLossRatio)
18346
+ };
18347
+ this.networkQualityStatus[UPLINK][mediaType][LATENCY] = {
18348
+ acceptable: determineLatency(),
18349
+ value: getValueOrNull(remoteRtpResults.roundTripTime)
18350
+ };
18351
+ this.networkQualityStatus[UPLINK][mediaType][JITTER] = {
18352
+ acceptable: determineJitter(),
18353
+ value: getValueOrNull(remoteRtpResults.jitter)
18354
+ };
18355
+ this.updateNetworkQualityStatus(mediaType);
18356
+ }
18357
+ }
18358
+ get networkQualityStats() {
18359
+ var {
18360
+ UPLINK
18361
+ } = this.frequencyTypes;
18362
+ return this.networkQualityStatus[UPLINK];
18363
+ }
18364
+ }
18365
+
18235
18366
  var Media = {
18236
18367
  createAudioTrack: createAudioTrack,
18237
18368
  createVideoTrack: createVideoTrack,
@@ -18260,6 +18391,7 @@ exports.LocalStream = LocalStream;
18260
18391
  exports.LocalSystemAudioStream = LocalSystemAudioStream;
18261
18392
  exports.Media = Media;
18262
18393
  exports.MultistreamRoapMediaConnection = MultistreamRoapMediaConnection;
18394
+ exports.NetworkQualityMonitor = NetworkQualityMonitor;
18263
18395
  exports.PeerConnection = PeerConnection;
18264
18396
  exports.ReceiveSlot = ReceiveSlot;
18265
18397
  exports.ReceiverSelectedInfo = ReceiverSelectedInfo;
package/dist/esm/index.js CHANGED
@@ -17090,6 +17090,16 @@ var emptyReceiver = {
17090
17090
  meanRoundTripTime: []
17091
17091
  };
17092
17092
  var VIDEO_FRAME_RATE_MULTIPLIER = 100;
17093
+ var NOISE_REDUCTION_MODE = {
17094
+ NONE: 'AUDIO_BACKGROUND_NOISE_REDUCTION_NONE',
17095
+ LOW_POWER: 'AUDIO_BACKGROUND_NOISE_REDUCTION_LOW_POWER'
17096
+ };
17097
+ var VIRTUAL_BACKGROUND_MODE = {
17098
+ NONE: 'VIDEO_BACKGROUND_AUGMENT_NONE',
17099
+ BLUR: 'VIDEO_BACKGROUND_AUGMENT_BLUR',
17100
+ REPLACE_IMAGE: 'VIDEO_BACKGROUND_AUGMENT_REPLACE_IMAGE',
17101
+ REPLACE_VIDEO: 'VIDEO_BACKGROUND_AUGMENT_REPLACE_VIDEO'
17102
+ };
17093
17103
 
17094
17104
  var max = array => {
17095
17105
  if (array.length === 0) {
@@ -17221,7 +17231,7 @@ var getAudioSenderMqa = _ref3 => {
17221
17231
  audioSender.common.rtpBitrate = totalBytesSentInaMin ? totalBytesSentInaMin * 8 / 60 : 0;
17222
17232
  };
17223
17233
  var getAudioSenderStreamMqa = _ref4 => {
17224
- var _lastMqaDataSent$medi9, _lastMqaDataSent$medi10, _lastMqaDataSent$medi11, _lastMqaDataSent$medi12;
17234
+ var _lastMqaDataSent$medi9, _lastMqaDataSent$medi10, _lastMqaDataSent$medi11, _lastMqaDataSent$medi12, _statsResults$mediaTy3;
17225
17235
  var {
17226
17236
  audioSenderStream,
17227
17237
  statsResults,
@@ -17245,6 +17255,12 @@ var getAudioSenderStreamMqa = _ref4 => {
17245
17255
  audioSenderStream.transmittedKeyFrames = statsResults[mediaType][sendrecvType].totalKeyFramesEncoded - lastFramesEncoded || 0;
17246
17256
  audioSenderStream.requestedKeyFrames = statsResults[mediaType][sendrecvType].totalFirCount - lastFirCount || 0;
17247
17257
  audioSenderStream.requestedBitrate = statsResults[mediaType][sendrecvType].requestedBitrate || 0;
17258
+ var lastUsedEffect = (_statsResults$mediaTy3 = statsResults[mediaType][sendrecvType]) === null || _statsResults$mediaTy3 === void 0 ? void 0 : _statsResults$mediaTy3.effect;
17259
+ var mode = NOISE_REDUCTION_MODE.NONE;
17260
+ if ((lastUsedEffect === null || lastUsedEffect === void 0 ? void 0 : lastUsedEffect.noiseReductionMode) in NOISE_REDUCTION_MODE) {
17261
+ mode = NOISE_REDUCTION_MODE[lastUsedEffect.noiseReductionMode];
17262
+ }
17263
+ audioSenderStream.backgroundNoiseReductionMode = mode;
17248
17264
  };
17249
17265
  var getVideoReceiverMqa = _ref5 => {
17250
17266
  var {
@@ -17269,8 +17285,8 @@ var getVideoReceiverMqa = _ref5 => {
17269
17285
  var totalRtxBytesReceived = getTotalValue('totalRtxBytesReceived');
17270
17286
  var mediaTypeKey = Object.keys(statsResults).find(mediaType => mediaType.includes(baseMediaType));
17271
17287
  if (mediaTypeKey) {
17272
- var _statsResults$mediaTy3;
17273
- videoReceiver.common.common.direction = ((_statsResults$mediaTy3 = statsResults[mediaTypeKey]) === null || _statsResults$mediaTy3 === void 0 ? void 0 : _statsResults$mediaTy3.direction) || 'inactive';
17288
+ var _statsResults$mediaTy4;
17289
+ videoReceiver.common.common.direction = ((_statsResults$mediaTy4 = statsResults[mediaTypeKey]) === null || _statsResults$mediaTy4 === void 0 ? void 0 : _statsResults$mediaTy4.direction) || 'inactive';
17274
17290
  } else {
17275
17291
  videoReceiver.common.common.direction = 'inactive';
17276
17292
  }
@@ -17288,7 +17304,7 @@ var getVideoReceiverMqa = _ref5 => {
17288
17304
  videoReceiver.common.rtxBitrate = totalRtxBytesReceivedInaMin ? totalRtxBytesReceivedInaMin * 8 / 60 : 0;
17289
17305
  };
17290
17306
  var getVideoReceiverStreamMqa = _ref6 => {
17291
- var _lastMqaDataSent$medi13, _lastMqaDataSent$medi14, _lastMqaDataSent$medi15, _lastMqaDataSent$medi16, _lastMqaDataSent$medi17, _lastMqaDataSent$medi18, _lastMqaDataSent$medi19, _lastMqaDataSent$medi20, _statsResults$mediaTy4, _statsResults$mediaTy5;
17307
+ var _lastMqaDataSent$medi13, _lastMqaDataSent$medi14, _lastMqaDataSent$medi15, _lastMqaDataSent$medi16, _lastMqaDataSent$medi17, _lastMqaDataSent$medi18, _lastMqaDataSent$medi19, _lastMqaDataSent$medi20, _statsResults$mediaTy5, _statsResults$mediaTy6;
17292
17308
  var {
17293
17309
  videoReceiverStream,
17294
17310
  statsResults,
@@ -17327,7 +17343,7 @@ var getVideoReceiverStreamMqa = _ref6 => {
17327
17343
  videoReceiverStream.receivedFrameSize = videoReceiverStream.receivedHeight * videoReceiverStream.receivedWidth / 256;
17328
17344
  videoReceiverStream.receivedKeyFrames = statsResults[mediaType][sendrecvType].keyFramesDecoded - lastKeyFramesDecoded || 0;
17329
17345
  videoReceiverStream.requestedKeyFrames = statsResults[mediaType][sendrecvType].totalPliCount - lastPliCount || 0;
17330
- videoReceiverStream.isActiveSpeaker = statsResults[mediaType][sendrecvType].isActiveSpeaker || ((_statsResults$mediaTy4 = statsResults[mediaType][sendrecvType].lastActiveSpeakerTimestamp) !== null && _statsResults$mediaTy4 !== void 0 ? _statsResults$mediaTy4 : 0) > 0 && performance.now() + performance.timeOrigin - ((_statsResults$mediaTy5 = statsResults[mediaType][sendrecvType].lastActiveSpeakerTimestamp) !== null && _statsResults$mediaTy5 !== void 0 ? _statsResults$mediaTy5 : 0) < MQA_INTERVAL;
17346
+ videoReceiverStream.isActiveSpeaker = statsResults[mediaType][sendrecvType].isActiveSpeaker || ((_statsResults$mediaTy5 = statsResults[mediaType][sendrecvType].lastActiveSpeakerTimestamp) !== null && _statsResults$mediaTy5 !== void 0 ? _statsResults$mediaTy5 : 0) > 0 && performance.now() + performance.timeOrigin - ((_statsResults$mediaTy6 = statsResults[mediaType][sendrecvType].lastActiveSpeakerTimestamp) !== null && _statsResults$mediaTy6 !== void 0 ? _statsResults$mediaTy6 : 0) < MQA_INTERVAL;
17331
17347
  };
17332
17348
  var getVideoSenderMqa = _ref7 => {
17333
17349
  var {
@@ -17352,8 +17368,8 @@ var getVideoSenderMqa = _ref7 => {
17352
17368
  var totalRtxBytesSent = getTotalValue('totalRtxBytesSent');
17353
17369
  var mediaTypeKey = Object.keys(statsResults).find(mediaType => mediaType.includes(baseMediaType));
17354
17370
  if (mediaTypeKey) {
17355
- var _statsResults$mediaTy6;
17356
- videoSender.common.common.direction = ((_statsResults$mediaTy6 = statsResults[mediaTypeKey]) === null || _statsResults$mediaTy6 === void 0 ? void 0 : _statsResults$mediaTy6.direction) || 'inactive';
17371
+ var _statsResults$mediaTy7;
17372
+ videoSender.common.common.direction = ((_statsResults$mediaTy7 = statsResults[mediaTypeKey]) === null || _statsResults$mediaTy7 === void 0 ? void 0 : _statsResults$mediaTy7.direction) || 'inactive';
17357
17373
  } else {
17358
17374
  videoSender.common.common.direction = 'inactive';
17359
17375
  }
@@ -17378,7 +17394,7 @@ var getVideoSenderMqa = _ref7 => {
17378
17394
  videoSender.common.rtxBitrate = totalRtxBytesSentInaMin ? totalRtxBytesSentInaMin * 8 / 60 : 0;
17379
17395
  };
17380
17396
  var getVideoSenderStreamMqa = _ref8 => {
17381
- var _lastMqaDataSent$medi21, _lastMqaDataSent$medi22, _lastMqaDataSent$medi23, _lastMqaDataSent$medi24, _lastMqaDataSent$medi25;
17397
+ var _lastMqaDataSent$medi21, _lastMqaDataSent$medi22, _lastMqaDataSent$medi23, _lastMqaDataSent$medi24, _lastMqaDataSent$medi25, _statsResults$mediaTy8;
17382
17398
  var {
17383
17399
  videoSenderStream,
17384
17400
  statsResults,
@@ -17409,9 +17425,15 @@ var getVideoSenderStreamMqa = _ref8 => {
17409
17425
  videoSenderStream.transmittedFrameSize = videoSenderStream.transmittedHeight * videoSenderStream.transmittedWidth / 256;
17410
17426
  videoSenderStream.requestedBitrate = statsResults[mediaType][sendrecvType].requestedBitrate || 0;
17411
17427
  videoSenderStream.requestedFrameSize = statsResults[mediaType][sendrecvType].requestedFrameSize || 0;
17428
+ var lastUsedEffect = (_statsResults$mediaTy8 = statsResults[mediaType][sendrecvType]) === null || _statsResults$mediaTy8 === void 0 ? void 0 : _statsResults$mediaTy8.effect;
17429
+ var mode = VIRTUAL_BACKGROUND_MODE.NONE;
17430
+ if ((lastUsedEffect === null || lastUsedEffect === void 0 ? void 0 : lastUsedEffect.virtualBackgroundMode) in VIRTUAL_BACKGROUND_MODE) {
17431
+ mode = VIRTUAL_BACKGROUND_MODE[lastUsedEffect.virtualBackgroundMode];
17432
+ }
17433
+ videoSenderStream.backgroundAugmentationType = mode;
17412
17434
  };
17413
17435
  var isStreamRequested = _ref9 => {
17414
- var _statsResults$mediaTy7, _statsResults$mediaTy8;
17436
+ var _statsResults$mediaTy9, _statsResults$mediaTy10;
17415
17437
  var {
17416
17438
  isMultistream,
17417
17439
  statsResults,
@@ -17422,8 +17444,8 @@ var isStreamRequested = _ref9 => {
17422
17444
  return true;
17423
17445
  }
17424
17446
  var now = performance.timeOrigin + performance.now();
17425
- var lastUpdateTimestamp = (_statsResults$mediaTy7 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy7 === void 0 ? void 0 : _statsResults$mediaTy7.lastRequestedUpdateTimestamp;
17426
- var isRequested = (_statsResults$mediaTy8 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy8 === void 0 ? void 0 : _statsResults$mediaTy8.isRequested;
17447
+ var lastUpdateTimestamp = (_statsResults$mediaTy9 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy9 === void 0 ? void 0 : _statsResults$mediaTy9.lastRequestedUpdateTimestamp;
17448
+ var isRequested = (_statsResults$mediaTy10 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy10 === void 0 ? void 0 : _statsResults$mediaTy10.isRequested;
17427
17449
  return isRequested || lastUpdateTimestamp && now - lastUpdateTimestamp < MQA_INTERVAL;
17428
17450
  };
17429
17451
 
@@ -17435,6 +17457,10 @@ var StatsAnalyzerEventNames;
17435
17457
  StatsAnalyzerEventNames["REMOTE_MEDIA_STARTED"] = "REMOTE_MEDIA_STARTED";
17436
17458
  StatsAnalyzerEventNames["REMOTE_MEDIA_STOPPED"] = "REMOTE_MEDIA_STOPPED";
17437
17459
  })(StatsAnalyzerEventNames || (StatsAnalyzerEventNames = {}));
17460
+ var NetworkQualityEventNames;
17461
+ (function (NetworkQualityEventNames) {
17462
+ NetworkQualityEventNames["NETWORK_QUALITY"] = "NETWORK_QUALITY";
17463
+ })(NetworkQualityEventNames || (NetworkQualityEventNames = {}));
17438
17464
 
17439
17465
  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; }
17440
17466
  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; }
@@ -17442,7 +17468,7 @@ class StatsAnalyzer extends EventEmitter$5 {
17442
17468
  constructor(_ref) {
17443
17469
  var {
17444
17470
  config,
17445
- networkQualityMonitor = {},
17471
+ networkQualityMonitor,
17446
17472
  statsResults = STATS_DEFAULT,
17447
17473
  isMultistream = false
17448
17474
  } = _ref;
@@ -17574,6 +17600,7 @@ class StatsAnalyzer extends EventEmitter$5 {
17574
17600
  if (mediaType.includes('send')) {
17575
17601
  this.statsResults[mediaType].send.meanRemoteJitter = [];
17576
17602
  this.statsResults[mediaType].send.meanRoundTripTime = [];
17603
+ this.statsResults[mediaType].send.effect = undefined;
17577
17604
  }
17578
17605
  });
17579
17606
  }
@@ -18107,6 +18134,9 @@ class StatsAnalyzer extends EventEmitter$5 {
18107
18134
  this.statsResults[mediaType][sendrecvType].lastRequestedUpdateTimestamp = result.lastRequestedUpdateTimestamp;
18108
18135
  this.statsResults[mediaType][sendrecvType].requestedBitrate = result.requestedBitrate;
18109
18136
  this.statsResults[mediaType][sendrecvType].requestedFrameSize = result.requestedFrameSize;
18137
+ if (result.effect) {
18138
+ this.statsResults[mediaType][sendrecvType].effect = result.effect;
18139
+ }
18110
18140
  }
18111
18141
  }
18112
18142
  processInboundRTPResult(result, mediaType) {
@@ -18221,6 +18251,107 @@ class StatsAnalyzer extends EventEmitter$5 {
18221
18251
  }
18222
18252
  }
18223
18253
 
18254
+ class NetworkQualityMonitor extends EventEmitter$5 {
18255
+ constructor(config) {
18256
+ super();
18257
+ _defineProperty(this, "config", void 0);
18258
+ _defineProperty(this, "frequencyTypes", void 0);
18259
+ _defineProperty(this, "indicatorTypes", void 0);
18260
+ _defineProperty(this, "networkQualityScore", void 0);
18261
+ _defineProperty(this, "networkQualityStatus", void 0);
18262
+ this.config = config;
18263
+ this.indicatorTypes = Object.freeze({
18264
+ PACKETLOSS: 'packetLoss',
18265
+ LATENCY: 'latency',
18266
+ JITTER: 'jitter'
18267
+ });
18268
+ this.frequencyTypes = Object.freeze({
18269
+ UPLINK: 'uplink',
18270
+ DOWNLINK: 'downlink'
18271
+ });
18272
+ this.networkQualityScore = 1;
18273
+ this.networkQualityStatus = {
18274
+ [this.frequencyTypes.UPLINK]: {}
18275
+ };
18276
+ }
18277
+ emitNetworkQuality(mediaType) {
18278
+ this.emit(NetworkQualityEventNames.NETWORK_QUALITY, {
18279
+ mediaType,
18280
+ networkQualityScore: this.networkQualityScore
18281
+ });
18282
+ }
18283
+ updateNetworkQualityStatus(mediaType) {
18284
+ this.emitNetworkQuality(mediaType);
18285
+ this.networkQualityScore = 1;
18286
+ }
18287
+ determineUplinkNetworkQuality(_ref) {
18288
+ var {
18289
+ mediaType,
18290
+ remoteRtpResults,
18291
+ statsAnalyzerCurrentStats
18292
+ } = _ref;
18293
+ var roundTripTimeInMilliseconds = remoteRtpResults.roundTripTime * 1000;
18294
+ var jitterInMilliseconds = remoteRtpResults.jitter * 1000;
18295
+ var {
18296
+ currentPacketLossRatio
18297
+ } = statsAnalyzerCurrentStats[mediaType].send;
18298
+ var {
18299
+ JITTER,
18300
+ PACKETLOSS,
18301
+ LATENCY
18302
+ } = this.indicatorTypes;
18303
+ var {
18304
+ UPLINK
18305
+ } = this.frequencyTypes;
18306
+ var determinePacketLoss = () => {
18307
+ if (this.config.videoPacketLossRatioThreshold !== undefined && currentPacketLossRatio > this.config.videoPacketLossRatioThreshold) {
18308
+ this.networkQualityScore = 0;
18309
+ return false;
18310
+ }
18311
+ return true;
18312
+ };
18313
+ var determineLatency = () => {
18314
+ if (this.config.rttThreshold !== undefined && roundTripTimeInMilliseconds > this.config.rttThreshold) {
18315
+ this.networkQualityScore = 0;
18316
+ return false;
18317
+ }
18318
+ return true;
18319
+ };
18320
+ var determineJitter = () => {
18321
+ if (this.config.jitterThreshold !== undefined && jitterInMilliseconds > this.config.jitterThreshold) {
18322
+ this.networkQualityScore = 0;
18323
+ return false;
18324
+ }
18325
+ return true;
18326
+ };
18327
+ var getValueOrNull = value => typeof value === 'undefined' ? null : value;
18328
+ if (mediaType !== null) {
18329
+ if (!this.networkQualityStatus[UPLINK][mediaType]) {
18330
+ this.networkQualityStatus[UPLINK][mediaType] = {};
18331
+ }
18332
+ this.networkQualityStatus[UPLINK][mediaType][PACKETLOSS] = {
18333
+ acceptable: determinePacketLoss(),
18334
+ value: getValueOrNull(currentPacketLossRatio)
18335
+ };
18336
+ this.networkQualityStatus[UPLINK][mediaType][LATENCY] = {
18337
+ acceptable: determineLatency(),
18338
+ value: getValueOrNull(remoteRtpResults.roundTripTime)
18339
+ };
18340
+ this.networkQualityStatus[UPLINK][mediaType][JITTER] = {
18341
+ acceptable: determineJitter(),
18342
+ value: getValueOrNull(remoteRtpResults.jitter)
18343
+ };
18344
+ this.updateNetworkQualityStatus(mediaType);
18345
+ }
18346
+ }
18347
+ get networkQualityStats() {
18348
+ var {
18349
+ UPLINK
18350
+ } = this.frequencyTypes;
18351
+ return this.networkQualityStatus[UPLINK];
18352
+ }
18353
+ }
18354
+
18224
18355
  var Media = {
18225
18356
  createAudioTrack: createAudioTrack,
18226
18357
  createVideoTrack: createVideoTrack,
@@ -18238,4 +18369,4 @@ var Media = {
18238
18369
  }
18239
18370
  };
18240
18371
 
18241
- export { ActiveSpeakerInfo, CodecInfo$1 as CodecInfo, ConnectionState, ErrorType, Errors, H264Codec, LocalCameraStream, LocalDisplayStream, LocalMicrophoneStream, LocalStream, LocalStreamEventNames, LocalSystemAudioStream, Media, MediaConnectionEventNames, MediaContent, MediaFamily, MediaStreamTrackKind, MediaType, MultistreamRoapMediaConnection, PeerConnection, Policy, ReceiveSlot, ReceiveSlotEvents, ReceiverSelectedInfo, RecommendedOpusBitrates, RemoteStream, RemoteStreamEventNames, RemoteTrackType, RoapMediaConnection, SendSlot, StatsAnalyzer, StatsAnalyzerEventNames, StreamEventNames, StreamRequest, WcmeError, WcmeErrorType, configureWcmeLogger, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getErrorDescription, getLogger, getMediaFamily, getRecommendedMaxBitrateForFrameSize, getVideoInputDevices, setLogger, setOnDeviceChangeHandler };
18372
+ 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, createCameraStream, createDisplayStream, createDisplayStreamWithAudio, createMicrophoneStream, getAudioInputDevices, getAudioOutputDevices, getDevices, getErrorDescription, getLogger, getMediaFamily, getRecommendedMaxBitrateForFrameSize, getVideoInputDevices, setLogger, setOnDeviceChangeHandler };
@@ -0,0 +1,20 @@
1
+ import { EventEmitter } from '../EventEmitter';
2
+ import { NetworkQualityMonitorEvents } from './eventTypes';
3
+ import { NetworkQualityFrequencyTypes, NetworkQualityIndicatorTypes, NetworkQualityMonitorConfig, NetworkQualityStatus, StatsResults } from './types';
4
+ export declare class NetworkQualityMonitor extends EventEmitter<NetworkQualityMonitorEvents> {
5
+ config: NetworkQualityMonitorConfig;
6
+ frequencyTypes: NetworkQualityFrequencyTypes;
7
+ indicatorTypes: NetworkQualityIndicatorTypes;
8
+ networkQualityScore: 0 | 1;
9
+ networkQualityStatus: NetworkQualityStatus;
10
+ constructor(config: NetworkQualityMonitorConfig);
11
+ private emitNetworkQuality;
12
+ private updateNetworkQualityStatus;
13
+ determineUplinkNetworkQuality({ mediaType, remoteRtpResults, statsAnalyzerCurrentStats, }: {
14
+ mediaType: string;
15
+ remoteRtpResults: StatsResults;
16
+ statsAnalyzerCurrentStats: StatsResults;
17
+ }): void;
18
+ get networkQualityStats(): any;
19
+ }
20
+ //# sourceMappingURL=NetworkQualityMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkQualityMonitor.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/NetworkQualityMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAA2B,2BAA2B,EAAC,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,YAAY,EACb,MAAM,SAAS,CAAC;AAKjB,qBAAa,qBAAsB,SAAQ,YAAY,CAAC,2BAA2B,CAAC;IAElF,MAAM,EAAE,2BAA2B,CAAC;IAGpC,cAAc,EAAE,4BAA4B,CAAC;IAG7C,cAAc,EAAE,4BAA4B,CAAC;IAG7C,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC;IAG3B,oBAAoB,EAAE,oBAAoB,CAAC;gBAQ/B,MAAM,EAAE,2BAA2B;IAuB/C,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,0BAA0B;IAe3B,6BAA6B,CAAC,EACnC,SAAS,EACT,gBAAgB,EAChB,yBAAyB,GAC1B,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,YAAY,CAAC;QAC/B,yBAAyB,EAAE,YAAY,CAAC;KACzC,GAAG,IAAI;IA0GR,IAAI,mBAAmB,QAItB;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=NetworkQualityMonitor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkQualityMonitor.test.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/NetworkQualityMonitor.test.ts"],"names":[],"mappings":""}
@@ -1,7 +1,8 @@
1
1
  import { EventEmitter } from '../EventEmitter';
2
- import { ActualExpectedMediaStatus, MqaData, NetworkQualityMonitor, StatsAnalyzerConfig, StatsResults } from './types';
2
+ import { ActualExpectedMediaStatus, MqaData, StatsAnalyzerConfig, StatsResults } from './types';
3
3
  import { MultistreamRoapMediaConnection, RoapMediaConnection } from '../MediaConnection';
4
4
  import { LastEmittedStartStopEvents, StatsAnalyzerEvents } from './eventTypes';
5
+ import { NetworkQualityMonitor } from './NetworkQualityMonitor';
5
6
  export declare class StatsAnalyzer extends EventEmitter<StatsAnalyzerEvents> {
6
7
  config: StatsAnalyzerConfig;
7
8
  correlationId: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"StatsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsAnalyzer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AA8B7C,OAAO,EAIL,yBAAyB,EACzB,OAAO,EAEP,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EAEb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,8BAA8B,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EAGpB,MAAM,cAAc,CAAC;AAKtB,qBAAa,aAAc,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IAClE,MAAM,EAAE,mBAAmB,CAAC;IAE5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,0BAA0B,EAAE,0BAA0B,CAAC;IAEvD,eAAe,EAAE,OAAO,CAAC;IAEzB,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IAEtC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAE/C,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE5C,YAAY,EAAE,MAAM,CAAC;IAIrB,qBAAqB,EAAE,qBAAqB,CAAC;IAE7C,eAAe,EAAE,8BAA8B,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAE7E,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE9C,YAAY,EAAE,YAAY,CAAC;IAE3B,YAAY,EAAE,OAAO,CAAC;IAGtB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7C,cAAc,EAAE,MAAM,CAAC;IAEvB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAEzC,aAAa,EAAE,OAAO,CAAC;gBAUX,EACV,MAAM,EACN,qBAA0B,EAC1B,YAA4B,EAC5B,aAAqB,GACtB,EAAE;QACD,MAAM,EAAE,mBAAmB,CAAC;QAC5B,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;IAoBD,OAAO,CAAC,iBAAiB;IAkBlB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAgBnE,OAAO,CAAC,WAAW;IAwUZ,iBAAiB,IAAI,MAAM;IAU3B,aAAa,CAAC,eAAe,EAAE,8BAA8B,GAAG,mBAAmB;IAuBnF,YAAY;IA8BnB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,6BAA6B;IA4DrC,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,mBAAmB,CAkDzB;IAKF,OAAO,CAAC,sBAAsB;IAgN9B,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,wBAAwB;IAsDhC,OAAO,CAAC,uBAAuB;IAgK/B,OAAO,CAAC,6CAA6C,CA+BnD;IAUF,OAAO,CAAC,cAAc,CAuDpB;IAQF,OAAO,CAAC,sBAAsB;CAkD/B"}
1
+ {"version":3,"file":"StatsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsAnalyzer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AA8B7C,OAAO,EAIL,yBAAyB,EACzB,OAAO,EAEP,mBAAmB,EACnB,YAAY,EAEb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,8BAA8B,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EAGpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAK9D,qBAAa,aAAc,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IAClE,MAAM,EAAE,mBAAmB,CAAC;IAE5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,0BAA0B,EAAE,0BAA0B,CAAC;IAEvD,eAAe,EAAE,OAAO,CAAC;IAEzB,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IAEtC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAE/C,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE5C,YAAY,EAAE,MAAM,CAAC;IAErB,qBAAqB,EAAE,qBAAqB,CAAC;IAE7C,eAAe,EAAE,8BAA8B,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAE7E,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE9C,YAAY,EAAE,YAAY,CAAC;IAE3B,YAAY,EAAE,OAAO,CAAC;IAGtB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7C,cAAc,EAAE,MAAM,CAAC;IAEvB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAEzC,aAAa,EAAE,OAAO,CAAC;gBAUX,EACV,MAAM,EACN,qBAAqB,EACrB,YAA4B,EAC5B,aAAqB,GACtB,EAAE;QACD,MAAM,EAAE,mBAAmB,CAAC;QAC5B,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;IAoBD,OAAO,CAAC,iBAAiB;IAmBlB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAgBnE,OAAO,CAAC,WAAW;IAwUZ,iBAAiB,IAAI,MAAM;IAU3B,aAAa,CAAC,eAAe,EAAE,8BAA8B,GAAG,mBAAmB;IAuBnF,YAAY;IA8BnB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,6BAA6B;IA4DrC,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,mBAAmB,CAkDzB;IAKF,OAAO,CAAC,sBAAsB;IAgN9B,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,wBAAwB;IA0DhC,OAAO,CAAC,uBAAuB;IAgK/B,OAAO,CAAC,6CAA6C,CA+BnD;IAUF,OAAO,CAAC,cAAc,CAuDpB;IAQF,OAAO,CAAC,sBAAsB;CAkD/B"}
@@ -279,4 +279,14 @@ export declare const emptyReceiver: {
279
279
  meanRoundTripTime: never[];
280
280
  };
281
281
  export declare const VIDEO_FRAME_RATE_MULTIPLIER = 100;
282
+ export declare const NOISE_REDUCTION_MODE: {
283
+ NONE: string;
284
+ LOW_POWER: string;
285
+ };
286
+ export declare const VIRTUAL_BACKGROUND_MODE: {
287
+ NONE: string;
288
+ BLUR: string;
289
+ REPLACE_IMAGE: string;
290
+ REPLACE_VIDEO: string;
291
+ };
282
292
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAC,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,aAAa,EAAE,YAgC3B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;CAepC,CAAC;AAEF,eAAO,MAAM,YAAY,QAAQ,CAAC;AAGlC,eAAO,MAAM,SAAS,YAAY,CAAC;AAEnC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B5B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;CAmBnC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC9B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;CAWpC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BnC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC9B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCpC,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC;AAIF,eAAO,MAAM,2BAA2B,MAAM,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAC,MAAM,SAAS,CAAC;AAGlD,eAAO,MAAM,aAAa,EAAE,YAgC3B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;CAepC,CAAC;AAEF,eAAO,MAAM,YAAY,QAAQ,CAAC;AAGlC,eAAO,MAAM,SAAS,YAAY,CAAC;AAEnC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B5B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;CAmBnC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC9B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;CAWpC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BnC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC9B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCpC,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC;AAIF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,eAAO,MAAM,oBAAoB;;;CAGhC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;CAKnC,CAAC"}
@@ -29,5 +29,15 @@ export declare type LastEmittedStartStopEvents = Partial<{
29
29
  video: Partial<LocalRemoteMediaStartedStopped>;
30
30
  share: Partial<LocalRemoteMediaStartedStopped>;
31
31
  }>;
32
+ export declare enum NetworkQualityEventNames {
33
+ NETWORK_QUALITY = "NETWORK_QUALITY"
34
+ }
35
+ interface NetworkQualityEvent {
36
+ mediaType: string;
37
+ networkQualityScore: number;
38
+ }
39
+ export interface NetworkQualityMonitorEvents extends EventMap {
40
+ [NetworkQualityEventNames.NETWORK_QUALITY]: (event: NetworkQualityEvent) => void;
41
+ }
32
42
  export {};
33
43
  //# sourceMappingURL=eventTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventTypes.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/eventTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED,UAAU,iBAAiB;IAEzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;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"}
1
+ {"version":3,"file":"eventTypes.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/eventTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,oBAAY,uBAAuB;IACjC,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED,UAAU,iBAAiB;IAEzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;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"}
@@ -1,4 +1,5 @@
1
1
  export * from './StatsAnalyzer';
2
+ export * from './NetworkQualityMonitor';
2
3
  export * from './eventTypes';
3
4
  export { ActualExpectedMediaStatus } from './types';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,yBAAyB,EAAC,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,OAAO,EAAC,yBAAyB,EAAC,MAAM,SAAS,CAAC"}
@@ -30,7 +30,6 @@ export declare type StatsAnalyzerConfig = {
30
30
  export declare type StatsResults = Record<string, any>;
31
31
  export declare type MqaData = Record<string, any>;
32
32
  export declare type GetStatsResults = Record<string, any>;
33
- export declare type NetworkQualityMonitor = Record<string, any>;
34
33
  declare type MediaStatus = {
35
34
  mediaType: StatsMediaType;
36
35
  mediaContent: 'main' | 'slides';
@@ -54,5 +53,20 @@ export declare type ActualExpectedMediaStatus = {
54
53
  receiveShare?: boolean;
55
54
  };
56
55
  };
56
+ export declare type NetworkQualityStatus = Record<string, any>;
57
+ export declare type NetworkQualityMonitorConfig = {
58
+ videoPacketLossRatioThreshold: number;
59
+ rttThreshold: number;
60
+ jitterThreshold: number;
61
+ };
62
+ export declare type NetworkQualityFrequencyTypes = {
63
+ UPLINK: 'uplink';
64
+ DOWNLINK: 'downlink';
65
+ };
66
+ export declare type NetworkQualityIndicatorTypes = {
67
+ PACKETLOSS: 'packetLoss';
68
+ LATENCY: 'latency';
69
+ JITTER: 'jitter';
70
+ };
57
71
  export {};
58
72
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAEnD,oBAAY,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,oBAAY,YAAY;IACtB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,OAAO,SAAS;CACjB;AAED,oBAAY,MAAM;IAChB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,mBAAmB,GAAG;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B,EAAE,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAI/C,oBAAY,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAI1C,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAKlD,oBAAY,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExD,aAAK,WAAW,GAAG;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE;QACN,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAEnD,oBAAY,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,oBAAY,YAAY;IACtB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,OAAO,SAAS;CACjB;AAED,oBAAY,MAAM;IAChB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,mBAAmB,GAAG;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B,EAAE,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAI/C,oBAAY,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAI1C,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAElD,aAAK,WAAW,GAAG;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,MAAM,EAAE;QACN,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AAGF,oBAAY,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvD,oBAAY,2BAA2B,GAAG;IACxC,6BAA6B,EAAE,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,oBAAY,4BAA4B,GAAG;IACzC,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC;AAEF,oBAAY,4BAA4B,GAAG;IACzC,UAAU,EAAE,YAAY,CAAC;IACzB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAE,OAAO,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAkD9D,eAAO,MAAM,mBAAmB;mBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACpB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UAuDvB,CAAC;AAEF,eAAO,MAAM,yBAAyB;yBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAC1B,YAAY;qBACT,OAAO;eACb,MAAM;UAgDlB,CAAC;AAEF,eAAO,MAAM,iBAAiB;iBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAClB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UA4DvB,CAAC;AAEF,eAAO,MAAM,uBAAuB;uBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACxB,YAAY;qBACT,OAAO;eACb,MAAM;UA8BlB,CAAC;AAEF,eAAO,MAAM,mBAAmB;mBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACpB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UA0DvB,CAAC;AAEF,eAAO,MAAM,yBAAyB;yBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAC1B,YAAY;qBACT,OAAO;eACb,MAAM;UAuElB,CAAC;AAEF,eAAO,MAAM,iBAAiB;iBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAClB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UAmEvB,CAAC;AAEF,eAAO,MAAM,uBAAuB;uBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACxB,YAAY;qBACT,OAAO;eACb,MAAM;UA8ClB,CAAC;AAWF,eAAO,MAAM,iBAAiB;mBAMb,OAAO;kBACR,YAAY;eACf,MAAM;eACN,cAAc;MACvB,OAUH,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,cAAc,EAAE,OAAO,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAkD9D,eAAO,MAAM,mBAAmB;mBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACpB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UAuDvB,CAAC;AAEF,eAAO,MAAM,yBAAyB;yBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAC1B,YAAY;qBACT,OAAO;eACb,MAAM;UAgDlB,CAAC;AAEF,eAAO,MAAM,iBAAiB;iBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAClB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UA4DvB,CAAC;AAEF,eAAO,MAAM,uBAAuB;uBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACxB,YAAY;qBACT,OAAO;eACb,MAAM;UAuClB,CAAC;AAEF,eAAO,MAAM,mBAAmB;mBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACpB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UA0DvB,CAAC;AAEF,eAAO,MAAM,yBAAyB;yBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAC1B,YAAY;qBACT,OAAO;eACb,MAAM;UAuElB,CAAC;AAEF,eAAO,MAAM,iBAAiB;iBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAClB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UAmEvB,CAAC;AAEF,eAAO,MAAM,uBAAuB;uBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACxB,YAAY;qBACT,OAAO;eACb,MAAM;UAuDlB,CAAC;AAWF,eAAO,MAAM,iBAAiB;mBAMb,OAAO;kBACR,YAAY;eACf,MAAM;eACN,cAAc;MACvB,OAUH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-media-core",
3
- "version": "2.10.0",
3
+ "version": "2.10.2",
4
4
  "files": [
5
5
  "dist/cjs",
6
6
  "dist/esm",