@webex/plugin-meetings 2.59.6-next.2 → 2.59.7

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.
Files changed (152) hide show
  1. package/dist/common/browser-detection.d.ts +9 -0
  2. package/dist/common/browser-detection.js +2 -2
  3. package/dist/common/browser-detection.js.map +1 -1
  4. package/dist/common/collection.d.ts +48 -0
  5. package/dist/common/collection.js +2 -2
  6. package/dist/common/collection.js.map +1 -1
  7. package/dist/common/config.d.ts +2 -0
  8. package/dist/common/errors/captcha-error.d.ts +15 -0
  9. package/dist/common/errors/intent-to-join.d.ts +16 -0
  10. package/dist/common/errors/join-meeting.d.ts +17 -0
  11. package/dist/common/errors/media.d.ts +15 -0
  12. package/dist/common/errors/parameter.d.ts +15 -0
  13. package/dist/common/errors/password-error.d.ts +15 -0
  14. package/dist/common/errors/permission.d.ts +14 -0
  15. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  16. package/dist/common/errors/reconnection.d.ts +15 -0
  17. package/dist/common/errors/stats.d.ts +15 -0
  18. package/dist/common/errors/webex-errors.d.ts +81 -0
  19. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  20. package/dist/common/events/events-scope.d.ts +17 -0
  21. package/dist/common/events/events.d.ts +12 -0
  22. package/dist/common/events/trigger-proxy.d.ts +2 -0
  23. package/dist/common/events/util.d.ts +2 -0
  24. package/dist/common/logs/logger-config.d.ts +2 -0
  25. package/dist/common/logs/logger-proxy.d.ts +2 -0
  26. package/dist/common/logs/request.d.ts +34 -0
  27. package/dist/common/queue.d.ts +32 -0
  28. package/dist/config.d.ts +73 -0
  29. package/dist/config.js +2 -2
  30. package/dist/config.js.map +1 -1
  31. package/dist/constants.d.ts +926 -0
  32. package/dist/constants.js +2 -0
  33. package/dist/constants.js.map +1 -1
  34. package/dist/controls-options-manager/constants.d.ts +4 -0
  35. package/dist/controls-options-manager/enums.d.ts +5 -0
  36. package/dist/controls-options-manager/index.d.ts +120 -0
  37. package/dist/controls-options-manager/index.js +2 -2
  38. package/dist/controls-options-manager/index.js.map +1 -1
  39. package/dist/controls-options-manager/util.d.ts +7 -0
  40. package/dist/index.d.ts +4 -0
  41. package/dist/locus-info/controlsUtils.d.ts +2 -0
  42. package/dist/locus-info/controlsUtils.js +6 -6
  43. package/dist/locus-info/controlsUtils.js.map +1 -1
  44. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  45. package/dist/locus-info/fullState.d.ts +2 -0
  46. package/dist/locus-info/hostUtils.d.ts +2 -0
  47. package/dist/locus-info/index.d.ts +269 -0
  48. package/dist/locus-info/index.js +18 -18
  49. package/dist/locus-info/index.js.map +1 -1
  50. package/dist/locus-info/infoUtils.d.ts +2 -0
  51. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  52. package/dist/locus-info/parser.d.ts +212 -0
  53. package/dist/locus-info/parser.js +2 -2
  54. package/dist/locus-info/parser.js.map +1 -1
  55. package/dist/locus-info/selfUtils.d.ts +2 -0
  56. package/dist/media/index.d.ts +32 -0
  57. package/dist/media/properties.d.ts +108 -0
  58. package/dist/media/util.d.ts +2 -0
  59. package/dist/mediaQualityMetrics/config.d.ts +233 -0
  60. package/dist/meeting/effectsState.d.ts +42 -0
  61. package/dist/meeting/in-meeting-actions.d.ts +79 -0
  62. package/dist/meeting/index.d.ts +1622 -0
  63. package/dist/meeting/index.js +51 -28
  64. package/dist/meeting/index.js.map +1 -1
  65. package/dist/meeting/muteState.d.ts +116 -0
  66. package/dist/meeting/request.d.ts +255 -0
  67. package/dist/meeting/request.js +2 -2
  68. package/dist/meeting/request.js.map +1 -1
  69. package/dist/meeting/state.d.ts +9 -0
  70. package/dist/meeting/util.d.ts +2 -0
  71. package/dist/meeting/util.js +4 -4
  72. package/dist/meeting/util.js.map +1 -1
  73. package/dist/meeting-info/collection.d.ts +20 -0
  74. package/dist/meeting-info/collection.js +2 -2
  75. package/dist/meeting-info/collection.js.map +1 -1
  76. package/dist/meeting-info/index.d.ts +57 -0
  77. package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
  78. package/dist/meeting-info/request.d.ts +22 -0
  79. package/dist/meeting-info/util.d.ts +2 -0
  80. package/dist/meeting-info/utilv2.d.ts +2 -0
  81. package/dist/meetings/collection.d.ts +23 -0
  82. package/dist/meetings/collection.js +2 -2
  83. package/dist/meetings/collection.js.map +1 -1
  84. package/dist/meetings/index.d.ts +296 -0
  85. package/dist/meetings/request.d.ts +27 -0
  86. package/dist/meetings/util.d.ts +18 -0
  87. package/dist/member/index.d.ts +147 -0
  88. package/dist/member/member.types.d.ts +11 -0
  89. package/dist/member/util.d.ts +2 -0
  90. package/dist/members/collection.d.ts +24 -0
  91. package/dist/members/index.d.ts +298 -0
  92. package/dist/members/index.js +2 -2
  93. package/dist/members/index.js.map +1 -1
  94. package/dist/members/request.d.ts +50 -0
  95. package/dist/members/util.d.ts +2 -0
  96. package/dist/metrics/config.d.ts +169 -0
  97. package/dist/metrics/constants.d.ts +59 -0
  98. package/dist/metrics/constants.js +2 -0
  99. package/dist/metrics/constants.js.map +1 -1
  100. package/dist/metrics/index.d.ts +152 -0
  101. package/dist/metrics/index.js +2 -2
  102. package/dist/metrics/index.js.map +1 -1
  103. package/dist/networkQualityMonitor/index.d.ts +70 -0
  104. package/dist/peer-connection-manager/index.d.ts +6 -0
  105. package/dist/peer-connection-manager/util.d.ts +6 -0
  106. package/dist/personal-meeting-room/index.d.ts +47 -0
  107. package/dist/personal-meeting-room/request.d.ts +14 -0
  108. package/dist/personal-meeting-room/util.d.ts +2 -0
  109. package/dist/reachability/index.d.ts +139 -0
  110. package/dist/reachability/index.js +2 -9
  111. package/dist/reachability/index.js.map +1 -1
  112. package/dist/reachability/request.d.ts +35 -0
  113. package/dist/reactions/reactions.d.ts +4 -0
  114. package/dist/reactions/reactions.type.d.ts +32 -0
  115. package/dist/reconnection-manager/index.d.ts +112 -0
  116. package/dist/recording-controller/enums.d.ts +7 -0
  117. package/dist/recording-controller/index.d.ts +193 -0
  118. package/dist/recording-controller/util.d.ts +13 -0
  119. package/dist/roap/collection.d.ts +10 -0
  120. package/dist/roap/handler.d.ts +47 -0
  121. package/dist/roap/index.d.ts +116 -0
  122. package/dist/roap/index.js +13 -12
  123. package/dist/roap/index.js.map +1 -1
  124. package/dist/roap/request.d.ts +35 -0
  125. package/dist/roap/state.d.ts +9 -0
  126. package/dist/roap/turnDiscovery.d.ts +81 -0
  127. package/dist/roap/turnDiscovery.js +130 -44
  128. package/dist/roap/turnDiscovery.js.map +1 -1
  129. package/dist/roap/util.d.ts +2 -0
  130. package/dist/statsAnalyzer/global.d.ts +118 -0
  131. package/dist/statsAnalyzer/global.js +4 -12
  132. package/dist/statsAnalyzer/global.js.map +1 -1
  133. package/dist/statsAnalyzer/index.d.ts +193 -0
  134. package/dist/statsAnalyzer/index.js +56 -14
  135. package/dist/statsAnalyzer/index.js.map +1 -1
  136. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
  137. package/dist/statsAnalyzer/mqaUtil.js +15 -15
  138. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  139. package/dist/transcription/index.d.ts +64 -0
  140. package/package.json +21 -22
  141. package/src/config.ts +2 -2
  142. package/src/constants.ts +2 -0
  143. package/src/meeting/index.ts +35 -0
  144. package/src/metrics/constants.ts +2 -0
  145. package/src/roap/index.ts +14 -10
  146. package/src/roap/turnDiscovery.ts +48 -20
  147. package/src/statsAnalyzer/global.ts +2 -10
  148. package/src/statsAnalyzer/index.ts +80 -17
  149. package/test/unit/spec/meeting/index.js +77 -6
  150. package/test/unit/spec/roap/index.ts +84 -80
  151. package/test/unit/spec/roap/turnDiscovery.ts +21 -0
  152. package/test/unit/spec/stats-analyzer/index.js +151 -0
