@webex/plugin-meetings 3.0.0 → 3.1.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.
Files changed (138) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/config.d.ts +1 -0
  4. package/dist/config.js +2 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/constants.d.ts +5 -4
  7. package/dist/constants.js +8 -4
  8. package/dist/constants.js.map +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.js +6 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/interpretation/index.js +16 -2
  13. package/dist/interpretation/index.js.map +1 -1
  14. package/dist/interpretation/siLanguage.js +1 -1
  15. package/dist/locus-info/mediaSharesUtils.js +15 -1
  16. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  17. package/dist/locus-info/selfUtils.js +5 -0
  18. package/dist/locus-info/selfUtils.js.map +1 -1
  19. package/dist/media/MediaConnectionAwaiter.d.ts +61 -0
  20. package/dist/media/MediaConnectionAwaiter.js +163 -0
  21. package/dist/media/MediaConnectionAwaiter.js.map +1 -0
  22. package/dist/media/index.js +4 -1
  23. package/dist/media/index.js.map +1 -1
  24. package/dist/media/properties.js +4 -24
  25. package/dist/media/properties.js.map +1 -1
  26. package/dist/meeting/index.d.ts +26 -7
  27. package/dist/meeting/index.js +893 -677
  28. package/dist/meeting/index.js.map +1 -1
  29. package/dist/meeting/muteState.d.ts +2 -8
  30. package/dist/meeting/muteState.js +37 -25
  31. package/dist/meeting/muteState.js.map +1 -1
  32. package/dist/meeting/request.d.ts +3 -0
  33. package/dist/meeting/request.js +32 -23
  34. package/dist/meeting/request.js.map +1 -1
  35. package/dist/meeting/util.js +1 -0
  36. package/dist/meeting/util.js.map +1 -1
  37. package/dist/meeting-info/utilv2.js +4 -1
  38. package/dist/meeting-info/utilv2.js.map +1 -1
  39. package/dist/meetings/index.d.ts +8 -0
  40. package/dist/meetings/index.js +20 -0
  41. package/dist/meetings/index.js.map +1 -1
  42. package/dist/multistream/mediaRequestManager.d.ts +2 -1
  43. package/dist/multistream/mediaRequestManager.js +1 -1
  44. package/dist/multistream/mediaRequestManager.js.map +1 -1
  45. package/dist/multistream/remoteMediaGroup.d.ts +2 -0
  46. package/dist/multistream/remoteMediaGroup.js +16 -2
  47. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  48. package/dist/multistream/remoteMediaManager.d.ts +15 -0
  49. package/dist/multistream/remoteMediaManager.js +179 -65
  50. package/dist/multistream/remoteMediaManager.js.map +1 -1
  51. package/dist/multistream/sendSlotManager.d.ts +9 -1
  52. package/dist/multistream/sendSlotManager.js +22 -0
  53. package/dist/multistream/sendSlotManager.js.map +1 -1
  54. package/dist/reachability/clusterReachability.d.ts +1 -0
  55. package/dist/reachability/clusterReachability.js +29 -15
  56. package/dist/reachability/clusterReachability.js.map +1 -1
  57. package/dist/reachability/index.d.ts +4 -0
  58. package/dist/reachability/index.js +18 -2
  59. package/dist/reachability/index.js.map +1 -1
  60. package/dist/reachability/request.js +12 -10
  61. package/dist/reachability/request.js.map +1 -1
  62. package/dist/reachability/util.d.ts +7 -0
  63. package/dist/reachability/util.js +19 -0
  64. package/dist/reachability/util.js.map +1 -1
  65. package/dist/reconnection-manager/index.js +2 -1
  66. package/dist/reconnection-manager/index.js.map +1 -1
  67. package/dist/roap/index.d.ts +10 -2
  68. package/dist/roap/index.js +15 -0
  69. package/dist/roap/index.js.map +1 -1
  70. package/dist/roap/request.js +3 -3
  71. package/dist/roap/request.js.map +1 -1
  72. package/dist/roap/turnDiscovery.d.ts +64 -17
  73. package/dist/roap/turnDiscovery.js +307 -126
  74. package/dist/roap/turnDiscovery.js.map +1 -1
  75. package/dist/statsAnalyzer/index.js +53 -30
  76. package/dist/statsAnalyzer/index.js.map +1 -1
  77. package/dist/webinar/index.js +1 -1
  78. package/package.json +22 -22
  79. package/src/config.ts +1 -0
  80. package/src/constants.ts +7 -3
  81. package/src/index.ts +1 -0
  82. package/src/interpretation/index.ts +18 -1
  83. package/src/locus-info/mediaSharesUtils.ts +16 -0
  84. package/src/locus-info/selfUtils.ts +5 -0
  85. package/src/media/MediaConnectionAwaiter.ts +174 -0
  86. package/src/media/index.ts +3 -1
  87. package/src/media/properties.ts +6 -31
  88. package/src/meeting/index.ts +321 -106
  89. package/src/meeting/muteState.ts +34 -20
  90. package/src/meeting/request.ts +18 -2
  91. package/src/meeting/util.ts +1 -0
  92. package/src/meeting-info/utilv2.ts +2 -1
  93. package/src/meetings/index.ts +18 -0
  94. package/src/multistream/mediaRequestManager.ts +4 -1
  95. package/src/multistream/remoteMediaGroup.ts +19 -0
  96. package/src/multistream/remoteMediaManager.ts +101 -16
  97. package/src/multistream/sendSlotManager.ts +28 -0
  98. package/src/reachability/clusterReachability.ts +20 -5
  99. package/src/reachability/index.ts +24 -1
  100. package/src/reachability/request.ts +15 -11
  101. package/src/reachability/util.ts +21 -0
  102. package/src/reconnection-manager/index.ts +1 -1
  103. package/src/roap/index.ts +25 -3
  104. package/src/roap/request.ts +3 -3
  105. package/src/roap/turnDiscovery.ts +244 -78
  106. package/src/statsAnalyzer/index.ts +63 -27
  107. package/test/integration/spec/journey.js +14 -14
  108. package/test/integration/spec/space-meeting.js +1 -1
  109. package/test/unit/spec/interpretation/index.ts +39 -3
  110. package/test/unit/spec/locus-info/index.js +28 -19
  111. package/test/unit/spec/locus-info/mediaSharesUtils.ts +9 -0
  112. package/test/unit/spec/locus-info/selfUtils.js +42 -12
  113. package/test/unit/spec/media/MediaConnectionAwaiter.ts +344 -0
  114. package/test/unit/spec/media/index.ts +89 -78
  115. package/test/unit/spec/media/properties.ts +16 -70
  116. package/test/unit/spec/meeting/index.js +638 -139
  117. package/test/unit/spec/meeting/muteState.js +219 -67
  118. package/test/unit/spec/meeting/request.js +21 -0
  119. package/test/unit/spec/meeting/utils.js +6 -1
  120. package/test/unit/spec/meeting-info/utilv2.js +6 -0
  121. package/test/unit/spec/meetings/index.js +40 -20
  122. package/test/unit/spec/multistream/mediaRequestManager.ts +20 -2
  123. package/test/unit/spec/multistream/remoteMediaGroup.ts +79 -1
  124. package/test/unit/spec/multistream/remoteMediaManager.ts +199 -1
  125. package/test/unit/spec/multistream/sendSlotManager.ts +50 -18
  126. package/test/unit/spec/reachability/clusterReachability.ts +86 -22
  127. package/test/unit/spec/reachability/index.ts +197 -60
  128. package/test/unit/spec/reachability/request.js +15 -7
  129. package/test/unit/spec/reachability/util.ts +32 -2
  130. package/test/unit/spec/reconnection-manager/index.js +28 -0
  131. package/test/unit/spec/roap/index.ts +61 -6
  132. package/test/unit/spec/roap/turnDiscovery.ts +298 -16
  133. package/test/unit/spec/stats-analyzer/index.js +179 -0
  134. package/dist/member/member.types.d.ts +0 -11
  135. package/dist/member/member.types.js +0 -17
  136. package/dist/member/member.types.js.map +0 -1
  137. package/src/member/member.types.ts +0 -13
  138. /package/test/unit/spec/locus-info/{lib/selfConstant.js → selfConstant.js} +0 -0
