@webex/plugin-meetings 3.4.0 → 3.5.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/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 +6 -9
- 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 +154 -50
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +1 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +11 -2
- package/dist/meetings/index.js.map +1 -1
- package/dist/reachability/index.js +175 -103
- package/dist/reachability/index.js.map +1 -1
- package/dist/reconnection-manager/index.js +1 -1
- package/dist/reconnection-manager/index.js.map +1 -1
- 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 +22 -2
- package/dist/types/meetings/index.d.ts +4 -2
- package/dist/types/reachability/index.d.ts +14 -2
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -22
- package/src/constants.ts +1 -0
- package/src/media/index.ts +6 -10
- package/src/meeting/in-meeting-actions.ts +3 -0
- package/src/meeting/index.ts +92 -10
- package/src/meeting/util.ts +2 -0
- package/src/meetings/index.ts +11 -4
- package/src/reachability/index.ts +49 -4
- package/src/reconnection-manager/index.ts +1 -1
- package/test/integration/spec/converged-space-meetings.js +1 -1
- package/test/unit/spec/breakouts/index.ts +1 -0
- package/test/unit/spec/interceptors/locusRetry.ts +11 -10
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +1 -0
- package/test/unit/spec/media/index.ts +34 -7
- package/test/unit/spec/media/properties.ts +1 -1
- package/test/unit/spec/meeting/connectionStateHandler.ts +1 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
- package/test/unit/spec/meeting/index.js +119 -12
- package/test/unit/spec/meeting/locusMediaRequest.ts +3 -2
- package/test/unit/spec/meeting/request.js +1 -0
- package/test/unit/spec/meeting/utils.js +4 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +10 -11
- package/test/unit/spec/meeting-info/request.js +1 -1
- package/test/unit/spec/meetings/index.js +40 -5
- package/test/unit/spec/members/request.js +2 -1
- package/test/unit/spec/multistream/mediaRequestManager.ts +1 -0
- package/test/unit/spec/multistream/receiveSlot.ts +1 -0
- package/test/unit/spec/multistream/receiveSlotManager.ts +1 -0
- package/test/unit/spec/multistream/remoteMedia.ts +1 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +1 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +1 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +1 -0
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +0 -1
- package/test/unit/spec/reachability/index.ts +211 -13
- package/test/unit/spec/reachability/request.js +1 -0
- package/test/unit/spec/roap/request.ts +1 -0
- 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 -177
- 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 -61
- package/src/networkQualityMonitor/index.ts +0 -211
- package/src/rtcMetrics/constants.ts +0 -3
- package/src/rtcMetrics/index.ts +0 -166
- package/test/unit/spec/networkQualityMonitor/index.js +0 -99
- package/test/unit/spec/rtcMetrics/index.ts +0 -123
package/dist/meeting/index.js
CHANGED
|
@@ -22,6 +22,7 @@ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/pr
|
|
|
22
22
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
23
23
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
24
24
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
25
|
+
var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
|
|
25
26
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
|
|
26
27
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
27
28
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
@@ -31,6 +32,8 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
|
|
|
31
32
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
32
33
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
33
34
|
var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
35
|
+
var _classPrivateFieldGet2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classPrivateFieldGet"));
|
|
36
|
+
var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classPrivateFieldSet"));
|
|
34
37
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
35
38
|
var _lodash = require("lodash");
|
|
36
39
|
var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
|
|
@@ -42,7 +45,6 @@ var _mediaHelpers = require("@webex/media-helpers");
|
|
|
42
45
|
var _internalPluginVoicea = require("@webex/internal-plugin-voicea");
|
|
43
46
|
var _voiceaMeeting = require("./voicea-meeting");
|
|
44
47
|
var _webexErrors = require("../common/errors/webex-errors");
|
|
45
|
-
var _networkQualityMonitor = _interopRequireDefault(require("../networkQualityMonitor"));
|
|
46
48
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
47
49
|
var _util = _interopRequireDefault(require("../common/events/util"));
|
|
48
50
|
var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
|
|
@@ -90,7 +92,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
90
92
|
function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
91
93
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty3.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
92
94
|
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); }; }
|
|
93
|
-
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; } }
|
|
95
|
+
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; } }
|
|
96
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
97
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } // @ts-ignore - Fix this
|
|
94
98
|
// @ts-ignore - Types not available for @webex/common
|
|
95
99
|
// default callback so we don't call an undefined function, but in practice it should never be used
|
|
96
100
|
var DEFAULT_ICE_PHASE_CALLBACK = function DEFAULT_ICE_PHASE_CALLBACK() {
|
|
@@ -119,6 +123,7 @@ var ScreenShareFloorStatus = exports.ScreenShareFloorStatus = /*#__PURE__*/funct
|
|
|
119
123
|
ScreenShareFloorStatus["RELEASED"] = "floor_released";
|
|
120
124
|
return ScreenShareFloorStatus;
|
|
121
125
|
}({});
|
|
126
|
+
var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
122
127
|
/**
|
|
123
128
|
* MediaDirection
|
|
124
129
|
* @typedef {Object} MediaDirection
|
|
@@ -375,7 +380,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
375
380
|
* @memberof Meeting
|
|
376
381
|
*/
|
|
377
382
|
function Meeting(attrs, _options) {
|
|
378
|
-
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;
|
|
379
384
|
var _this;
|
|
380
385
|
(0, _classCallCheck2.default)(this, Meeting);
|
|
381
386
|
_this = _super.call(this, {}, _options);
|
|
@@ -401,6 +406,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
401
406
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "id", void 0);
|
|
402
407
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isMultistream", void 0);
|
|
403
408
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
|
|
409
|
+
_classPrivateFieldInitSpec((0, _assertThisInitialized2.default)(_this), _isoLocalClientMeetingJoinTime, {
|
|
410
|
+
writable: true,
|
|
411
|
+
value: void 0
|
|
412
|
+
});
|
|
404
413
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaConnections", void 0);
|
|
405
414
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaId", void 0);
|
|
406
415
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingFiniteStateMachine", void 0);
|
|
@@ -541,6 +550,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
541
550
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "connectionStateHandler", void 0);
|
|
542
551
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidateErrors", void 0);
|
|
543
552
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidatesCount", void 0);
|
|
553
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "rtcMetrics", void 0);
|
|
544
554
|
/**
|
|
545
555
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
546
556
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -1399,10 +1409,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
1399
1409
|
*/
|
|
1400
1410
|
_this.callStateForMetrics = attrs.callStateForMetrics || {};
|
|
1401
1411
|
var _correlationId = attrs.correlationId || ((_attrs$callStateForMe = attrs.callStateForMetrics) === null || _attrs$callStateForMe === void 0 ? void 0 : _attrs$callStateForMe.correlationId);
|
|
1412
|
+
var sessionCorrelationId = attrs.sessionCorrelationId || ((_attrs$callStateForMe2 = attrs.callStateForMetrics) === null || _attrs$callStateForMe2 === void 0 ? void 0 : _attrs$callStateForMe2.sessionCorrelationId);
|
|
1413
|
+
if (sessionCorrelationId) {
|
|
1414
|
+
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with session correlation id from app ".concat(_correlationId));
|
|
1415
|
+
_this.callStateForMetrics.sessionCorrelationId = sessionCorrelationId;
|
|
1416
|
+
} else {
|
|
1417
|
+
_loggerProxy.default.logger.log("Meetings:index#constructor --> No session correlation id supplied. None will be generated and this field will remain blank");
|
|
1418
|
+
// TODO: supply a session from the meetings instance
|
|
1419
|
+
_this.callStateForMetrics.sessionCorrelationId = '';
|
|
1420
|
+
}
|
|
1402
1421
|
if (_correlationId) {
|
|
1403
1422
|
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with correlation id from app ".concat(_correlationId));
|
|
1404
1423
|
_this.callStateForMetrics.correlationId = _correlationId;
|
|
1405
1424
|
} else {
|
|
1425
|
+
_loggerProxy.default.logger.log("Meetings:index#constructor --> Initializing the meeting object with generated correlation id from sdk ".concat(_this.id));
|
|
1406
1426
|
_this.callStateForMetrics.correlationId = _this.id;
|
|
1407
1427
|
}
|
|
1408
1428
|
/**
|
|
@@ -2156,6 +2176,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2156
2176
|
* @memberof Meeting
|
|
2157
2177
|
*/
|
|
2158
2178
|
_this.iceCandidatesCount = 0;
|
|
2179
|
+
|
|
2180
|
+
/**
|
|
2181
|
+
* Start time of meeting as an ISO string
|
|
2182
|
+
* based on browser time, so can only be used to compute durations client side
|
|
2183
|
+
* undefined if meeting has not been joined, set once on meeting join, and not updated again
|
|
2184
|
+
* @instance
|
|
2185
|
+
* @type {string}
|
|
2186
|
+
* @private
|
|
2187
|
+
* @memberof Meeting
|
|
2188
|
+
*/
|
|
2189
|
+
(0, _classPrivateFieldSet2.default)((0, _assertThisInitialized2.default)(_this), _isoLocalClientMeetingJoinTime, undefined);
|
|
2159
2190
|
return _this;
|
|
2160
2191
|
}
|
|
2161
2192
|
|
|
@@ -2214,6 +2245,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2214
2245
|
this.callStateForMetrics.correlationId = correlationId;
|
|
2215
2246
|
}
|
|
2216
2247
|
|
|
2248
|
+
/**
|
|
2249
|
+
* Getter - Returns callStateForMetrics.sessionCorrelationId
|
|
2250
|
+
* @returns {string}
|
|
2251
|
+
*/
|
|
2252
|
+
}, {
|
|
2253
|
+
key: "sessionCorrelationId",
|
|
2254
|
+
get: function get() {
|
|
2255
|
+
return this.callStateForMetrics.sessionCorrelationId;
|
|
2256
|
+
}
|
|
2257
|
+
|
|
2258
|
+
/**
|
|
2259
|
+
* Setter - sets callStateForMetrics.sessionCorrelationId
|
|
2260
|
+
* @param {string} sessionCorrelationId
|
|
2261
|
+
*/,
|
|
2262
|
+
set: function set(sessionCorrelationId) {
|
|
2263
|
+
this.callStateForMetrics.sessionCorrelationId = sessionCorrelationId;
|
|
2264
|
+
}
|
|
2265
|
+
|
|
2266
|
+
/**
|
|
2267
|
+
* Getter - Returns isoLocalClientMeetingJoinTime
|
|
2268
|
+
* This will be set once on meeting join, and not updated again
|
|
2269
|
+
* @returns {string | undefined}
|
|
2270
|
+
*/
|
|
2271
|
+
}, {
|
|
2272
|
+
key: "isoLocalClientMeetingJoinTime",
|
|
2273
|
+
get: function get() {
|
|
2274
|
+
return (0, _classPrivateFieldGet2.default)(this, _isoLocalClientMeetingJoinTime);
|
|
2275
|
+
}
|
|
2276
|
+
|
|
2217
2277
|
/**
|
|
2218
2278
|
* Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
|
|
2219
2279
|
* @param {any} info
|
|
@@ -3611,6 +3671,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3611
3671
|
});
|
|
3612
3672
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3613
3673
|
var _ref25 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3674
|
+
var _this19$rtcMetrics;
|
|
3614
3675
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3615
3676
|
while (1) switch (_context9.prev = _context9.next) {
|
|
3616
3677
|
case 0:
|
|
@@ -3631,8 +3692,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3631
3692
|
}
|
|
3632
3693
|
});
|
|
3633
3694
|
}
|
|
3695
|
+
(_this19$rtcMetrics = _this19.rtcMetrics) === null || _this19$rtcMetrics === void 0 ? void 0 : _this19$rtcMetrics.sendNextMetrics();
|
|
3634
3696
|
_this19.updateLLMConnection();
|
|
3635
|
-
case
|
|
3697
|
+
case 4:
|
|
3636
3698
|
case "end":
|
|
3637
3699
|
return _context9.stop();
|
|
3638
3700
|
}
|
|
@@ -4188,6 +4250,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
4188
4250
|
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_CHAT],
|
|
4189
4251
|
policies: this.selfUserPolicies
|
|
4190
4252
|
}),
|
|
4253
|
+
canPollingAndQA: _util5.default.hasPolicies({
|
|
4254
|
+
requiredPolicies: [_constants.SELF_POLICY.SUPPORT_POLLING_AND_QA],
|
|
4255
|
+
policies: this.selfUserPolicies
|
|
4256
|
+
}),
|
|
4191
4257
|
canShareApplication: _util5.default.hasHints({
|
|
4192
4258
|
requiredHints: [_constants.DISPLAY_HINTS.SHARE_APPLICATION],
|
|
4193
4259
|
displayHints: this.userDisplayHints
|
|
@@ -5606,6 +5672,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5606
5672
|
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5607
5673
|
_this32.meetingFiniteStateMachine.join();
|
|
5608
5674
|
_this32.setupLocusMediaRequest();
|
|
5675
|
+
|
|
5676
|
+
// @ts-ignore
|
|
5677
|
+
_this32.webex.internal.device.meetingStarted();
|
|
5678
|
+
(0, _classPrivateFieldSet2.default)(_this32, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
5609
5679
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5610
5680
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5611
5681
|
correlation_id: _this32.correlationId
|
|
@@ -6069,9 +6139,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6069
6139
|
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
6070
6140
|
while (1) switch (_context21.prev = _context21.next) {
|
|
6071
6141
|
case 0:
|
|
6072
|
-
|
|
6142
|
+
this.rtcMetrics = this.isMultistream ?
|
|
6073
6143
|
// @ts-ignore
|
|
6074
|
-
this.webex, this.id, this.correlationId
|
|
6144
|
+
new _internalPluginMetrics.RtcMetrics(this.webex, this.id, this.correlationId) : undefined;
|
|
6145
|
+
mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(), this.id, {
|
|
6146
|
+
rtcMetrics: this.rtcMetrics,
|
|
6075
6147
|
mediaProperties: this.mediaProperties,
|
|
6076
6148
|
remoteQualityLevel: this.mediaProperties.remoteQualityLevel,
|
|
6077
6149
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -6093,36 +6165,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6093
6165
|
|
|
6094
6166
|
// publish the streams
|
|
6095
6167
|
if (!this.mediaProperties.audioStream) {
|
|
6096
|
-
_context21.next =
|
|
6168
|
+
_context21.next = 9;
|
|
6097
6169
|
break;
|
|
6098
6170
|
}
|
|
6099
6171
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
6100
|
-
_context21.next =
|
|
6172
|
+
_context21.next = 9;
|
|
6101
6173
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
6102
|
-
case
|
|
6174
|
+
case 9:
|
|
6103
6175
|
if (!this.mediaProperties.videoStream) {
|
|
6104
|
-
_context21.next =
|
|
6176
|
+
_context21.next = 12;
|
|
6105
6177
|
break;
|
|
6106
6178
|
}
|
|
6107
|
-
_context21.next =
|
|
6179
|
+
_context21.next = 12;
|
|
6108
6180
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
6109
|
-
case
|
|
6181
|
+
case 12:
|
|
6110
6182
|
if (!this.mediaProperties.shareVideoStream) {
|
|
6111
|
-
_context21.next =
|
|
6183
|
+
_context21.next = 15;
|
|
6112
6184
|
break;
|
|
6113
6185
|
}
|
|
6114
|
-
_context21.next =
|
|
6186
|
+
_context21.next = 15;
|
|
6115
6187
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
6116
|
-
case
|
|
6188
|
+
case 15:
|
|
6117
6189
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
6118
|
-
_context21.next =
|
|
6190
|
+
_context21.next = 18;
|
|
6119
6191
|
break;
|
|
6120
6192
|
}
|
|
6121
|
-
_context21.next =
|
|
6193
|
+
_context21.next = 18;
|
|
6122
6194
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
6123
|
-
case 17:
|
|
6124
|
-
return _context21.abrupt("return", mc);
|
|
6125
6195
|
case 18:
|
|
6196
|
+
return _context21.abrupt("return", mc);
|
|
6197
|
+
case 19:
|
|
6126
6198
|
case "end":
|
|
6127
6199
|
return _context21.stop();
|
|
6128
6200
|
}
|
|
@@ -6302,7 +6374,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6302
6374
|
// @ts-ignore - config coming from registerPlugin
|
|
6303
6375
|
if (this.config.stats.enableStatsAnalyzer) {
|
|
6304
6376
|
// @ts-ignore - config coming from registerPlugin
|
|
6305
|
-
this.networkQualityMonitor = new
|
|
6377
|
+
this.networkQualityMonitor = new _internalMediaCore.NetworkQualityMonitor(this.config.stats);
|
|
6306
6378
|
this.statsAnalyzer = new _internalMediaCore.StatsAnalyzer({
|
|
6307
6379
|
// @ts-ignore - config coming from registerPlugin
|
|
6308
6380
|
config: this.config.stats,
|
|
@@ -6310,7 +6382,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6310
6382
|
isMultistream: this.isMultistream
|
|
6311
6383
|
});
|
|
6312
6384
|
this.setupStatsAnalyzerEventHandlers();
|
|
6313
|
-
this.networkQualityMonitor.on(
|
|
6385
|
+
this.networkQualityMonitor.on(_internalMediaCore.NetworkQualityEventNames.NETWORK_QUALITY, this.sendNetworkQualityEvent.bind(this));
|
|
6314
6386
|
}
|
|
6315
6387
|
}
|
|
6316
6388
|
|
|
@@ -6319,6 +6391,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6319
6391
|
*
|
|
6320
6392
|
* @private
|
|
6321
6393
|
* @static
|
|
6394
|
+
* @param {boolean} isAudioEnabled
|
|
6395
|
+
* @param {boolean} isVideoEnabled
|
|
6322
6396
|
* @returns {Promise<void>}
|
|
6323
6397
|
*/
|
|
6324
6398
|
}, {
|
|
@@ -6830,6 +6904,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6830
6904
|
selectedCandidatePairChanges,
|
|
6831
6905
|
numTransports,
|
|
6832
6906
|
reachabilityStats,
|
|
6907
|
+
iceCandidateErrors,
|
|
6833
6908
|
_this$mediaProperties13,
|
|
6834
6909
|
_this$mediaProperties14,
|
|
6835
6910
|
_this$mediaProperties15,
|
|
@@ -6855,7 +6930,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6855
6930
|
_yield$this$mediaProp2,
|
|
6856
6931
|
_selectedCandidatePairChanges,
|
|
6857
6932
|
_numTransports,
|
|
6858
|
-
|
|
6933
|
+
_iceCandidateErrors,
|
|
6859
6934
|
_args32 = arguments;
|
|
6860
6935
|
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
6861
6936
|
while (1) switch (_context32.prev = _context32.next) {
|
|
@@ -6941,7 +7016,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6941
7016
|
break;
|
|
6942
7017
|
}
|
|
6943
7018
|
_context32.next = 28;
|
|
6944
|
-
return Meeting.handleDeviceLogging();
|
|
7019
|
+
return Meeting.handleDeviceLogging(audioEnabled, videoEnabled);
|
|
6945
7020
|
case 28:
|
|
6946
7021
|
_context32.next = 31;
|
|
6947
7022
|
break;
|
|
@@ -6966,7 +7041,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6966
7041
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6967
7042
|
case 42:
|
|
6968
7043
|
reachabilityStats = _context32.sent;
|
|
6969
|
-
|
|
7044
|
+
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7045
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
6970
7046
|
correlation_id: this.correlationId,
|
|
6971
7047
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6972
7048
|
connectionType: connectionType,
|
|
@@ -6975,7 +7051,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6975
7051
|
isMultistream: this.isMultistream,
|
|
6976
7052
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
|
|
6977
7053
|
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry
|
|
6978
|
-
}, reachabilityStats), {}, {
|
|
7054
|
+
}, reachabilityStats), iceCandidateErrors), {}, {
|
|
6979
7055
|
iceCandidatesCount: this.iceCandidatesCount
|
|
6980
7056
|
}));
|
|
6981
7057
|
// @ts-ignore
|
|
@@ -6989,25 +7065,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6989
7065
|
|
|
6990
7066
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6991
7067
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6992
|
-
_context32.next =
|
|
7068
|
+
_context32.next = 68;
|
|
6993
7069
|
break;
|
|
6994
|
-
case
|
|
6995
|
-
_context32.prev =
|
|
7070
|
+
case 50:
|
|
7071
|
+
_context32.prev = 50;
|
|
6996
7072
|
_context32.t0 = _context32["catch"](18);
|
|
6997
7073
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context32.t0);
|
|
6998
7074
|
|
|
6999
7075
|
// @ts-ignore
|
|
7000
|
-
_context32.next =
|
|
7076
|
+
_context32.next = 55;
|
|
7001
7077
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7002
|
-
case
|
|
7078
|
+
case 55:
|
|
7003
7079
|
reachabilityMetrics = _context32.sent;
|
|
7004
|
-
_context32.next =
|
|
7080
|
+
_context32.next = 58;
|
|
7005
7081
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7006
|
-
case
|
|
7082
|
+
case 58:
|
|
7007
7083
|
_yield$this$mediaProp2 = _context32.sent;
|
|
7008
7084
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7009
7085
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
7010
|
-
|
|
7086
|
+
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7011
7087
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
7012
7088
|
correlation_id: this.correlationId,
|
|
7013
7089
|
locus_id: this.locusUrl.split('/').pop(),
|
|
@@ -7024,12 +7100,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7024
7100
|
signalingState: ((_this$mediaProperties13 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties13 === void 0 ? void 0 : (_this$mediaProperties14 = _this$mediaProperties13.multistreamConnection) === null || _this$mediaProperties14 === void 0 ? void 0 : (_this$mediaProperties15 = _this$mediaProperties14.pc) === null || _this$mediaProperties15 === void 0 ? void 0 : (_this$mediaProperties16 = _this$mediaProperties15.pc) === null || _this$mediaProperties16 === void 0 ? void 0 : _this$mediaProperties16.signalingState) || ((_this$mediaProperties17 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties17 === void 0 ? void 0 : (_this$mediaProperties18 = _this$mediaProperties17.mediaConnection) === null || _this$mediaProperties18 === void 0 ? void 0 : (_this$mediaProperties19 = _this$mediaProperties18.pc) === null || _this$mediaProperties19 === void 0 ? void 0 : _this$mediaProperties19.signalingState) || 'unknown',
|
|
7025
7101
|
connectionState: ((_this$mediaProperties20 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties20 === void 0 ? void 0 : (_this$mediaProperties21 = _this$mediaProperties20.multistreamConnection) === null || _this$mediaProperties21 === void 0 ? void 0 : (_this$mediaProperties22 = _this$mediaProperties21.pc) === null || _this$mediaProperties22 === void 0 ? void 0 : (_this$mediaProperties23 = _this$mediaProperties22.pc) === null || _this$mediaProperties23 === void 0 ? void 0 : _this$mediaProperties23.connectionState) || ((_this$mediaProperties24 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties24 === void 0 ? void 0 : (_this$mediaProperties25 = _this$mediaProperties24.mediaConnection) === null || _this$mediaProperties25 === void 0 ? void 0 : (_this$mediaProperties26 = _this$mediaProperties25.pc) === null || _this$mediaProperties26 === void 0 ? void 0 : _this$mediaProperties26.connectionState) || 'unknown',
|
|
7026
7102
|
iceConnectionState: ((_this$mediaProperties27 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties27 === void 0 ? void 0 : (_this$mediaProperties28 = _this$mediaProperties27.multistreamConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.pc) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : _this$mediaProperties30.iceConnectionState) || ((_this$mediaProperties31 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties31 === void 0 ? void 0 : (_this$mediaProperties32 = _this$mediaProperties31.mediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.pc) === null || _this$mediaProperties33 === void 0 ? void 0 : _this$mediaProperties33.iceConnectionState) || 'unknown'
|
|
7027
|
-
}, reachabilityMetrics),
|
|
7103
|
+
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7028
7104
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7029
7105
|
}));
|
|
7030
|
-
_context32.next =
|
|
7106
|
+
_context32.next = 65;
|
|
7031
7107
|
return this.cleanUpOnAddMediaFailure();
|
|
7032
|
-
case
|
|
7108
|
+
case 65:
|
|
7033
7109
|
// Upload logs on error while adding media
|
|
7034
7110
|
_triggerProxy.default.trigger(this, {
|
|
7035
7111
|
file: 'meeting/index',
|
|
@@ -7041,15 +7117,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7041
7117
|
});
|
|
7042
7118
|
}
|
|
7043
7119
|
throw _context32.t0;
|
|
7044
|
-
case
|
|
7045
|
-
_context32.prev =
|
|
7120
|
+
case 68:
|
|
7121
|
+
_context32.prev = 68;
|
|
7046
7122
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7047
|
-
return _context32.finish(
|
|
7048
|
-
case
|
|
7123
|
+
return _context32.finish(68);
|
|
7124
|
+
case 71:
|
|
7049
7125
|
case "end":
|
|
7050
7126
|
return _context32.stop();
|
|
7051
7127
|
}
|
|
7052
|
-
}, _callee32, this, [[18,
|
|
7128
|
+
}, _callee32, this, [[18, 50, 68, 71]]);
|
|
7053
7129
|
}));
|
|
7054
7130
|
function addMediaInternal(_x32, _x33, _x34) {
|
|
7055
7131
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -8543,29 +8619,57 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8543
8619
|
}], [{
|
|
8544
8620
|
key: "handleDeviceLogging",
|
|
8545
8621
|
value: (function () {
|
|
8546
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39() {
|
|
8622
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39(isAudioEnabled, isVideoEnabled) {
|
|
8547
8623
|
var devices;
|
|
8548
8624
|
return _regenerator.default.wrap(function _callee39$(_context39) {
|
|
8549
8625
|
while (1) switch (_context39.prev = _context39.next) {
|
|
8550
8626
|
case 0:
|
|
8551
8627
|
_context39.prev = 0;
|
|
8552
|
-
|
|
8628
|
+
devices = [];
|
|
8629
|
+
if (!(isVideoEnabled && isAudioEnabled)) {
|
|
8630
|
+
_context39.next = 8;
|
|
8631
|
+
break;
|
|
8632
|
+
}
|
|
8633
|
+
_context39.next = 5;
|
|
8553
8634
|
return (0, _mediaHelpers.getDevices)();
|
|
8554
|
-
case
|
|
8635
|
+
case 5:
|
|
8555
8636
|
devices = _context39.sent;
|
|
8637
|
+
_context39.next = 18;
|
|
8638
|
+
break;
|
|
8639
|
+
case 8:
|
|
8640
|
+
if (!isVideoEnabled) {
|
|
8641
|
+
_context39.next = 14;
|
|
8642
|
+
break;
|
|
8643
|
+
}
|
|
8644
|
+
_context39.next = 11;
|
|
8645
|
+
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.VIDEO_INPUT);
|
|
8646
|
+
case 11:
|
|
8647
|
+
devices = _context39.sent;
|
|
8648
|
+
_context39.next = 18;
|
|
8649
|
+
break;
|
|
8650
|
+
case 14:
|
|
8651
|
+
if (!isAudioEnabled) {
|
|
8652
|
+
_context39.next = 18;
|
|
8653
|
+
break;
|
|
8654
|
+
}
|
|
8655
|
+
_context39.next = 17;
|
|
8656
|
+
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.AUDIO_INPUT);
|
|
8657
|
+
case 17:
|
|
8658
|
+
devices = _context39.sent;
|
|
8659
|
+
case 18:
|
|
8556
8660
|
_util2.default.handleDeviceLogging(devices);
|
|
8557
|
-
_context39.next =
|
|
8661
|
+
_context39.next = 23;
|
|
8558
8662
|
break;
|
|
8559
|
-
case
|
|
8560
|
-
_context39.prev =
|
|
8663
|
+
case 21:
|
|
8664
|
+
_context39.prev = 21;
|
|
8561
8665
|
_context39.t0 = _context39["catch"](0);
|
|
8562
|
-
case
|
|
8666
|
+
case 23:
|
|
8563
8667
|
case "end":
|
|
8564
8668
|
return _context39.stop();
|
|
8565
8669
|
}
|
|
8566
|
-
}, _callee39, null, [[0,
|
|
8670
|
+
}, _callee39, null, [[0, 21]]);
|
|
8567
8671
|
}));
|
|
8568
|
-
function handleDeviceLogging() {
|
|
8672
|
+
function handleDeviceLogging(_x43, _x44) {
|
|
8569
8673
|
return _handleDeviceLogging.apply(this, arguments);
|
|
8570
8674
|
}
|
|
8571
8675
|
return handleDeviceLogging;
|