@@ -16,7 +16,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
16
16
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
17
17
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
18
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
19
- var _lodash = require("lodash");
19
+ var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
20
20
  var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
21
21
  var _constants = require("../constants");
22
22
  var _config = _interopRequireDefault(require("../mediaQualityMetrics/config"));
@@ -27,6 +27,8 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
27
27
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
28
28
  var EVENTS = {
29
29
  MEDIA_QUALITY: 'MEDIA_QUALITY',
30
+ NO_FRAMES_SENT: 'NO_FRAMES_SENT',
31
+ NO_VIDEO_ENCODED: 'NO_VIDEO_ENCODED',
30
32
  LOCAL_MEDIA_STARTED: 'LOCAL_MEDIA_STARTED',
31
33
  LOCAL_MEDIA_STOPPED: 'LOCAL_MEDIA_STOPPED',
32
34
  REMOTE_MEDIA_STARTED: 'REMOTE_MEDIA_STARTED',
@@ -99,7 +101,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
99
101
  var newEvent;
100
102
  if (currentValue - previousValue > 0) {
101
103
  newEvent = isLocal ? EVENTS.LOCAL_MEDIA_STARTED : EVENTS.REMOTE_MEDIA_STARTED;
102
- } else if (currentValue === previousValue && currentValue > 0) {
104
+ } else if (currentValue === previousValue && currentValue >= 0) {
103
105
  newEvent = isLocal ? EVENTS.LOCAL_MEDIA_STOPPED : EVENTS.REMOTE_MEDIA_STOPPED;
104
106
  }
105
107
  if (newEvent && lastEmittedEvent !== newEvent) {
@@ -412,7 +414,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
412
414
  _config.default.intervals[0].intervalNumber = this.mqaSentCount;
413
415
 
414
416
  // DO Deep copy, for some reason it takes the reference all the time rather then old value set
415
- this.lastMqaDataSent = (0, _lodash.cloneDeep)(this.statsResults);
417
+ this.lastMqaDataSent = (0, _cloneDeep2.default)(this.statsResults);
416
418
  this.populateResults(_config.default.intervals[0]);
417
419
  this.resetStatsResults();
418
420
  this.emit({
@@ -520,9 +522,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
520
522
  case 'inbound-rtp':
521
523
  this.processInboundRTPResult(getStatsResult, type);
522
524
  break;
523
- case 'track':
524
- this.processTrackResult(getStatsResult, type);
525
- break;
526
525
  case 'remote-inbound-rtp':
527
526
  case 'remote-outbound-rtp':
528
527
  // @ts-ignore
@@ -630,13 +629,32 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
630
629
  previousStats = this.lastStatsResults[mediaType].send;
631
630
  if (currentStats.totalPacketsSent === previousStats.totalPacketsSent || currentStats.totalPacketsSent === 0) {
632
631
  _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " RTP packets sent"));
633
- } else {
632
+ } else if (this.lastEmittedStartStopEvent[mediaType].local !== EVENTS.LOCAL_MEDIA_STOPPED) {
634
633
  if (currentStats.framesEncoded === previousStats.framesEncoded || currentStats.framesEncoded === 0) {
634
+ this.lastEmittedStartStopEvent[mediaType].local = EVENTS.NO_VIDEO_ENCODED;
635
635
  _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " Frames Encoded"));
636
+ this.emit({
637
+ file: 'statsAnalyzer',
638
+ function: 'compareLastStatsResult'
639
+ }, EVENTS.NO_VIDEO_ENCODED, {
640
+ mediaType: mediaType
641
+ });
636
642
  }
637
643
  if (this.statsResults.resolutions[mediaType].send.framesSent === this.lastStatsResults.resolutions[mediaType].send.framesSent || this.statsResults.resolutions[mediaType].send.framesSent === 0) {
638
644
  _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " Frames sent"));