@@ -28,6 +28,7 @@ var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy")
28
28
  var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
29
29
  var _remoteMedia = require("./remoteMedia");
30
30
  var _remoteMediaGroup = require("./remoteMediaGroup");
31
+ var _constants = require("../constants");
31
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
32
33
  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; } } /* eslint-disable valid-jsdoc */
33
34
  /* Predefined layouts: */ // An "all equal" grid, with size up to 3 x 3 = 9:
@@ -146,6 +147,7 @@ var DefaultConfiguration = exports.DefaultConfiguration = {
146
147
  };
147
148
  var Event = exports.Event = /*#__PURE__*/function (Event) {
148
149
  Event["AudioCreated"] = "AudioCreated";
150
+ Event["InterpretationAudioCreated"] = "InterpretationAudioCreated";
149
151
  Event["ScreenShareAudioCreated"] = "ScreenShareAudioCreated";
150
152
  Event["VideoLayoutChanged"] = "VideoLayoutChanged";
151
153
  return Event;
@@ -187,7 +189,10 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
187
189
  _this.receiveSlotManager = receiveSlotManager;
188
190
  _this.mediaRequestManagers = mediaRequestManagers;
189
191
  _this.media = {
190
- audio: undefined,
192
+ audio: {
193
+ main: undefined,
194
+ si: undefined
195
+ },
191
196
  video: {
192
197
  activeSpeakerGroups: {},
193
198
  memberPanes: {}
@@ -199,7 +204,10 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
199
204
  };
200
205
  _this.checkConfigValidity();
201
206
  _this.slots = {
202
- audio: [],
207
+ audio: {
208
+ main: [],
209
+ si: undefined
210
+ },
203
211
  screenShare: {
204
212
  audio: [],
205
213
  video: undefined
@@ -316,10 +324,13 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
316
324
  });
317
325
 
318
326
  // release all audio receive slots
319
- this.slots.audio.forEach(function (slot) {
327
+ this.slots.audio.main.forEach(function (slot) {
320
328
  return _this2.receiveSlotManager.releaseSlot(slot);
321
329
  });
322
- this.slots.audio.length = 0;
330
+ this.slots.audio.main.length = 0;
331
+ if (this.slots.audio.si) {
332
+ this.receiveSlotManager.releaseSlot(this.slots.audio.si);
333
+ }
323
334
 
324
335
  // release screen share slots
325
336
  this.slots.screenShare.audio.forEach(function (slot) {
@@ -500,50 +511,148 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
500
511
  this.mediaRequestManagers.video.commit();
501
512
  }
502
513
 
514
+ /**
515
+ * Sets which named media group need receiving
516
+ * @param {MediaType} mediaType of the stream
517
+ * @param {number} languageCode of the stream. If the languageId is 0, the named media group request will be canceled,
518
+ * and only receive the main audio stream.
519
+ * @returns {void}
520
+ */
521
+ }, {
522
+ key: "setReceiveNamedMediaGroup",
523
+ value: (function () {
524
+ var _setReceiveNamedMediaGroup = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(mediaType, languageId) {
525
+ var _this$config$namedMed;
526
+ var value;
527
+ return _regenerator.default.wrap(function _callee4$(_context4) {
528
+ while (1) switch (_context4.prev = _context4.next) {
529
+ case 0:
530
+ if (!(mediaType !== _internalMediaCore.MediaType.AudioMain)) {
531
+ _context4.next = 2;
532
+ break;
533
+ }
534
+ throw new Error("cannot set receive named media group which media type is ".concat(mediaType));
535
+ case 2:
536
+ value = languageId;
537
+ if (!(value === ((_this$config$namedMed = this.config.namedMediaGroup) === null || _this$config$namedMed === void 0 ? void 0 : _this$config$namedMed.value))) {
538
+ _context4.next = 5;
539
+ break;
540
+ }
541
+ return _context4.abrupt("return");
542
+ case 5:
543
+ this.config.namedMediaGroup = {
544
+ type: _constants.NAMED_MEDIA_GROUP_TYPE_AUDIO,
545
+ value: value
546
+ };
547
+ if (this.media.audio.si) {
548
+ _context4.next = 11;
549
+ break;
550
+ }
551
+ _context4.next = 9;
552
+ return this.createInterpretationAudioMedia(true);
553
+ case 9:
554
+ _context4.next = 12;
555
+ break;
556
+ case 11:
557
+ this.media.audio.si.setNamedMediaGroup(this.config.namedMediaGroup, true);
558
+ case 12:
559
+ case "end":
560
+ return _context4.stop();
561
+ }
562
+ }, _callee4, this);
563
+ }));
564
+ function setReceiveNamedMediaGroup(_x2, _x3) {
565
+ return _setReceiveNamedMediaGroup.apply(this, arguments);
566
+ }
567
+ return setReceiveNamedMediaGroup;
568
+ }()
503
569
  /**
504
570
  * Creates the audio slots
505
571
  */
572
+ )
506
573
  }, {
507
574
  key: "createAudioMedia",
508
575
  value: (function () {
509
- var _createAudioMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
576
+ var _createAudioMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
510
577
  var i, slot;
511
- return _regenerator.default.wrap(function _callee4$(_context4) {
512
- while (1) switch (_context4.prev = _context4.next) {
578
+ return _regenerator.default.wrap(function _callee5$(_context5) {
579
+ while (1) switch (_context5.prev = _context5.next) {
513
580
  case 0:
581
+ _context5.next = 2;
582
+ return this.createInterpretationAudioMedia(false);
583
+ case 2:
514
584
  i = 0;
515
- case 1:
585
+ case 3:
516
586
  if (!(i < this.config.audio.numOfActiveSpeakerStreams)) {
517
- _context4.next = 9;
587
+ _context5.next = 11;
518
588
  break;
519
589
  }
520
- _context4.next = 4;
590
+ _context5.next = 6;
521
591
  return this.receiveSlotManager.allocateSlot(_internalMediaCore.MediaType.AudioMain);
522
- case 4:
523
- slot = _context4.sent;
524
- this.slots.audio.push(slot);
525
592
  case 6:
593
+ slot = _context5.sent;
594
+ this.slots.audio.main.push(slot);
595
+ case 8:
526
596
  i += 1;
527
- _context4.next = 1;
597
+ _context5.next = 3;
528
598
  break;
529
- case 9:
530
- // create a remote media group
531
- this.media.audio = new _remoteMediaGroup.RemoteMediaGroup(this.mediaRequestManagers.audio, this.slots.audio, 255, true);
599
+ case 11:
600
+ // create a remote media group for main audio
601
+ this.media.audio.main = new _remoteMediaGroup.RemoteMediaGroup(this.mediaRequestManagers.audio, this.slots.audio.main, 255, true);
532
602
  this.emit({
533
603
  file: 'multistream/remoteMediaManager',
534
604
  function: 'createAudioMedia'
535
- }, Event.AudioCreated, this.media.audio);
536
- case 11:
605
+ }, Event.AudioCreated, this.media.audio.main);
606
+ case 13:
537
607
  case "end":
538
- return _context4.stop();
608
+ return _context5.stop();
539
609
  }
540
- }, _callee4, this);
610
+ }, _callee5, this);
541
611
  }));
542
612
  function createAudioMedia() {
543
613
  return _createAudioMedia.apply(this, arguments);
544
614
  }
545
615
  return createAudioMedia;
546
616
  }()
