@webex/plugin-meetings 3.0.0-beta.18 → 3.0.0-beta.19

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.
@@ -109,7 +109,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
109
109
  parseRoster: function parseRoster(locus) {
110
110
  this.members.locusParticipantsUpdate(locus);
111
111
  },
112
- version: "3.0.0-beta.18"
112
+ version: "3.0.0-beta.19"
113
113
  });
114
114
  var _default = Breakout;
115
115
  exports.default = _default;
@@ -219,7 +219,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
219
219
  });
220
220
  this.breakouts.set((0, _values.default)(breakouts));
221
221
  },
222
- version: "3.0.0-beta.18"
222
+ version: "3.0.0-beta.19"
223
223
  });
224
224
  var _default = Breakouts;
225
225
  exports.default = _default;
@@ -102,7 +102,8 @@ var MEDIA_UPDATE_TYPE = {
102
102
  ALL: 'ALL',
103
103
  AUDIO: 'AUDIO',
104
104
  VIDEO: 'VIDEO',
105
- SHARE: 'SHARE'
105
+ SHARE: 'SHARE',
106
+ LAMBDA: 'LAMBDA'
106
107
  };
107
108
 
108
109
  /**
@@ -992,6 +993,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
992
993
  case MEDIA_UPDATE_TYPE.SHARE:
993
994
  _this.updateShare(_options2).then(pendingPromiseResolve, pendingPromiseReject);
994
995
  break;
996
+ case MEDIA_UPDATE_TYPE.LAMBDA:
997
+ _options2.lambda().then(pendingPromiseResolve, pendingPromiseReject);
998
+ break;
995
999
  default:
996
1000
  _loggerProxy.default.logger.error("Peer-connection-manager:index#processNextQueuedMediaUpdate --> unsupported media update type ".concat(mediaUpdateType, " found in the queue"));
997
1001
  break;
@@ -4891,6 +4895,10 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4891
4895
  key: "enqueueMediaUpdate",
4892
4896
  value: function enqueueMediaUpdate(mediaUpdateType, options) {
4893
4897
  var _this42 = this;
4898
+ if (mediaUpdateType === MEDIA_UPDATE_TYPE.LAMBDA && typeof (options === null || options === void 0 ? void 0 : options.lambda) !== 'function') {
4899
+ return _promise.default.reject(new Error('lambda must be specified when enqueuing MEDIA_UPDATE_TYPE.LAMBDA'));
4900
+ }
4901
+ var canUpdateMediaNow = this.canUpdateMedia();
4894
4902
  return new _promise.default(function (resolve, reject) {
4895
4903
  var queueItem = {
4896
4904
  pendingPromiseResolve: resolve,
@@ -4900,6 +4908,9 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4900
4908
  };
4901
4909
  _loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
4902
4910
  _this42.queuedMediaUpdates.push(queueItem);
4911
+ if (canUpdateMediaNow) {
4912
+ _this42.processNextQueuedMediaUpdate();
4913
+ }
4903
4914
  });
4904
4915
  }
4905
4916
 
@@ -4969,15 +4980,21 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
4969
4980
  // if not, ensure it's called after (now it's called after roap message is sent out, but we're not
4970
4981
  // waiting for sendRoapMediaRequest() to be resolved)
4971
4982
  .then(function () {
4972
- return _this43.checkForStopShare(mediaSettings.sendShare, previousSendShareStatus);
4973
- }).then(function (startShare) {
4974
- // This is a special case if we do an /floor grant followed by /media
4975
- // we actually get a OFFER from the server and a GLAR condition happens
4976
- if (startShare) {
4977
- // We are assuming that the clients are connected when doing an update
4978
- return _this43.requestScreenShareFloor();
4979
- }
4980
- return _promise.default.resolve();
4983
+ return _this43.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.LAMBDA, {
4984
+ lambda: function lambda() {
4985
+ return _promise.default.resolve().then(function () {
4986
+ return _this43.checkForStopShare(mediaSettings.sendShare, previousSendShareStatus);
4987
+ }).then(function (startShare) {
4988
+ // This is a special case if we do an /floor grant followed by /media
4989
+ // we actually get a OFFER from the server and a GLAR condition happens
4990
+ if (startShare) {
4991
+ // We are assuming that the clients are connected when doing an update
4992
+ return _this43.requestScreenShareFloor();
4993
+ }
4994
+ return _promise.default.resolve();
4995
+ });
4996
+ }
4997
+ });
4981
4998
  });
4982
4999
  });
4983
5000
  }
@@ -5202,10 +5219,31 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5202
5219
  remoteQualityLevel: _this46.mediaProperties.remoteQualityLevel
5203
5220
  }
5204
5221
  }).then(function () {
5205
- if (startShare) {
5206
- return _this46.requestScreenShareFloor();
5207
- }
5208
- return _promise.default.resolve();
5222
+ return _this46.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.LAMBDA, {
5223
+ lambda: function () {
5224
+ var _lambda = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
5225
+ return _regenerator.default.wrap(function _callee8$(_context8) {
5226
+ while (1) switch (_context8.prev = _context8.next) {
5227
+ case 0:
5228
+ if (!startShare) {
5229
+ _context8.next = 2;
5230
+ break;
5231
+ }
5232
+ return _context8.abrupt("return", _this46.requestScreenShareFloor());
5233
+ case 2:
5234
+ return _context8.abrupt("return", undefined);
5235
+ case 3:
5236
+ case "end":
5237
+ return _context8.stop();
5238
+ }
5239
+ }, _callee8);
5240
+ }));
5241
+ function lambda() {
5242
+ return _lambda.apply(this, arguments);
5243
+ }
5244
+ return lambda;
5245
+ }()
5246
+ });
5209
5247
  });
5210
5248
  }).then(function () {
5211
5249
  _this46.mediaProperties.mediaDirection.sendShare = sendShare;
@@ -5806,25 +5844,25 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
5806
5844
  // open bug link: https://bugs.chromium.org/p/chromium/issues/detail?id=943469
5807
5845
  if (isBrowser('chrome') && this.mediaProperties.videoTrack) _media.default.stopTracks(this.mediaProperties.videoTrack);
5808
5846
  return this.getMediaStreams(mediaDirection, _constants.VIDEO_RESOLUTIONS[level]).then( /*#__PURE__*/function () {
5809
- var _ref16 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(_ref15) {
5847
+ var _ref16 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(_ref15) {
5810
5848
  var _ref17, localStream;
5811
- return _regenerator.default.wrap(function _callee8$(_context8) {
5812
- while (1) switch (_context8.prev = _context8.next) {
5849
+ return _regenerator.default.wrap(function _callee9$(_context9) {
5850
+ while (1) switch (_context9.prev = _context9.next) {
5813
5851
  case 0:
5814
5852
  _ref17 = (0, _slicedToArray2.default)(_ref15, 1), localStream = _ref17[0];
5815
- _context8.next = 3;
5853
+ _context9.next = 3;
5816
5854
  return _this55.updateVideo({
5817
5855
  sendVideo: true,
5818
5856
  receiveVideo: true,
5819
5857
  stream: localStream
5820
5858
  });
5821
5859
  case 3:
5822
- return _context8.abrupt("return", localStream);
5860
+ return _context9.abrupt("return", localStream);
5823
5861
  case 4:
5824
5862
  case "end":
5825
- return _context8.stop();
5863
+ return _context9.stop();
5826
5864
  }
5827
- }, _callee8);
5865
+ }, _callee9);
5828
5866
  }));
5829
5867
  return function (_x5) {
5830
5868
  return _ref16.apply(this, arguments);
@@ -6308,29 +6346,29 @@ var Meeting = /*#__PURE__*/function (_StatelessWebexPlugin) {
6308
6346
  }, {
6309
6347
  key: "internal_enableBNR",
6310
6348
  value: function () {
6311
- var _internal_enableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(audioTrack) {
6349
+ var _internal_enableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(audioTrack) {
6312
6350
  var bnrAudioTrack;
6313
- return _regenerator.default.wrap(function _callee9$(_context9) {
6314
- while (1) switch (_context9.prev = _context9.next) {
6351
+ return _regenerator.default.wrap(function _callee10$(_context10) {
6352
+ while (1) switch (_context10.prev = _context10.next) {
6315
6353
  case 0:
6316
- _context9.prev = 0;
6354
+ _context10.prev = 0;
6317
6355
  _loggerProxy.default.logger.info('Meeting:index#internal_enableBNR. Internal enable BNR called');
6318
- _context9.next = 4;
6356
+ _context10.next = 4;
6319
6357
  return _internalMediaCore.Media.Effects.BNR.enableBNR(audioTrack);
6320
6358
  case 4:
6321
- bnrAudioTrack = _context9.sent;
6359
+ bnrAudioTrack = _context10.sent;
6322
6360
  _loggerProxy.default.logger.info('Meeting:index#internal_enableBNR. BNR enabled track obtained from WebRTC & returned as stream');
6323
- return _context9.abrupt("return", bnrAudioTrack);
6361
+ return _context10.abrupt("return", bnrAudioTrack);
6324
6362
  case 9:
6325
- _context9.prev = 9;
6326
- _context9.t0 = _context9["catch"](0);
6327
- _loggerProxy.default.logger.error('Meeting:index#internal_enableBNR.', _context9.t0);
6328
- throw _context9.t0;
6363
+ _context10.prev = 9;
6364
+ _context10.t0 = _context10["catch"](0);
6365
+ _loggerProxy.default.logger.error('Meeting:index#internal_enableBNR.', _context10.t0);
6366
+ throw _context10.t0;
6329
6367
  case 13:
6330
6368
  case "end":
6331
- return _context9.stop();
6369
+ return _context10.stop();
6332
6370
  }
6333
- }, _callee9, null, [[0, 9]]);
6371
+ }, _callee10, null, [[0, 9]]);
6334
6372
  }));
6335
6373
  function internal_enableBNR(_x6) {
6336
6374
  return _internal_enableBNR.apply(this, arguments);