639
645
  }
646
+
647
+ // Video is encoded but frames are not sent
648
+ if (currentStats.framesEncoded !== previousStats.framesEncoded && (currentStats.framesSent === previousStats.framesSent || currentStats.framesSent === 0)) {
649
+ this.lastEmittedStartStopEvent[mediaType].local = EVENTS.NO_FRAMES_SENT;
650
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " frames sent even though frames are encoded"));
651
+ this.emit({
652
+ file: 'statsAnalyzer',
653
+ function: 'compareLastStatsResult'
654
+ }, EVENTS.NO_FRAMES_SENT, {
655
+ mediaType: mediaType
656
+ });
657
+ }
640
658
  }
641
659
  this.emitStartStopEvents(mediaType, previousStats.framesSent, currentStats.framesSent, true);
642
660
  }
@@ -668,13 +686,32 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
668
686
  previousStats = this.lastStatsResults[mediaType].send;
669
687
  if (currentStats.totalPacketsSent === previousStats.totalPacketsSent || currentStats.totalPacketsSent === 0) {
670
688
  _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " RTP packets sent"));
671
- } else {
689
+ } else if (this.lastEmittedStartStopEvent[mediaType].local !== EVENTS.LOCAL_MEDIA_STOPPED) {
672
690
  if (currentStats.framesEncoded === previousStats.framesEncoded || currentStats.framesEncoded === 0) {
691
+ this.lastEmittedStartStopEvent[mediaType].local = EVENTS.NO_VIDEO_ENCODED;
673
692
  _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " frames getting encoded"));