617
+ /**
618
+ * Creates the audio slots for named media
619
+ */
620
+ )
621
+ }, {
622
+ key: "createInterpretationAudioMedia",
623
+ value: (function () {
624
+ var _createInterpretationAudioMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(commitRequest) {
625
+ var _this$config$namedMed2, _this$config$namedMed3;
626
+ return _regenerator.default.wrap(function _callee6$(_context6) {
627
+ while (1) switch (_context6.prev = _context6.next) {
628
+ case 0:
629
+ if (!(((_this$config$namedMed2 = this.config.namedMediaGroup) === null || _this$config$namedMed2 === void 0 ? void 0 : _this$config$namedMed2.type) === _constants.NAMED_MEDIA_GROUP_TYPE_AUDIO && (_this$config$namedMed3 = this.config.namedMediaGroup) !== null && _this$config$namedMed3 !== void 0 && _this$config$namedMed3.value)) {
630
+ _context6.next = 6;
631
+ break;
632
+ }
633
+ _context6.next = 3;
634
+ return this.receiveSlotManager.allocateSlot(_internalMediaCore.MediaType.AudioMain);
635
+ case 3:
636
+ this.slots.audio.si = _context6.sent;
637
+ // create a remote media group for si audio
638
+ this.media.audio.si = new _remoteMediaGroup.RemoteMediaGroup(this.mediaRequestManagers.audio, [this.slots.audio.si], 255, commitRequest, {
639
+ namedMediaGroup: this.config.namedMediaGroup
640
+ });
641
+ this.emit({
642
+ file: 'multistream/remoteMediaManager',
643
+ function: 'createInterpretationAudioMedia'
644
+ }, Event.InterpretationAudioCreated, this.media.audio.si);
645
+ case 6:
646
+ case "end":
647
+ return _context6.stop();
648
+ }
649
+ }, _callee6, this);
650
+ }));
651
+ function createInterpretationAudioMedia(_x4) {
652
+ return _createInterpretationAudioMedia.apply(this, arguments);
653
+ }
654
+ return createInterpretationAudioMedia;
655
+ }()
547
656
  /**
548
657
  * Creates receive slots required for receiving screen share audio and video
549
658
  */
