@webex/plugin-meetings 3.6.0-next.1 → 3.6.0-next.10
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/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/webinar-registration-error.js +50 -0
- package/dist/common/errors/webinar-registration-error.js.map +1 -0
- package/dist/constants.js +7 -0
- package/dist/constants.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/parser.js +5 -1
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/meeting/index.js +146 -99
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +5 -2
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +68 -17
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +2 -1
- package/dist/meetings/index.js.map +1 -1
- package/dist/metrics/constants.js +2 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/remoteMedia.js +4 -0
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/types/common/errors/webinar-registration-error.d.ts +14 -0
- package/dist/types/constants.d.ts +6 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/meeting/muteState.d.ts +2 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +23 -0
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/multistream/remoteMedia.d.ts +1 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +21 -21
- package/src/common/errors/webinar-registration-error.ts +27 -0
- package/src/constants.ts +6 -0
- package/src/index.ts +2 -0
- package/src/locus-info/parser.ts +8 -1
- package/src/meeting/index.ts +40 -11
- package/src/meeting/muteState.ts +6 -2
- package/src/meeting-info/meeting-info-v2.ts +51 -0
- package/src/meetings/index.ts +3 -1
- package/src/metrics/constants.ts +1 -0
- package/src/multistream/remoteMedia.ts +5 -0
- package/test/unit/spec/locus-info/index.js +29 -0
- package/test/unit/spec/meeting/index.js +60 -1
- package/test/unit/spec/meeting/muteState.js +8 -4
- package/test/unit/spec/meeting-info/meetinginfov2.js +37 -0
- package/test/unit/spec/multistream/remoteMedia.ts +16 -2
package/dist/meeting/index.js
CHANGED
|
@@ -86,6 +86,7 @@ var _controlsOptionsManager = _interopRequireDefault(require("../controls-option
|
|
|
86
86
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
87
87
|
var _locusMediaRequest = require("./locusMediaRequest");
|
|
88
88
|
var _connectionStateHandler = require("./connectionStateHandler");
|
|
89
|
+
var _webinarRegistrationError = _interopRequireDefault(require("../common/errors/webinar-registration-error"));
|
|
89
90
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
90
91
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
91
92
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -1218,31 +1219,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1218
1219
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
1219
1220
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1220
1221
|
case 0:
|
|
1222
|
+
_loggerProxy.default.logger.info("Meeting:index#handleShareAudioStreamEnded --> audio share stream ended");
|
|
1223
|
+
// current share audio stream has ended, but there might be an active
|
|
1224
|
+
// share video stream. we only leave from wireless share if share has
|
|
1225
|
+
// completely ended, which means no share audio or video streams active
|
|
1221
1226
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareVideoStream)) {
|
|
1222
|
-
_context2.next =
|
|
1227
|
+
_context2.next = 5;
|
|
1223
1228
|
break;
|
|
1224
1229
|
}
|
|
1225
1230
|
_this.leave({
|
|
1226
1231
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1227
1232
|
});
|
|
1228
|
-
_context2.next =
|
|
1233
|
+
_context2.next = 13;
|
|
1229
1234
|
break;
|
|
1230
|
-
case
|
|
1231
|
-
_context2.prev =
|
|
1232
|
-
_context2.next =
|
|
1235
|
+
case 5:
|
|
1236
|
+
_context2.prev = 5;
|
|
1237
|
+
_context2.next = 8;
|
|
1233
1238
|
return _this.unpublishStreams([_this.mediaProperties.shareAudioStream]);
|
|
1234
|
-
case
|
|
1235
|
-
_context2.next =
|
|
1239
|
+
case 8:
|
|
1240
|
+
_context2.next = 13;
|
|
1236
1241
|
break;
|
|
1237
|
-
case
|
|
1238
|
-
_context2.prev =
|
|
1239
|
-
_context2.t0 = _context2["catch"](
|
|
1242
|
+
case 10:
|
|
1243
|
+
_context2.prev = 10;
|
|
1244
|
+
_context2.t0 = _context2["catch"](5);
|
|
1240
1245
|
_loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ', _context2.t0);
|
|
1241
|
-
case
|
|
1246
|
+
case 13:
|
|
1242
1247
|
case "end":
|
|
1243
1248
|
return _context2.stop();
|
|
1244
1249
|
}
|
|
1245
|
-
}, _callee2, null, [[
|
|
1250
|
+
}, _callee2, null, [[5, 10]]);
|
|
1246
1251
|
})));
|
|
1247
1252
|
/**
|
|
1248
1253
|
* Functionality for when a share video is muted or unmuted.
|
|
@@ -1270,33 +1275,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1270
1275
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
1271
1276
|
while (1) switch (_context3.prev = _context3.next) {
|
|
1272
1277
|
case 0:
|
|
1278
|
+
_loggerProxy.default.logger.info("Meeting:index#handleShareVideoStreamEnded --> video share stream ended");
|
|
1279
|
+
// current share video stream has ended, but there might be an active
|
|
1280
|
+
// share audio stream. we only leave from wireless share if share has
|
|
1281
|
+
// completely ended, which means no share audio or video streams active
|
|
1273
1282
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareAudioStream)) {
|
|
1274
|
-
_context3.next =
|
|
1283
|
+
_context3.next = 5;
|
|
1275
1284
|
break;
|
|
1276
1285
|
}
|
|
1277
1286
|
_this.leave({
|
|
1278
1287
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1279
1288
|
});
|
|
1280
|
-
_context3.next =
|
|
1289
|
+
_context3.next = 13;
|
|
1281
1290
|
break;
|
|
1282
|
-
case
|
|
1283
|
-
_context3.prev =
|
|
1284
|
-
_context3.next =
|
|
1291
|
+
case 5:
|
|
1292
|
+
_context3.prev = 5;
|
|
1293
|
+
_context3.next = 8;
|
|
1285
1294
|
return _this.unpublishStreams([_this.mediaProperties.shareVideoStream]);
|
|
1286
|
-
case
|
|
1287
|
-
_context3.next =
|
|
1295
|
+
case 8:
|
|
1296
|
+
_context3.next = 13;
|
|
1288
1297
|
break;
|
|
1289
|
-
case
|
|
1290
|
-
_context3.prev =
|
|
1291
|
-
_context3.t0 = _context3["catch"](
|
|
1298
|
+
case 10:
|
|
1299
|
+
_context3.prev = 10;
|
|
1300
|
+
_context3.t0 = _context3["catch"](5);
|
|
1292
1301
|
_loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ', _context3.t0);
|
|
1293
|
-
case 12:
|
|
1294
|
-
_this.triggerStoppedSharing();
|
|
1295
1302
|
case 13:
|
|
1303
|
+
_this.triggerStoppedSharing();
|
|
1304
|
+
case 14:
|
|
1296
1305
|
case "end":
|
|
1297
1306
|
return _context3.stop();
|
|
1298
1307
|
}
|
|
1299
|
-
}, _callee3, null, [[
|
|
1308
|
+
}, _callee3, null, [[5, 10]]);
|
|
1300
1309
|
})));
|
|
1301
1310
|
/**
|
|
1302
1311
|
* Emits meeting:stoppedSharingLocal
|
|
@@ -2413,8 +2422,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2413
2422
|
}
|
|
2414
2423
|
throw new _permission.default();
|
|
2415
2424
|
case 21:
|
|
2425
|
+
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2WebinarRegistrationError)) {
|
|
2426
|
+
_context5.next = 28;
|
|
2427
|
+
break;
|
|
2428
|
+
}
|
|
2429
|
+
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WEBINAR_REGISTRATION;
|
|
2430
|
+
this.meetingInfoFailureCode = _context5.t0.wbxAppApiCode;
|
|
2431
|
+
if (_context5.t0.meetingInfo) {
|
|
2432
|
+
this.meetingInfo = _context5.t0.meetingInfo;
|
|
2433
|
+
}
|
|
2434
|
+
throw new _webinarRegistrationError.default();
|
|
2435
|
+
case 28:
|
|
2416
2436
|
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2PasswordError)) {
|
|
2417
|
-
_context5.next =
|
|
2437
|
+
_context5.next = 40;
|
|
2418
2438
|
break;
|
|
2419
2439
|
}
|
|
2420
2440
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -2429,16 +2449,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2429
2449
|
this.passwordStatus = _constants.PASSWORD_STATUS.REQUIRED;
|
|
2430
2450
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.WRONG_PASSWORD;
|
|
2431
2451
|
if (!this.requiredCaptcha) {
|
|
2432
|
-
_context5.next =
|
|
2452
|
+
_context5.next = 37;
|
|
2433
2453
|
break;
|
|
2434
2454
|
}
|
|
2435
|
-
_context5.next =
|
|
2455
|
+
_context5.next = 37;
|
|
2436
2456
|
return this.refreshCaptcha();
|
|
2437
|
-
case
|
|
2457
|
+
case 37:
|
|
2438
2458
|
throw new _passwordError.default();
|
|
2439
|
-
case
|
|
2459
|
+
case 40:
|
|
2440
2460
|
if (!(_context5.t0 instanceof _meetingInfoV.MeetingInfoV2CaptchaError)) {
|
|
2441
|
-
_context5.next =
|
|
2461
|
+
_context5.next = 49;
|
|
2442
2462
|
break;
|
|
2443
2463
|
}
|
|
2444
2464
|
_loggerProxy.default.logger.info( // @ts-ignore
|
|
@@ -2450,10 +2470,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2450
2470
|
}
|
|
2451
2471
|
this.requiredCaptcha = _context5.t0.captchaInfo;
|
|
2452
2472
|
throw new _captchaError.default();
|
|
2453
|
-
case
|
|
2473
|
+
case 49:
|
|
2454
2474
|
this.meetingInfoFailureReason = _constants.MEETING_INFO_FAILURE_REASON.OTHER;
|
|
2455
2475
|
throw _context5.t0;
|
|
2456
|
-
case
|
|
2476
|
+
case 51:
|
|
2457
2477
|
case "end":
|
|
2458
2478
|
return _context5.stop();
|
|
2459
2479
|
}
|
|
@@ -3288,8 +3308,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3288
3308
|
else if ((previousContentShare && contentShare.disposition === _constants.FLOOR_ACTION.RELEASED || contentShare.disposition === null) && (previousWhiteboardShare && whiteboardShare.disposition === _constants.FLOOR_ACTION.RELEASED || whiteboardShare.disposition === null)) {
|
|
3289
3309
|
newShareStatus = _constants.SHARE_STATUS.NO_SHARE;
|
|
3290
3310
|
}
|
|
3311
|
+
_loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this14.shareStatus, " newShareStatus=").concat(newShareStatus));
|
|
3291
3312
|
if (!(newShareStatus !== _this14.shareStatus)) {
|
|
3292
|
-
_context8.next =
|
|
3313
|
+
_context8.next = 46;
|
|
3293
3314
|
break;
|
|
3294
3315
|
}
|
|
3295
3316
|
oldShareStatus = _this14.shareStatus; // update our state before we send out any notifications
|
|
@@ -3297,37 +3318,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3297
3318
|
|
|
3298
3319
|
// send out "stop" notifications for the old state
|
|
3299
3320
|
_context8.t0 = oldShareStatus;
|
|
3300
|
-
_context8.next = _context8.t0 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3321
|
+
_context8.next = _context8.t0 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 15 : _context8.t0 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 17 : _context8.t0 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 19 : _context8.t0 === _constants.SHARE_STATUS.NO_SHARE ? 21 : 22;
|
|
3301
3322
|
break;
|
|
3302
|
-
case
|
|
3323
|
+
case 15:
|
|
3303
3324
|
_triggerProxy.default.trigger(_this14, {
|
|
3304
3325
|
file: 'meetings/index',
|
|
3305
3326
|
function: 'remoteShare'
|
|
3306
3327
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
|
|
3307
|
-
return _context8.abrupt("break",
|
|
3308
|
-
case
|
|
3328
|
+
return _context8.abrupt("break", 23);
|
|
3329
|
+
case 17:
|
|
3309
3330
|
_triggerProxy.default.trigger(_this14, {
|
|
3310
3331
|
file: 'meeting/index',
|
|
3311
3332
|
function: 'localShare'
|
|
3312
3333
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
3313
3334
|
reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
|
|
3314
3335
|
});
|
|
3315
|
-
return _context8.abrupt("break",
|
|
3316
|
-
case
|
|
3336
|
+
return _context8.abrupt("break", 23);
|
|
3337
|
+
case 19:
|
|
3317
3338
|
_triggerProxy.default.trigger(_this14, {
|
|
3318
3339
|
file: 'meeting/index',
|
|
3319
3340
|
function: 'stopWhiteboardShare'
|
|
3320
3341
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_WHITEBOARD);
|
|
3321
|
-
return _context8.abrupt("break",
|
|
3322
|
-
case 20:
|
|
3323
|
-
return _context8.abrupt("break", 22);
|
|
3342
|
+
return _context8.abrupt("break", 23);
|
|
3324
3343
|
case 21:
|
|
3325
|
-
return _context8.abrupt("break",
|
|
3344
|
+
return _context8.abrupt("break", 23);
|
|
3326
3345
|
case 22:
|
|
3346
|
+
return _context8.abrupt("break", 23);
|
|
3347
|
+
case 23:
|
|
3327
3348
|
_context8.t1 = newShareStatus;
|
|
3328
|
-
_context8.next = _context8.t1 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3349
|
+
_context8.next = _context8.t1 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ? 26 : _context8.t1 === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE ? 35 : _context8.t1 === _constants.SHARE_STATUS.WHITEBOARD_SHARE_ACTIVE ? 38 : _context8.t1 === _constants.SHARE_STATUS.NO_SHARE ? 41 : 42;
|
|
3329
3350
|
break;
|
|
3330
|
-
case
|
|
3351
|
+
case 26:
|
|
3331
3352
|
sendStartedSharingRemote = function sendStartedSharingRemote() {
|
|
3332
3353
|
_this14.remoteShareInstanceId = contentShare.shareInstanceId;
|
|
3333
3354
|
_triggerProxy.default.trigger(_this14, {
|
|
@@ -3341,20 +3362,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3341
3362
|
resourceType: contentShare.resourceType
|
|
3342
3363
|
});
|
|
3343
3364
|
};
|
|
3344
|
-
_context8.prev =
|
|
3365
|
+
_context8.prev = 27;
|
|
3345
3366
|
if (!((_this14$mediaProperti = _this14.mediaProperties.mediaDirection) !== null && _this14$mediaProperti !== void 0 && _this14$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
|
|
3346
|
-
_context8.next =
|
|
3367
|
+
_context8.next = 31;
|
|
3347
3368
|
break;
|
|
3348
3369
|
}
|
|
3349
|
-
_context8.next =
|
|
3370
|
+
_context8.next = 31;
|
|
3350
3371
|
return _this14.unpublishStreams([_this14.mediaProperties.shareVideoStream, _this14.mediaProperties.shareAudioStream]);
|
|
3351
|
-
case
|
|
3352
|
-
_context8.prev =
|
|
3372
|
+
case 31:
|
|
3373
|
+
_context8.prev = 31;
|
|
3353
3374
|
sendStartedSharingRemote();
|
|
3354
|
-
return _context8.finish(
|
|
3355
|
-
case 33:
|
|
3356
|
-
return _context8.abrupt("break", 42);
|
|
3375
|
+
return _context8.finish(31);
|
|
3357
3376
|
case 34:
|
|
3377
|
+
return _context8.abrupt("break", 43);
|
|
3378
|
+
case 35:
|
|
3358
3379
|
_triggerProxy.default.trigger(_this14, {
|
|
3359
3380
|
file: 'meeting/index',
|
|
3360
3381
|
function: 'share'
|
|
@@ -3370,8 +3391,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3370
3391
|
meetingId: _this14.id
|
|
3371
3392
|
}
|
|
3372
3393
|
});
|
|
3373
|
-
return _context8.abrupt("break",
|
|
3374
|
-
case
|
|
3394
|
+
return _context8.abrupt("break", 43);
|
|
3395
|
+
case 38:
|
|
3375
3396
|
_triggerProxy.default.trigger(_this14, {
|
|
3376
3397
|
file: 'meeting/index',
|
|
3377
3398
|
function: 'startWhiteboardShare'
|
|
@@ -3389,16 +3410,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3389
3410
|
meetingId: _this14.id
|
|
3390
3411
|
}
|
|
3391
3412
|
});
|
|
3392
|
-
return _context8.abrupt("break",
|
|
3393
|
-
case 40:
|
|
3394
|
-
return _context8.abrupt("break", 42);
|
|
3413
|
+
return _context8.abrupt("break", 43);
|
|
3395
3414
|
case 41:
|
|
3396
|
-
return _context8.abrupt("break",
|
|
3415
|
+
return _context8.abrupt("break", 43);
|
|
3397
3416
|
case 42:
|
|
3417
|
+
return _context8.abrupt("break", 43);
|
|
3418
|
+
case 43:
|
|
3398
3419
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3399
|
-
_context8.next =
|
|
3420
|
+
_context8.next = 47;
|
|
3400
3421
|
break;
|
|
3401
|
-
case
|
|
3422
|
+
case 46:
|
|
3402
3423
|
if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
|
|
3403
3424
|
// if we got here, then some remote participant has stolen
|
|
3404
3425
|
// the presentation from another remote participant
|
|
@@ -3436,11 +3457,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3436
3457
|
});
|
|
3437
3458
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3438
3459
|
}
|
|
3439
|
-
case
|
|
3460
|
+
case 47:
|
|
3440
3461
|
case "end":
|
|
3441
3462
|
return _context8.stop();
|
|
3442
3463
|
}
|
|
3443
|
-
}, _callee8, null, [[
|
|
3464
|
+
}, _callee8, null, [[27,, 31, 34]]);
|
|
3444
3465
|
}));
|
|
3445
3466
|
return function (_x8) {
|
|
3446
3467
|
return _ref23.apply(this, arguments);
|
|
@@ -3597,7 +3618,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3597
3618
|
var _this19 = this;
|
|
3598
3619
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LOCAL_UNMUTE_REQUIRED, function (payload) {
|
|
3599
3620
|
if (_this19.audio) {
|
|
3600
|
-
_this19.audio.handleServerLocalUnmuteRequired(_this19);
|
|
3621
|
+
_this19.audio.handleServerLocalUnmuteRequired(_this19, payload.unmuteAllowed);
|
|
3601
3622
|
_triggerProxy.default.trigger(_this19, {
|
|
3602
3623
|
file: 'meeting/index',
|
|
3603
3624
|
function: 'setUpLocusInfoSelfListener'
|
|
@@ -8398,66 +8419,91 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8398
8419
|
key: "publishStreams",
|
|
8399
8420
|
value: (function () {
|
|
8400
8421
|
var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(streams) {
|
|
8401
|
-
var _streams$screenShare, _streams$screenShare2, _streams$
|
|
8402
|
-
var floorRequestNeeded, _streams$
|
|
8422
|
+
var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
|
|
8423
|
+
var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
|
|
8403
8424
|
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8404
8425
|
while (1) switch (_context37.prev = _context37.next) {
|
|
8405
8426
|
case 0:
|
|
8427
|
+
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8406
8428
|
this.checkMediaConnection();
|
|
8407
8429
|
if (!(!streams.microphone && !streams.camera && !((_streams$screenShare = streams.screenShare) !== null && _streams$screenShare !== void 0 && _streams$screenShare.audio) && !((_streams$screenShare2 = streams.screenShare) !== null && _streams$screenShare2 !== void 0 && _streams$screenShare2.video))) {
|
|
8408
|
-
_context37.next =
|
|
8430
|
+
_context37.next = 4;
|
|
8409
8431
|
break;
|
|
8410
8432
|
}
|
|
8411
8433
|
return _context37.abrupt("return");
|
|
8412
|
-
case
|
|
8413
|
-
|
|
8414
|
-
|
|
8434
|
+
case 4:
|
|
8435
|
+
streamChecks = [{
|
|
8436
|
+
stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
|
|
8437
|
+
name: 'microphone'
|
|
8438
|
+
}, {
|
|
8439
|
+
stream: streams === null || streams === void 0 ? void 0 : streams.camera,
|
|
8440
|
+
name: 'camera'
|
|
8441
|
+
}, {
|
|
8442
|
+
stream: streams === null || streams === void 0 ? void 0 : (_streams$screenShare3 = streams.screenShare) === null || _streams$screenShare3 === void 0 ? void 0 : _streams$screenShare3.audio,
|
|
8443
|
+
name: 'screenShare audio'
|
|
8444
|
+
}, {
|
|
8445
|
+
stream: streams === null || streams === void 0 ? void 0 : (_streams$screenShare4 = streams.screenShare) === null || _streams$screenShare4 === void 0 ? void 0 : _streams$screenShare4.video,
|
|
8446
|
+
name: 'screenShare video'
|
|
8447
|
+
}];
|
|
8448
|
+
_i = 0, _streamChecks = streamChecks;
|
|
8449
|
+
case 6:
|
|
8450
|
+
if (!(_i < _streamChecks.length)) {
|
|
8451
|
+
_context37.next = 13;
|
|
8415
8452
|
break;
|
|
8416
8453
|
}
|
|
8417
|
-
|
|
8418
|
-
|
|
8419
|
-
floorRequestNeeded = false; // Screenshare Audio is supported only in multi stream. So we check for screenshare audio presence only if it's a multi stream meeting
|
|
8420
|
-
if (!(this.isMultistream && (_streams$screenShare7 = streams.screenShare) !== null && _streams$screenShare7 !== void 0 && _streams$screenShare7.audio)) {
|
|
8454
|
+
_streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
|
|
8455
|
+
if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
|
|
8421
8456
|
_context37.next = 10;
|
|
8422
8457
|
break;
|
|
8423
8458
|
}
|
|
8424
|
-
|
|
8459
|
+
throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
|
|
8460
|
+
case 10:
|
|
8461
|
+
_i++;
|
|
8462
|
+
_context37.next = 6;
|
|
8463
|
+
break;
|
|
8464
|
+
case 13:
|
|
8465
|
+
floorRequestNeeded = false; // Screenshare Audio is supported only in multi stream. So we check for screenshare audio presence only if it's a multi stream meeting
|
|
8466
|
+
if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
|
|
8467
|
+
_context37.next = 18;
|
|
8468
|
+
break;
|
|
8469
|
+
}
|
|
8470
|
+
_context37.next = 17;
|
|
8425
8471
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
8426
|
-
case
|
|
8472
|
+
case 17:
|
|
8427
8473
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8428
|
-
case
|
|
8429
|
-
if (!((_streams$
|
|
8430
|
-
_context37.next =
|
|
8474
|
+
case 18:
|
|
8475
|
+
if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
|
|
8476
|
+
_context37.next = 22;
|
|
8431
8477
|
break;
|
|
8432
8478
|
}
|
|
8433
|
-
_context37.next =
|
|
8434
|
-
return this.setLocalShareVideoStream((_streams$
|
|
8435
|
-
case
|
|
8479
|
+
_context37.next = 21;
|
|
8480
|
+
return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
|
|
8481
|
+
case 21:
|
|
8436
8482
|
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8437
|
-
case
|
|
8483
|
+
case 22:
|
|
8438
8484
|
if (!streams.microphone) {
|
|
8439
|
-
_context37.next =
|
|
8485
|
+
_context37.next = 25;
|
|
8440
8486
|
break;
|
|
8441
8487
|
}
|
|
8442
|
-
_context37.next =
|
|
8488
|
+
_context37.next = 25;
|
|
8443
8489
|
return this.setLocalAudioStream(streams.microphone);
|
|
8444
|
-
case
|
|
8490
|
+
case 25:
|
|
8445
8491
|
if (!streams.camera) {
|
|
8446
|
-
_context37.next =
|
|
8492
|
+
_context37.next = 28;
|
|
8447
8493
|
break;
|
|
8448
8494
|
}
|
|
8449
|
-
_context37.next =
|
|
8495
|
+
_context37.next = 28;
|
|
8450
8496
|
return this.setLocalVideoStream(streams.camera);
|
|
8451
|
-
case
|
|
8497
|
+
case 28:
|
|
8452
8498
|
if (this.isMultistream) {
|
|
8453
|
-
_context37.next =
|
|
8499
|
+
_context37.next = 31;
|
|
8454
8500
|
break;
|
|
8455
8501
|
}
|
|
8456
|
-
_context37.next =
|
|
8502
|
+
_context37.next = 31;
|
|
8457
8503
|
return this.updateTranscodedMediaConnection();
|
|
8458
|
-
case
|
|
8504
|
+
case 31:
|
|
8459
8505
|
if (!floorRequestNeeded) {
|
|
8460
|
-
_context37.next =
|
|
8506
|
+
_context37.next = 37;
|
|
8461
8507
|
break;
|
|
8462
8508
|
}
|
|
8463
8509
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -8481,9 +8527,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8481
8527
|
// we're sending the http request to Locus to request the screen share floor
|
|
8482
8528
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
8483
8529
|
// and also if sharing from the start, we need confluence to have been created
|
|
8484
|
-
_context37.next =
|
|
8530
|
+
_context37.next = 37;
|
|
8485
8531
|
return this.enqueueScreenShareFloorRequest();
|
|
8486
|
-
case
|
|
8532
|
+
case 37:
|
|
8487
8533
|
case "end":
|
|
8488
8534
|
return _context37.stop();
|
|
8489
8535
|
}
|
|
@@ -8509,6 +8555,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8509
8555
|
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8510
8556
|
while (1) switch (_context38.prev = _context38.next) {
|
|
8511
8557
|
case 0:
|
|
8558
|
+
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8512
8559
|
this.checkMediaConnection();
|
|
8513
8560
|
promises = [];
|
|
8514
8561
|
_iterator = _createForOfIteratorHelper(streams.filter(function (t) {
|
|
@@ -8538,9 +8585,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8538
8585
|
if (!this.isMultistream) {
|
|
8539
8586
|
promises.push(this.updateTranscodedMediaConnection());
|
|
8540
8587
|
}
|
|
8541
|
-
_context38.next =
|
|
8588
|
+
_context38.next = 8;
|
|
8542
8589
|
return _promise.default.all(promises);
|
|
8543
|
-
case
|
|
8590
|
+
case 8:
|
|
8544
8591
|
// we're allowing for the SDK to support just audio share as well
|
|
8545
8592
|
// so a share could be active with only video, only audio, or both
|
|
8546
8593
|
// we're only releasing the floor if both streams have ended
|
|
@@ -8557,7 +8604,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8557
8604
|
// nothing to do here, error is logged already inside releaseScreenShareFloor()
|
|
8558
8605
|
}
|
|
8559
8606
|
}
|
|
8560
|
-
case
|
|
8607
|
+
case 9:
|
|
8561
8608
|
case "end":
|
|
8562
8609
|
return _context38.stop();
|
|
8563
8610
|
}
|