693
+ this.emit({
694
+ file: 'statsAnalyzer',
695
+ function: 'compareLastStatsResult'
696
+ }, EVENTS.NO_VIDEO_ENCODED, {
697
+ mediaType: mediaType
698
+ });
674
699
  }
675
700
  if (this.statsResults.resolutions[mediaType].send.framesSent === this.lastStatsResults.resolutions[mediaType].send.framesSent || this.statsResults.resolutions[mediaType].send.framesSent === 0) {
676
701
  _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " frames sent"));
677
702
  }
703
+
704
+ // Share video is encoded but frames are not sent
705
+ if (currentStats.framesEncoded !== previousStats.framesEncoded && (currentStats.framesSent === previousStats.framesSent || currentStats.framesSent === 0)) {
706
+ this.lastEmittedStartStopEvent[mediaType].local = EVENTS.NO_FRAMES_SENT;
707
+ _loggerProxy.default.logger.info("StatsAnalyzer:index#compareLastStatsResult --> No ".concat(mediaType, " Frames sent even though frames are being encoded"));
708
+ this.emit({
709
+ file: 'statsAnalyzer',
710
+ function: 'compareLastStatsResult'
711
+ }, EVENTS.NO_FRAMES_SENT, {
712
+ mediaType: mediaType
713
+ });
714
+ }
678
715
  }