@@ -551,25 +660,25 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
551
660
  }, {
552
661
  key: "createScreenShareReceiveSlots",
553
662
  value: (function () {
554
- var _createScreenShareReceiveSlots = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
663
+ var _createScreenShareReceiveSlots = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
555
664
  var i, slot, isAnyLayoutContainingScreenShareVideo;
556
- return _regenerator.default.wrap(function _callee5$(_context5) {
557
- while (1) switch (_context5.prev = _context5.next) {
665
+ return _regenerator.default.wrap(function _callee7$(_context7) {
666
+ while (1) switch (_context7.prev = _context7.next) {
558
667
  case 0:
559
668
  i = 0;
560
669
  case 1:
561
670
  if (!(i < this.config.audio.numOfScreenShareStreams)) {
562
- _context5.next = 9;
671
+ _context7.next = 9;
563
672
  break;
564
673
  }
565
- _context5.next = 4;
674
+ _context7.next = 4;
566
675
  return this.receiveSlotManager.allocateSlot(_internalMediaCore.MediaType.AudioSlides);
567
676
  case 4:
568
- slot = _context5.sent;
677
+ slot = _context7.sent;
569
678
  this.slots.screenShare.audio.push(slot);
570
679
  case 6:
571
680
  i += 1;
572
- _context5.next = 1;
681
+ _context7.next = 1;
573
682
  break;
574
683
  case 9:
575
684
  // video
@@ -577,18 +686,18 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
577
686
  return !!layout.screenShareVideo;
578
687
  });
579
688
  if (!isAnyLayoutContainingScreenShareVideo) {
580
- _context5.next = 14;
689
+ _context7.next = 14;
581
690
  break;
582
691
  }
583
- _context5.next = 13;
692
+ _context7.next = 13;
584
693
  return this.receiveSlotManager.allocateSlot(_internalMediaCore.MediaType.VideoSlides);
585
694
  case 13:
586
- this.slots.screenShare.video = _context5.sent;
695
+ this.slots.screenShare.video = _context7.sent;
587
696
  case 14:
588
697
  case "end":
589
- return _context5.stop();
698
+ return _context7.stop();
590
699
  }
591
- }, _callee5, this);
700
+ }, _callee7, this);
592
701
  }));
