@webex/plugin-meetings 3.5.0 → 3.6.0-next.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/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/config.js +4 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/media/index.js +3 -1
- package/dist/media/index.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +3 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +133 -87
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +8 -10
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +100 -26
- package/dist/meetings/index.js.map +1 -1
- package/dist/roap/request.js +1 -1
- package/dist/roap/request.js.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/constants.d.ts +2 -1
- package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
- package/dist/types/meeting/index.d.ts +11 -0
- package/dist/types/meetings/index.d.ts +43 -2
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -22
- package/src/config.ts +3 -0
- package/src/constants.ts +1 -0
- package/src/media/index.ts +4 -1
- package/src/meeting/in-meeting-actions.ts +3 -0
- package/src/meeting/index.ts +57 -2
- package/src/meeting/util.ts +27 -31
- package/src/meetings/index.ts +126 -37
- package/src/roap/request.ts +3 -1
- package/test/unit/spec/media/index.ts +4 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
- package/test/unit/spec/meeting/index.js +58 -17
- package/test/unit/spec/meeting/utils.js +50 -85
- package/test/unit/spec/meetings/index.js +128 -13
- package/dist/networkQualityMonitor/index.js +0 -227
- package/dist/networkQualityMonitor/index.js.map +0 -1
- package/dist/rtcMetrics/constants.js +0 -11
- package/dist/rtcMetrics/constants.js.map +0 -1
- package/dist/rtcMetrics/index.js +0 -197
- package/dist/rtcMetrics/index.js.map +0 -1
- package/dist/types/networkQualityMonitor/index.d.ts +0 -70
- package/dist/types/rtcMetrics/constants.d.ts +0 -4
- package/dist/types/rtcMetrics/index.d.ts +0 -71
- package/src/rtcMetrics/constants.ts +0 -3
- package/src/rtcMetrics/index.ts +0 -186
- package/test/unit/spec/rtcMetrics/index.ts +0 -154
package/dist/meeting/index.js
CHANGED
|
@@ -86,7 +86,6 @@ 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 _rtcMetrics = _interopRequireDefault(require("../rtcMetrics"));
|
|
90
89
|
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; } } }; }
|
|
91
90
|
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); }
|
|
92
91
|
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; }
|
|
@@ -381,7 +380,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
381
380
|
* @memberof Meeting
|
|
382
381
|
*/
|
|
383
382
|
function Meeting(attrs, _options) {
|
|
384
|
-
var _attrs$callStateForMe, _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
|
|
383
|
+
var _attrs$callStateForMe, _attrs$callStateForMe2, _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
|
|
385
384
|
var _this;
|
|
386
385
|
(0, _classCallCheck2.default)(this, Meeting);
|
|
387
386
|
_this = _super.call(this, {}, _options);
|
|
@@ -1219,31 +1218,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1219
1218
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
1220
1219
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1221
1220
|
case 0:
|
|
1221
|
+
_loggerProxy.default.logger.info("Meeting:index#handleShareAudioStreamEnded --> audio share stream ended");
|
|
1222
|
+
// current share audio stream has ended, but there might be an active
|
|
1223
|
+
// share video stream. we only leave from wireless share if share has
|
|
1224
|
+
// completely ended, which means no share audio or video streams active
|
|
1222
1225
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareVideoStream)) {
|
|
1223
|
-
_context2.next =
|
|
1226
|
+
_context2.next = 5;
|
|
1224
1227
|
break;
|
|
1225
1228
|
}
|
|
1226
1229
|
_this.leave({
|
|
1227
1230
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1228
1231
|
});
|
|
1229
|
-
_context2.next =
|
|
1232
|
+
_context2.next = 13;
|
|
1230
1233
|
break;
|
|
1231
|
-
case
|
|
1232
|
-
_context2.prev =
|
|
1233
|
-
_context2.next =
|
|
1234
|
+
case 5:
|
|
1235
|
+
_context2.prev = 5;
|
|
1236
|
+
_context2.next = 8;
|
|
1234
1237
|
return _this.unpublishStreams([_this.mediaProperties.shareAudioStream]);
|
|
1235
|
-
case
|
|
1236
|
-
_context2.next =
|
|
1238
|
+
case 8:
|
|
1239
|
+
_context2.next = 13;
|
|
1237
1240
|
break;
|
|
1238
|
-
case
|
|
1239
|
-
_context2.prev =
|
|
1240
|
-
_context2.t0 = _context2["catch"](
|
|
1241
|
+
case 10:
|
|
1242
|
+
_context2.prev = 10;
|
|
1243
|
+
_context2.t0 = _context2["catch"](5);
|
|
1241
1244
|
_loggerProxy.default.logger.log('Meeting:index#handleShareAudioStreamEnded --> Error stopping share: ', _context2.t0);
|
|
1242
|
-
case
|
|
1245
|
+
case 13:
|
|
1243
1246
|
case "end":
|
|
1244
1247
|
return _context2.stop();
|
|
1245
1248
|
}
|
|
1246
|
-
}, _callee2, null, [[
|
|
1249
|
+
}, _callee2, null, [[5, 10]]);
|
|
1247
1250
|
})));
|
|
1248
1251
|
/**
|
|
1249
1252
|
* Functionality for when a share video is muted or unmuted.
|
|
@@ -1271,33 +1274,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1271
1274
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
1272
1275
|
while (1) switch (_context3.prev = _context3.next) {
|
|
1273
1276
|
case 0:
|
|
1277
|
+
_loggerProxy.default.logger.info("Meeting:index#handleShareVideoStreamEnded --> video share stream ended");
|
|
1278
|
+
// current share video stream has ended, but there might be an active
|
|
1279
|
+
// share audio stream. we only leave from wireless share if share has
|
|
1280
|
+
// completely ended, which means no share audio or video streams active
|
|
1274
1281
|
if (!(_this.wirelessShare && !_this.mediaProperties.shareAudioStream)) {
|
|
1275
|
-
_context3.next =
|
|
1282
|
+
_context3.next = 5;
|
|
1276
1283
|
break;
|
|
1277
1284
|
}
|
|
1278
1285
|
_this.leave({
|
|
1279
1286
|
reason: _constants.MEETING_REMOVED_REASON.USER_ENDED_SHARE_STREAMS
|
|
1280
1287
|
});
|
|
1281
|
-
_context3.next =
|
|
1288
|
+
_context3.next = 13;
|
|
1282
1289
|
break;
|
|
1283
|
-
case
|
|
1284
|
-
_context3.prev =
|
|
1285
|
-
_context3.next =
|
|
1290
|
+
case 5:
|
|
1291
|
+
_context3.prev = 5;
|
|
1292
|
+
_context3.next = 8;
|
|
1286
1293
|
return _this.unpublishStreams([_this.mediaProperties.shareVideoStream]);
|
|
1287
|
-
case
|
|
1288
|
-
_context3.next =
|
|
1294
|
+
case 8:
|
|
1295
|
+
_context3.next = 13;
|
|
1289
1296
|
break;
|
|
1290
|
-
case
|
|
1291
|
-
_context3.prev =
|
|
1292
|
-
_context3.t0 = _context3["catch"](
|
|
1297
|
+
case 10:
|
|
1298
|
+
_context3.prev = 10;
|
|
1299
|
+
_context3.t0 = _context3["catch"](5);
|
|
1293
1300
|
_loggerProxy.default.logger.log('Meeting:index#handleShareVideoStreamEnded --> Error stopping share: ', _context3.t0);
|
|
1294
|
-
case 12:
|
|
1295
|
-
_this.triggerStoppedSharing();
|
|
1296
1301
|
case 13:
|
|
1302
|
+
_this.triggerStoppedSharing();
|
|
1303
|
+
case 14:
|
|
1297
1304
|
case "end":
|
|
1298
1305
|
return _context3.stop();
|
|
1299
1306
|
}
|
|
1300
|
-
}, _callee3, null, [[
|
|
1307
|
+
}, _callee3, null, [[5, 10]]);
|
|
1301
1308
|
})));
|
|
1302
1309
|
/**
|
|
1303
1310
|
* Emits meeting:stoppedSharingLocal
|
|
@@ -1410,10 +1417,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1410
1417
|
*/
|
|
1411
1418
|
_this.callStateForMetrics = attrs.callStateForMetrics || {};
|
|
1412
1419
|
var _correlationId = attrs.correlationId || ((_attrs$callStateForMe = attrs.callStateForMetrics) === null || _attrs$callStateForMe === void 0 ? void 0 : _attrs$callStateForMe.correlationId);
|
|
1420
|
+
var sessionCorrelationId = attrs.sessionCorrelationId || ((_attrs$callStateForMe2 = attrs.callStateForMetrics) === null || _attrs$callStateForMe2 === void 0 ? void 0 : _attrs$callStateForMe2.sessionCorrelationId);
|
|
1421
|
+
if (sessionCorrelationId) {
|
|
1422
|
+
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with session correlation id from app ".concat(_correlationId));
|
|
1423
|
+
_this.callStateForMetrics.sessionCorrelationId = sessionCorrelationId;
|
|
1424
|
+
} else {
|
|
1425
|
+
_loggerProxy.default.logger.log("Meetings:index#constructor --> No session correlation id supplied. None will be generated and this field will remain blank");
|
|
1426
|
+
// TODO: supply a session from the meetings instance
|
|
1427
|
+
_this.callStateForMetrics.sessionCorrelationId = '';
|
|
1428
|
+
}
|
|
1413
1429
|
if (_correlationId) {
|
|
1414
1430
|
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with correlation id from app ".concat(_correlationId));
|
|
1415
1431
|
_this.callStateForMetrics.correlationId = _correlationId;
|
|
1416
1432
|
} else {
|
|
1433
|
+
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with generated correlation id from sdk ".concat(_this.id));
|
|
1417
1434
|
_this.callStateForMetrics.correlationId = _this.id;
|
|
1418
1435
|
}
|
|
1419
1436
|
/**
|
|
@@ -2236,6 +2253,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2236
2253
|
this.callStateForMetrics.correlationId = correlationId;
|
|
2237
2254
|
}
|
|
2238
2255
|
|
|
2256
|
+
/**
|
|
2257
|
+
* Getter - Returns callStateForMetrics.sessionCorrelationId
|
|
2258
|
+
* @returns {string}
|
|
2259
|
+
*/
|
|
2260
|
+
}, {
|
|
2261
|
+
key: "sessionCorrelationId",
|
|
2262
|
+
get: function get() {
|
|
2263
|
+
return this.callStateForMetrics.sessionCorrelationId;
|
|
2264
|
+
}
|
|
2265
|
+
|
|
2266
|
+
/**
|
|
2267
|
+
* Setter - sets callStateForMetrics.sessionCorrelationId
|
|
2268
|
+
* @param {string} sessionCorrelationId
|
|
2269
|
+
*/,
|
|
2270
|
+
set: function set(sessionCorrelationId) {
|
|
2271
|
+
this.callStateForMetrics.sessionCorrelationId = sessionCorrelationId;
|
|
2272
|
+
}
|
|
2273
|
+
|
|
2239
2274
|
/**
|
|
2240
2275
|
* Getter - Returns isoLocalClientMeetingJoinTime
|
|
2241
2276
|
* This will be set once on meeting join, and not updated again
|
|
@@ -3261,8 +3296,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3261
3296
|
else if ((previousContentShare && contentShare.disposition === _constants.FLOOR_ACTION.RELEASED || contentShare.disposition === null) && (previousWhiteboardShare && whiteboardShare.disposition === _constants.FLOOR_ACTION.RELEASED || whiteboardShare.disposition === null)) {
|
|
3262
3297
|
newShareStatus = _constants.SHARE_STATUS.NO_SHARE;
|
|
3263
3298
|
}
|
|
3299
|
+
_loggerProxy.default.logger.info("Meeting:index#setUpLocusInfoMediaInactiveListener --> this.shareStatus=".concat(_this14.shareStatus, " newShareStatus=").concat(newShareStatus));
|
|
3264
3300
|
if (!(newShareStatus !== _this14.shareStatus)) {
|
|
3265
|
-
_context8.next =
|
|
3301
|
+
_context8.next = 46;
|
|
3266
3302
|
break;
|
|
3267
3303
|
}
|
|
3268
3304
|
oldShareStatus = _this14.shareStatus; // update our state before we send out any notifications
|
|
@@ -3270,37 +3306,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3270
3306
|
|
|
3271
3307
|
// send out "stop" notifications for the old state
|
|
3272
3308
|
_context8.t0 = oldShareStatus;
|
|
3273
|
-
_context8.next = _context8.t0 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3309
|
+
_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;
|
|
3274
3310
|
break;
|
|
3275
|
-
case
|
|
3311
|
+
case 15:
|
|
3276
3312
|
_triggerProxy.default.trigger(_this14, {
|
|
3277
3313
|
file: 'meetings/index',
|
|
3278
3314
|
function: 'remoteShare'
|
|
3279
3315
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_REMOTE);
|
|
3280
|
-
return _context8.abrupt("break",
|
|
3281
|
-
case
|
|
3316
|
+
return _context8.abrupt("break", 23);
|
|
3317
|
+
case 17:
|
|
3282
3318
|
_triggerProxy.default.trigger(_this14, {
|
|
3283
3319
|
file: 'meeting/index',
|
|
3284
3320
|
function: 'localShare'
|
|
3285
3321
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_LOCAL, {
|
|
3286
3322
|
reason: _constants.SHARE_STOPPED_REASON.SELF_STOPPED
|
|
3287
3323
|
});
|
|
3288
|
-
return _context8.abrupt("break",
|
|
3289
|
-
case
|
|
3324
|
+
return _context8.abrupt("break", 23);
|
|
3325
|
+
case 19:
|
|
3290
3326
|
_triggerProxy.default.trigger(_this14, {
|
|
3291
3327
|
file: 'meeting/index',
|
|
3292
3328
|
function: 'stopWhiteboardShare'
|
|
3293
3329
|
}, _constants.EVENT_TRIGGERS.MEETING_STOPPED_SHARING_WHITEBOARD);
|
|
3294
|
-
return _context8.abrupt("break",
|
|
3295
|
-
case 20:
|
|
3296
|
-
return _context8.abrupt("break", 22);
|
|
3330
|
+
return _context8.abrupt("break", 23);
|
|
3297
3331
|
case 21:
|
|
3298
|
-
return _context8.abrupt("break",
|
|
3332
|
+
return _context8.abrupt("break", 23);
|
|
3299
3333
|
case 22:
|
|
3334
|
+
return _context8.abrupt("break", 23);
|
|
3335
|
+
case 23:
|
|
3300
3336
|
_context8.t1 = newShareStatus;
|
|
3301
|
-
_context8.next = _context8.t1 === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE ?
|
|
3337
|
+
_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;
|
|
3302
3338
|
break;
|
|
3303
|
-
case
|
|
3339
|
+
case 26:
|
|
3304
3340
|
sendStartedSharingRemote = function sendStartedSharingRemote() {
|
|
3305
3341
|
_this14.remoteShareInstanceId = contentShare.shareInstanceId;
|
|
3306
3342
|
_triggerProxy.default.trigger(_this14, {
|
|
@@ -3314,20 +3350,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3314
3350
|
resourceType: contentShare.resourceType
|
|
3315
3351
|
});
|
|
3316
3352
|
};
|
|
3317
|
-
_context8.prev =
|
|
3353
|
+
_context8.prev = 27;
|
|
3318
3354
|
if (!((_this14$mediaProperti = _this14.mediaProperties.mediaDirection) !== null && _this14$mediaProperti !== void 0 && _this14$mediaProperti.sendShare && oldShareStatus === _constants.SHARE_STATUS.LOCAL_SHARE_ACTIVE)) {
|
|
3319
|
-
_context8.next =
|
|
3355
|
+
_context8.next = 31;
|
|
3320
3356
|
break;
|
|
3321
3357
|
}
|
|
3322
|
-
_context8.next =
|
|
3358
|
+
_context8.next = 31;
|
|
3323
3359
|
return _this14.unpublishStreams([_this14.mediaProperties.shareVideoStream, _this14.mediaProperties.shareAudioStream]);
|
|
3324
|
-
case
|
|
3325
|
-
_context8.prev =
|
|
3360
|
+
case 31:
|
|
3361
|
+
_context8.prev = 31;
|
|
3326
3362
|
sendStartedSharingRemote();
|
|
3327
|
-
return _context8.finish(
|
|
3328
|
-
case 33:
|
|
3329
|
-
return _context8.abrupt("break", 42);
|
|
3363
|
+
return _context8.finish(31);
|
|
3330
3364
|
case 34:
|
|
3365
|
+
return _context8.abrupt("break", 43);
|
|
3366
|
+
case 35:
|
|
3331
3367
|
_triggerProxy.default.trigger(_this14, {
|
|
3332
3368
|
file: 'meeting/index',
|
|
3333
3369
|
function: 'share'
|
|
@@ -3343,8 +3379,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3343
3379
|
meetingId: _this14.id
|
|
3344
3380
|
}
|
|
3345
3381
|
});
|
|
3346
|
-
return _context8.abrupt("break",
|
|
3347
|
-
case
|
|
3382
|
+
return _context8.abrupt("break", 43);
|
|
3383
|
+
case 38:
|
|
3348
3384
|
_triggerProxy.default.trigger(_this14, {
|
|
3349
3385
|
file: 'meeting/index',
|
|
3350
3386
|
function: 'startWhiteboardShare'
|
|
@@ -3362,16 +3398,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3362
3398
|
meetingId: _this14.id
|
|
3363
3399
|
}
|
|
3364
3400
|
});
|
|
3365
|
-
return _context8.abrupt("break",
|
|
3366
|
-
case 40:
|
|
3367
|
-
return _context8.abrupt("break", 42);
|
|
3401
|
+
return _context8.abrupt("break", 43);
|
|
3368
3402
|
case 41:
|
|
3369
|
-
return _context8.abrupt("break",
|
|
3403
|
+
return _context8.abrupt("break", 43);
|
|
3370
3404
|
case 42:
|
|
3405
|
+
return _context8.abrupt("break", 43);
|
|
3406
|
+
case 43:
|
|
3371
3407
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3372
|
-
_context8.next =
|
|
3408
|
+
_context8.next = 47;
|
|
3373
3409
|
break;
|
|
3374
|
-
case
|
|
3410
|
+
case 46:
|
|
3375
3411
|
if (newShareStatus === _constants.SHARE_STATUS.REMOTE_SHARE_ACTIVE) {
|
|
3376
3412
|
// if we got here, then some remote participant has stolen
|
|
3377
3413
|
// the presentation from another remote participant
|
|
@@ -3409,11 +3445,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3409
3445
|
});
|
|
3410
3446
|
_this14.members.locusMediaSharesUpdate(payload);
|
|
3411
3447
|
}
|
|
3412
|
-
case
|
|
3448
|
+
case 47:
|
|
3413
3449
|
case "end":
|
|
3414
3450
|
return _context8.stop();
|
|
3415
3451
|
}
|
|
3416
|
-
}, _callee8, null, [[
|
|
3452
|
+
}, _callee8, null, [[27,, 31, 34]]);
|
|
3417
3453
|
}));
|
|
3418
3454
|
return function (_x8) {
|
|
3419
3455
|
return _ref23.apply(this, arguments);
|
|
@@ -4223,6 +4259,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4223
4259
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_CHAT],
|
|
4224
4260
|
policies: this.selfUserPolicies
|
|
4225
4261
|
}),
|
|
4262
|
+
canPollingAndQA: _util5.default.hasPolicies({
|
|
4263
|
+
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_POLLING_AND_QA],
|
|
4264
|
+
policies: this.selfUserPolicies
|
|
4265
|
+
}),
|
|
4226
4266
|
canShareApplication: _util5.default.hasHints({
|
|
4227
4267
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_APPLICATION],
|
|
4228
4268
|
displayHints: this.userDisplayHints
|
|
@@ -6110,7 +6150,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6110
6150
|
case 0:
|
|
6111
6151
|
this.rtcMetrics = this.isMultistream ?
|
|
6112
6152
|
// @ts-ignore
|
|
6113
|
-
new
|
|
6153
|
+
new _internalPluginMetrics.RtcMetrics(this.webex, {
|
|
6154
|
+
meetingId: this.id
|
|
6155
|
+
}, this.correlationId) : undefined;
|
|
6114
6156
|
mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(), this.id, {
|
|
6115
6157
|
rtcMetrics: this.rtcMetrics,
|
|
6116
6158
|
mediaProperties: this.mediaProperties,
|
|
@@ -6120,7 +6162,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6120
6162
|
// @ts-ignore - config coming from registerPlugin
|
|
6121
6163
|
enableExtmap: this.config.enableExtmap,
|
|
6122
6164
|
turnServerInfo: turnServerInfo,
|
|
6123
|
-
bundlePolicy: bundlePolicy
|
|
6165
|
+
bundlePolicy: bundlePolicy,
|
|
6166
|
+
// @ts-ignore - config coming from registerPlugin
|
|
6167
|
+
iceCandidatesTimeout: this.config.iceCandidatesGatheringTimeout
|
|
6124
6168
|
});
|
|
6125
6169
|
this.mediaProperties.setMediaPeerConnection(mc);
|
|
6126
6170
|
this.setupMediaConnectionListeners();
|
|
@@ -8368,61 +8412,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8368
8412
|
return _regenerator.default.wrap(function _callee37$(_context37) {
|
|
8369
8413
|
while (1) switch (_context37.prev = _context37.next) {
|
|
8370
8414
|
case 0:
|
|
8415
|
+
_loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8371
8416
|
this.checkMediaConnection();
|
|
8372
8417
|
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))) {
|
|
8373
|
-
_context37.next =
|
|
8418
|
+
_context37.next = 4;
|
|
8374
8419
|
break;
|
|
8375
8420
|
}
|
|
8376
8421
|
return _context37.abrupt("return");
|
|
8377
|
-
case
|
|
8422
|
+
case 4:
|
|
8378
8423
|
if (!((streams === null || streams === void 0 ? void 0 : (_streams$microphone = streams.microphone) === null || _streams$microphone === void 0 ? void 0 : _streams$microphone.readyState) === 'ended' || (streams === null || streams === void 0 ? void 0 : (_streams$camera = streams.camera) === null || _streams$camera === void 0 ? void 0 : _streams$camera.readyState) === 'ended' || (streams === null || streams === void 0 ? void 0 : (_streams$screenShare3 = streams.screenShare) === null || _streams$screenShare3 === void 0 ? void 0 : (_streams$screenShare4 = _streams$screenShare3.audio) === null || _streams$screenShare4 === void 0 ? void 0 : _streams$screenShare4.readyState) === 'ended' || (streams === null || streams === void 0 ? void 0 : (_streams$screenShare5 = streams.screenShare) === null || _streams$screenShare5 === void 0 ? void 0 : (_streams$screenShare6 = _streams$screenShare5.video) === null || _streams$screenShare6 === void 0 ? void 0 : _streams$screenShare6.readyState) === 'ended')) {
|
|
8379
|
-
_context37.next =
|
|
8424
|
+
_context37.next = 6;
|
|
8380
8425
|
break;
|
|
8381
8426
|
}
|
|
8382
8427
|
throw new Error("Attempted to publish stream with ended readyState, correlationId=".concat(this.correlationId));
|
|
8383
|
-
case
|
|
8428
|
+
case 6:
|
|
8384
8429
|
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
|
|
8385
8430
|
if (!(this.isMultistream && (_streams$screenShare7 = streams.screenShare) !== null && _streams$screenShare7 !== void 0 && _streams$screenShare7.audio)) {
|
|
8386
|
-
_context37.next =
|
|
8431
|
+
_context37.next = 11;
|
|
8387
8432
|
break;
|
|
8388
8433
|
}
|
|
8389
|
-
_context37.next =
|
|
8434
|
+
_context37.next = 10;
|
|
8390
8435
|
return this.setLocalShareAudioStream(streams.screenShare.audio);
|
|
8391
|
-
case 9:
|
|
8392
|
-
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8393
8436
|
case 10:
|
|
8437
|
+
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8438
|
+
case 11:
|
|
8394
8439
|
if (!((_streams$screenShare8 = streams.screenShare) !== null && _streams$screenShare8 !== void 0 && _streams$screenShare8.video)) {
|
|
8395
|
-
_context37.next =
|
|
8440
|
+
_context37.next = 15;
|
|
8396
8441
|
break;
|
|
8397
8442
|
}
|
|
8398
|
-
_context37.next =
|
|
8443
|
+
_context37.next = 14;
|
|
8399
8444
|
return this.setLocalShareVideoStream((_streams$screenShare9 = streams.screenShare) === null || _streams$screenShare9 === void 0 ? void 0 : _streams$screenShare9.video);
|
|
8400
|
-
case 13:
|
|
8401
|
-
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8402
8445
|
case 14:
|
|
8446
|
+
floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
|
|
8447
|
+
case 15:
|
|
8403
8448
|
if (!streams.microphone) {
|
|
8404
|
-
_context37.next =
|
|
8449
|
+
_context37.next = 18;
|
|
8405
8450
|
break;
|
|
8406
8451
|
}
|
|
8407
|
-
_context37.next =
|
|
8452
|
+
_context37.next = 18;
|
|
8408
8453
|
return this.setLocalAudioStream(streams.microphone);
|
|
8409
|
-
case
|
|
8454
|
+
case 18:
|
|
8410
8455
|
if (!streams.camera) {
|
|
8411
|
-
_context37.next =
|
|
8456
|
+
_context37.next = 21;
|
|
8412
8457
|
break;
|
|
8413
8458
|
}
|
|
8414
|
-
_context37.next =
|
|
8459
|
+
_context37.next = 21;
|
|
8415
8460
|
return this.setLocalVideoStream(streams.camera);
|
|
8416
|
-
case
|
|
8461
|
+
case 21:
|
|
8417
8462
|
if (this.isMultistream) {
|
|
8418
|
-
_context37.next =
|
|
8463
|
+
_context37.next = 24;
|
|
8419
8464
|
break;
|
|
8420
8465
|
}
|
|
8421
|
-
_context37.next =
|
|
8466
|
+
_context37.next = 24;
|
|
8422
8467
|
return this.updateTranscodedMediaConnection();
|
|
8423
|
-
case
|
|
8468
|
+
case 24:
|
|
8424
8469
|
if (!floorRequestNeeded) {
|
|
8425
|
-
_context37.next =
|
|
8470
|
+
_context37.next = 30;
|
|
8426
8471
|
break;
|
|
8427
8472
|
}
|
|
8428
8473
|
this.localShareInstanceId = _uuid.default.v4();
|
|
@@ -8446,9 +8491,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8446
8491
|
// we're sending the http request to Locus to request the screen share floor
|
|
8447
8492
|
// only after the SDP update, because that's how it's always been done for transcoded meetings
|
|
8448
8493
|
// and also if sharing from the start, we need confluence to have been created
|
|
8449
|
-
_context37.next =
|
|
8494
|
+
_context37.next = 30;
|
|
8450
8495
|
return this.enqueueScreenShareFloorRequest();
|
|
8451
|
-
case
|
|
8496
|
+
case 30:
|
|
8452
8497
|
case "end":
|
|
8453
8498
|
return _context37.stop();
|
|
8454
8499
|
}
|
|
@@ -8474,6 +8519,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8474
8519
|
return _regenerator.default.wrap(function _callee38$(_context38) {
|
|
8475
8520
|
while (1) switch (_context38.prev = _context38.next) {
|
|
8476
8521
|
case 0:
|
|
8522
|
+
_loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
|
|
8477
8523
|
this.checkMediaConnection();
|
|
8478
8524
|
promises = [];
|
|
8479
8525
|
_iterator = _createForOfIteratorHelper(streams.filter(function (t) {
|
|
@@ -8503,9 +8549,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8503
8549
|
if (!this.isMultistream) {
|
|
8504
8550
|
promises.push(this.updateTranscodedMediaConnection());
|
|
8505
8551
|
}
|
|
8506
|
-
_context38.next =
|
|
8552
|
+
_context38.next = 8;
|
|
8507
8553
|
return _promise.default.all(promises);
|
|
8508
|
-
case
|
|
8554
|
+
case 8:
|
|
8509
8555
|
// we're allowing for the SDK to support just audio share as well
|
|
8510
8556
|
// so a share could be active with only video, only audio, or both
|
|
8511
8557
|
// we're only releasing the floor if both streams have ended
|
|
@@ -8522,7 +8568,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8522
8568
|
// nothing to do here, error is logged already inside releaseScreenShareFloor()
|
|
8523
8569
|
}
|
|
8524
8570
|
}
|
|
8525
|
-
case
|
|
8571
|
+
case 9:
|
|
8526
8572
|
case "end":
|
|
8527
8573
|
return _context38.stop();
|
|
8528
8574
|
}
|