679
716
 
680
717
  // TODO:need to check receive share value
@@ -761,6 +798,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
761
798
  value: function processOutboundRTPResult(result, type) {
762
799
  var mediaType = type || _constants.STATS.AUDIO_CORRELATE;
763
800
  var sendrecvType = _constants.STATS.SEND_DIRECTION;
801
+ this.processTrackResult(result, type, sendrecvType);
764
802
  if (result.bytesSent) {
765
803
  var kilobytes = 0;
766
804
  if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesSent) {
@@ -817,6 +855,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
817
855
  value: function processInboundRTPResult(result, type) {
818
856
  var mediaType = type || _constants.STATS.AUDIO_CORRELATE;
819
857
  var sendrecvType = _constants.STATS.RECEIVE_DIRECTION;
858
+ this.processTrackResult(result, type, sendrecvType);
820
859
  if (result.bytesReceived) {
821
860
  var kilobytes = 0;
822
861
  if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived) {
@@ -896,25 +935,28 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
896
935
  * @private
897
936
  * @param {*} result
898
937
  * @param {*} mediaType
938
+ * @param {*} sendrecvType
899
939
  * @returns {void}
900
940
  * @memberof StatsAnalyzer
901
941
  */
902
- function processTrackResult(result, mediaType) {
903
- if (!result || result.type !== 'track') {
942
+ function processTrackResult(result, mediaType, sendrecvType) {
943
+ if (!result || mediaType === _constants.STATS.AUDIO_CORRELATE) {
944
+ return;
945
+ }
946
+ if (result.type !== 'inbound-rtp' && result.type !== 'outbound-rtp') {
904
947
  return;
905
948
  }
906
- if (result.type !== 'track') return;
907
- var sendrecvType = result.remoteSource === true ? _constants.STATS.RECEIVE_DIRECTION : _constants.STATS.SEND_DIRECTION;
908
949
  if (result.frameWidth && result.frameHeight) {
909
950
  this.statsResults.resolutions[mediaType][sendrecvType].width = result.frameWidth;
910
951
  this.statsResults.resolutions[mediaType][sendrecvType].height = result.frameHeight;
911
- this.statsResults.resolutions[mediaType][sendrecvType].framesSent = result.framesSent;
912
- this.statsResults.resolutions[mediaType][sendrecvType].hugeFramesSent = result.hugeFramesSent;
913
952
  }
914
953
  if (sendrecvType === _constants.STATS.RECEIVE_DIRECTION) {
915
954
  this.statsResults.resolutions[mediaType][sendrecvType].framesReceived = result.framesReceived;
916
955
  this.statsResults.resolutions[mediaType][sendrecvType].framesDecoded = result.framesDecoded;
917
956
  this.statsResults.resolutions[mediaType][sendrecvType].framesDropped = result.framesDropped;
957
+ } else if (sendrecvType === _constants.STATS.SEND_DIRECTION) {
958
+ this.statsResults.resolutions[mediaType][sendrecvType].framesSent = result.framesSent;
959
+ this.statsResults.resolutions[mediaType][sendrecvType].hugeFramesSent = result.hugeFramesSent;
918
960
  }
919
961
  if (result.trackIdentifier && mediaType !== _constants.STATS.AUDIO_CORRELATE) {
920
962
  this.statsResults.resolutions[mediaType][sendrecvType].trackIdentifier = result.trackIdentifier;