593
702
  function createScreenShareReceiveSlots() {
594
703
  return _createScreenShareReceiveSlots.apply(this, arguments);
@@ -724,37 +833,37 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
724
833
  }, {
725
834
  key: "refillRequiredSlotsIfNeeded",
726
835
  value: (function () {
727
- var _refillRequiredSlotsIfNeeded = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
836
+ var _refillRequiredSlotsIfNeeded = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
728
837
  var requiredNumSlots, totalNumSlots, numSlotsToCreate;
729
- return _regenerator.default.wrap(function _callee6$(_context6) {
730
- while (1) switch (_context6.prev = _context6.next) {
838
+ return _regenerator.default.wrap(function _callee8$(_context8) {
839
+ while (1) switch (_context8.prev = _context8.next) {
731
840
  case 0:
732
841
  requiredNumSlots = this.getRequiredNumVideoSlotsForLayout(this.currentLayout);
733
842
  totalNumSlots = this.slots.video.unused.length + this.slots.video.activeSpeaker.length + this.slots.video.receiverSelected.length;
734
843
  if (!(totalNumSlots < requiredNumSlots)) {
735
- _context6.next = 13;
844
+ _context8.next = 13;
736
845
  break;
737
846
  }
738
847
  numSlotsToCreate = requiredNumSlots - totalNumSlots;
739
848
  case 4:
740
849
  if (!(numSlotsToCreate > 0)) {
741
- _context6.next = 13;
850
+ _context8.next = 13;
742
851
  break;
743
852
  }
744
- _context6.t0 = this.slots.video.unused;
745
- _context6.next = 8;
853
+ _context8.t0 = this.slots.video.unused;
854
+ _context8.next = 8;
746
855
  return this.receiveSlotManager.allocateSlot(_internalMediaCore.MediaType.VideoMain);
747
856
  case 8:
748
- _context6.t1 = _context6.sent;
749
- _context6.t0.push.call(_context6.t0, _context6.t1);
857
+ _context8.t1 = _context8.sent;
858
+ _context8.t0.push.call(_context8.t0, _context8.t1);
750
859
  numSlotsToCreate -= 1;
751
- _context6.next = 4;
860
+ _context8.next = 4;
752
861
  break;
753
862
  case 13:
754
863
  case "end":
755
- return _context6.stop();
864
+ return _context8.stop();
756
865
  }
757
- }, _callee6, this);
866
+ }, _callee8, this);
758
867
  }));
759
868
  function refillRequiredSlotsIfNeeded() {
760
869
  return _refillRequiredSlotsIfNeeded.apply(this, arguments);
@@ -796,7 +905,7 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
796
905
  }, {
797
906
  key: "logMainAudioReceiveSlots",
798
907
  value: function logMainAudioReceiveSlots() {
799
- _loggerProxy.default.logger.log("RemoteMediaManager#logMainAudioReceiveSlots --> MAIN AUDIO receive slots: ".concat(this.slots.audio.map(function (slot) {
908
+ _loggerProxy.default.logger.log("RemoteMediaManager#logMainAudioReceiveSlots --> MAIN AUDIO receive slots: ".concat(this.slots.audio.main.map(function (slot) {
800
909
  return slot.logString;
801
910
  }).join(', ')));
802
911
  }
@@ -837,9 +946,9 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
837
946
  }, {
838
947
  key: "updateVideoReceiveSlots",
839
948
  value: (function () {
840
- var _updateVideoReceiveSlots = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
841
- return _regenerator.default.wrap(function _callee7$(_context7) {
842
- while (1) switch (_context7.prev = _context7.next) {
949
+ var _updateVideoReceiveSlots = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
950
+ return _regenerator.default.wrap(function _callee9$(_context9) {
951
+ while (1) switch (_context9.prev = _context9.next) {
843
952
  case 0:
844
953
  // move all active speaker slots to "unused"
845
954
  this.trimActiveSpeakerSlots();
@@ -848,7 +957,7 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
848
957
  this.trimReceiverSelectedSlots();
849
958
 
850
959
  // ensure we have enough total slots for current layout
851
- _context7.next = 4;
960
+ _context9.next = 4;
852
961
  return this.refillRequiredSlotsIfNeeded();
853
962
  case 4:
854
963
  // allocate the slots to the right panes / pane groups
@@ -868,9 +977,9 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
868
977
  this.releaseUnusedVideoSlots();
869
978
  case 9:
870
979
  case "end":
871
- return _context7.stop();
980
+ return _context9.stop();
872
981
  }
873
- }, _callee7, this);
982
+ }, _callee9, this);
874
983
  }));
875
984
  function updateVideoReceiveSlots() {
876
985
  return _updateVideoReceiveSlots.apply(this, arguments);
@@ -988,8 +1097,13 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
988
1097
  screenShareAudio = options.screenShareAudio,
989
1098
  screenShareVideo = options.screenShareVideo,
990
1099
  commit = options.commit;
991
- if (audio && this.media.audio) {
992
- this.media.audio.stop(commit);
1100
+ if (audio) {
1101
+ if (this.media.audio.main) {
1102
+ this.media.audio.main.stop(commit);
1103
+ }
1104
+ if (this.media.audio.si) {
1105
+ this.media.audio.si.stop(commit);
1106
+ }
993
1107
  }
994
1108
  if (video) {
995
1109
  (0, _values.default)(this.media.video.activeSpeakerGroups).forEach(function (remoteMediaGroup) {
@@ -1061,14 +1175,14 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
1061
1175
  }, {
1062
1176
  key: "addMemberVideoPane",
1063
1177
  value: (function () {
1064
- var _addMemberVideoPane = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(newPane) {
1178
+ var _addMemberVideoPane = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(newPane) {
1065
1179
  var _this$currentLayout5;
1066
1180
  var receiveSlot, remoteMedia;
1067
- return _regenerator.default.wrap(function _callee8$(_context8) {
1068
- while (1) switch (_context8.prev = _context8.next) {
1181
+ return _regenerator.default.wrap(function _callee10$(_context10) {
1182
+ while (1) switch (_context10.prev = _context10.next) {
1069
1183
  case 0:
1070
1184
  if (this.currentLayout) {
1071
- _context8.next = 2;
1185
+ _context10.next = 2;
1072
1186
  break;
1073
1187
  }
1074
1188
  throw new Error('There is no current layout selected, call start() first');
@@ -1077,16 +1191,16 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
1077
1191
  this.currentLayout.memberVideoPanes = [];
1078
1192
  }
1079
1193
  if (!(newPane.id in this.currentLayout.memberVideoPanes)) {
1080
- _context8.next = 5;
1194
+ _context10.next = 5;
1081
1195
  break;
1082
1196
  }
1083
1197
  throw new Error("duplicate pane id ".concat(newPane.id, " - this pane already exists in current layout's memberVideoPanes"));
1084
1198
  case 5:
1085
1199
  this.currentLayout.memberVideoPanes.push(newPane);
1086
- _context8.next = 8;
1200
+ _context10.next = 8;
1087
1201
  return this.receiveSlotManager.allocateSlot(_internalMediaCore.MediaType.VideoMain);
1088
1202
  case 8:
1089
- receiveSlot = _context8.sent;
1203
+ receiveSlot = _context10.sent;
1090
1204
  this.slots.video.receiverSelected.push(receiveSlot);
1091
1205
  remoteMedia = new _remoteMedia.RemoteMedia(receiveSlot, this.mediaRequestManagers.video, {
1092
1206
  resolution: newPane.size
@@ -1095,14 +1209,14 @@ var RemoteMediaManager = exports.RemoteMediaManager = /*#__PURE__*/function (_Ev
1095
1209
  remoteMedia.sendMediaRequest(newPane.csi, true);
1096
1210
  }
1097
1211
  this.media.video.memberPanes[newPane.id] = remoteMedia;
1098
- return _context8.abrupt("return", remoteMedia);
1212
+ return _context10.abrupt("return", remoteMedia);
1099
1213
  case 14:
1100
1214
  case "end":
1101
- return _context8.stop();
1215
+ return _context10.stop();
1102
1216
  }
1103
- }, _callee8, this);
1217
+ }, _callee10, this);
1104
1218
  }));
1105
- function addMemberVideoPane(_x2) {
1219
+ function addMemberVideoPane(_x5) {
1106
1220
  return _addMemberVideoPane.apply(this, arguments);
1107
1221
  }
1108
1222
  return addMemberVideoPane;