@webex/plugin-meetings 3.4.0 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +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/index.js +122 -49
- 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 +4 -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/rtcMetrics/index.js +26 -6
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/types/meeting/index.d.ts +11 -2
- package/dist/types/meetings/index.d.ts +2 -1
- package/dist/types/reachability/index.d.ts +14 -2
- package/dist/types/rtcMetrics/index.d.ts +11 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -22
- package/src/media/index.ts +5 -9
- package/src/meeting/index.ts +54 -10
- package/src/meeting/util.ts +2 -0
- package/src/meetings/index.ts +4 -3
- package/src/reachability/index.ts +49 -4
- package/src/reconnection-manager/index.ts +1 -1
- package/src/rtcMetrics/index.ts +25 -5
- 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/index.js +77 -6
- 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 +30 -3
- 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/test/unit/spec/rtcMetrics/index.ts +31 -0
- package/src/networkQualityMonitor/index.ts +0 -211
- package/test/unit/spec/networkQualityMonitor/index.js +0 -99
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"));
|
|
@@ -84,13 +86,16 @@ var _controlsOptionsManager = _interopRequireDefault(require("../controls-option
|
|
|
84
86
|
var _permission = _interopRequireDefault(require("../common/errors/permission"));
|
|
85
87
|
var _locusMediaRequest = require("./locusMediaRequest");
|
|
86
88
|
var _connectionStateHandler = require("./connectionStateHandler");
|
|
89
|
+
var _rtcMetrics = _interopRequireDefault(require("../rtcMetrics"));
|
|
87
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; } } }; }
|
|
88
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); }
|
|
89
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; }
|
|
90
93
|
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
94
|
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
95
|
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; } }
|
|
96
|
+
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; } }
|
|
97
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
98
|
+
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
99
|
// @ts-ignore - Types not available for @webex/common
|
|
95
100
|
// default callback so we don't call an undefined function, but in practice it should never be used
|
|
96
101
|
var DEFAULT_ICE_PHASE_CALLBACK = function DEFAULT_ICE_PHASE_CALLBACK() {
|
|
@@ -119,6 +124,7 @@ var ScreenShareFloorStatus = exports.ScreenShareFloorStatus = /*#__PURE__*/funct
|
|
|
119
124
|
ScreenShareFloorStatus["RELEASED"] = "floor_released";
|
|
120
125
|
return ScreenShareFloorStatus;
|
|
121
126
|
}({});
|
|
127
|
+
var _isoLocalClientMeetingJoinTime = /*#__PURE__*/new _weakMap.default();
|
|
122
128
|
/**
|
|
123
129
|
* MediaDirection
|
|
124
130
|
* @typedef {Object} MediaDirection
|
|
@@ -401,6 +407,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
401
407
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "id", void 0);
|
|
402
408
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "isMultistream", void 0);
|
|
403
409
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
|
|
410
|
+
_classPrivateFieldInitSpec((0, _assertThisInitialized2.default)(_this), _isoLocalClientMeetingJoinTime, {
|
|
411
|
+
writable: true,
|
|
412
|
+
value: void 0
|
|
413
|
+
});
|
|
404
414
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaConnections", void 0);
|
|
405
415
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "mediaId", void 0);
|
|
406
416
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "meetingFiniteStateMachine", void 0);
|
|
@@ -541,6 +551,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
541
551
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "connectionStateHandler", void 0);
|
|
542
552
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidateErrors", void 0);
|
|
543
553
|
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "iceCandidatesCount", void 0);
|
|
554
|
+
(0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "rtcMetrics", void 0);
|
|
544
555
|
/**
|
|
545
556
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
546
557
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -2156,6 +2167,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2156
2167
|
* @memberof Meeting
|
|
2157
2168
|
*/
|
|
2158
2169
|
_this.iceCandidatesCount = 0;
|
|
2170
|
+
|
|
2171
|
+
/**
|
|
2172
|
+
* Start time of meeting as an ISO string
|
|
2173
|
+
* based on browser time, so can only be used to compute durations client side
|
|
2174
|
+
* undefined if meeting has not been joined, set once on meeting join, and not updated again
|
|
2175
|
+
* @instance
|
|
2176
|
+
* @type {string}
|
|
2177
|
+
* @private
|
|
2178
|
+
* @memberof Meeting
|
|
2179
|
+
*/
|
|
2180
|
+
(0, _classPrivateFieldSet2.default)((0, _assertThisInitialized2.default)(_this), _isoLocalClientMeetingJoinTime, undefined);
|
|
2159
2181
|
return _this;
|
|
2160
2182
|
}
|
|
2161
2183
|
|
|
@@ -2214,6 +2236,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
2214
2236
|
this.callStateForMetrics.correlationId = correlationId;
|
|
2215
2237
|
}
|
|
2216
2238
|
|
|
2239
|
+
/**
|
|
2240
|
+
* Getter - Returns isoLocalClientMeetingJoinTime
|
|
2241
|
+
* This will be set once on meeting join, and not updated again
|
|
2242
|
+
* @returns {string | undefined}
|
|
2243
|
+
*/
|
|
2244
|
+
}, {
|
|
2245
|
+
key: "isoLocalClientMeetingJoinTime",
|
|
2246
|
+
get: function get() {
|
|
2247
|
+
return (0, _classPrivateFieldGet2.default)(this, _isoLocalClientMeetingJoinTime);
|
|
2248
|
+
}
|
|
2249
|
+
|
|
2217
2250
|
/**
|
|
2218
2251
|
* Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
|
|
2219
2252
|
* @param {any} info
|
|
@@ -3611,6 +3644,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3611
3644
|
});
|
|
3612
3645
|
this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
|
|
3613
3646
|
var _ref25 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
|
|
3647
|
+
var _this19$rtcMetrics;
|
|
3614
3648
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
3615
3649
|
while (1) switch (_context9.prev = _context9.next) {
|
|
3616
3650
|
case 0:
|
|
@@ -3631,8 +3665,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
3631
3665
|
}
|
|
3632
3666
|
});
|
|
3633
3667
|
}
|
|
3668
|
+
(_this19$rtcMetrics = _this19.rtcMetrics) === null || _this19$rtcMetrics === void 0 ? void 0 : _this19$rtcMetrics.sendNextMetrics();
|
|
3634
3669
|
_this19.updateLLMConnection();
|
|
3635
|
-
case
|
|
3670
|
+
case 4:
|
|
3636
3671
|
case "end":
|
|
3637
3672
|
return _context9.stop();
|
|
3638
3673
|
}
|
|
@@ -5606,6 +5641,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
5606
5641
|
return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
|
|
5607
5642
|
_this32.meetingFiniteStateMachine.join();
|
|
5608
5643
|
_this32.setupLocusMediaRequest();
|
|
5644
|
+
|
|
5645
|
+
// @ts-ignore
|
|
5646
|
+
_this32.webex.internal.device.meetingStarted();
|
|
5647
|
+
(0, _classPrivateFieldSet2.default)(_this32, _isoLocalClientMeetingJoinTime, new Date().toISOString());
|
|
5609
5648
|
_loggerProxy.default.logger.log('Meeting:index#join --> Success');
|
|
5610
5649
|
_metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
|
|
5611
5650
|
correlation_id: _this32.correlationId
|
|
@@ -6069,9 +6108,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6069
6108
|
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
6070
6109
|
while (1) switch (_context21.prev = _context21.next) {
|
|
6071
6110
|
case 0:
|
|
6072
|
-
|
|
6111
|
+
this.rtcMetrics = this.isMultistream ?
|
|
6073
6112
|
// @ts-ignore
|
|
6074
|
-
this.webex, this.id, this.correlationId
|
|
6113
|
+
new _rtcMetrics.default(this.webex, this.id, this.correlationId) : undefined;
|
|
6114
|
+
mc = _media.default.createMediaConnection(this.isMultistream, this.getMediaConnectionDebugId(), this.id, {
|
|
6115
|
+
rtcMetrics: this.rtcMetrics,
|
|
6075
6116
|
mediaProperties: this.mediaProperties,
|
|
6076
6117
|
remoteQualityLevel: this.mediaProperties.remoteQualityLevel,
|
|
6077
6118
|
// @ts-ignore - config coming from registerPlugin
|
|
@@ -6093,36 +6134,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6093
6134
|
|
|
6094
6135
|
// publish the streams
|
|
6095
6136
|
if (!this.mediaProperties.audioStream) {
|
|
6096
|
-
_context21.next =
|
|
6137
|
+
_context21.next = 9;
|
|
6097
6138
|
break;
|
|
6098
6139
|
}
|
|
6099
6140
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
6100
|
-
_context21.next =
|
|
6141
|
+
_context21.next = 9;
|
|
6101
6142
|
return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
|
|
6102
|
-
case
|
|
6143
|
+
case 9:
|
|
6103
6144
|
if (!this.mediaProperties.videoStream) {
|
|
6104
|
-
_context21.next =
|
|
6145
|
+
_context21.next = 12;
|
|
6105
6146
|
break;
|
|
6106
6147
|
}
|
|
6107
|
-
_context21.next =
|
|
6148
|
+
_context21.next = 12;
|
|
6108
6149
|
return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
|
|
6109
|
-
case
|
|
6150
|
+
case 12:
|
|
6110
6151
|
if (!this.mediaProperties.shareVideoStream) {
|
|
6111
|
-
_context21.next =
|
|
6152
|
+
_context21.next = 15;
|
|
6112
6153
|
break;
|
|
6113
6154
|
}
|
|
6114
|
-
_context21.next =
|
|
6155
|
+
_context21.next = 15;
|
|
6115
6156
|
return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
|
|
6116
|
-
case
|
|
6157
|
+
case 15:
|
|
6117
6158
|
if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
|
|
6118
|
-
_context21.next =
|
|
6159
|
+
_context21.next = 18;
|
|
6119
6160
|
break;
|
|
6120
6161
|
}
|
|
6121
|
-
_context21.next =
|
|
6162
|
+
_context21.next = 18;
|
|
6122
6163
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
6123
|
-
case 17:
|
|
6124
|
-
return _context21.abrupt("return", mc);
|
|
6125
6164
|
case 18:
|
|
6165
|
+
return _context21.abrupt("return", mc);
|
|
6166
|
+
case 19:
|
|
6126
6167
|
case "end":
|
|
6127
6168
|
return _context21.stop();
|
|
6128
6169
|
}
|
|
@@ -6302,7 +6343,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6302
6343
|
// @ts-ignore - config coming from registerPlugin
|
|
6303
6344
|
if (this.config.stats.enableStatsAnalyzer) {
|
|
6304
6345
|
// @ts-ignore - config coming from registerPlugin
|
|
6305
|
-
this.networkQualityMonitor = new
|
|
6346
|
+
this.networkQualityMonitor = new _internalMediaCore.NetworkQualityMonitor(this.config.stats);
|
|
6306
6347
|
this.statsAnalyzer = new _internalMediaCore.StatsAnalyzer({
|
|
6307
6348
|
// @ts-ignore - config coming from registerPlugin
|
|
6308
6349
|
config: this.config.stats,
|
|
@@ -6310,7 +6351,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6310
6351
|
isMultistream: this.isMultistream
|
|
6311
6352
|
});
|
|
6312
6353
|
this.setupStatsAnalyzerEventHandlers();
|
|
6313
|
-
this.networkQualityMonitor.on(
|
|
6354
|
+
this.networkQualityMonitor.on(_internalMediaCore.NetworkQualityEventNames.NETWORK_QUALITY, this.sendNetworkQualityEvent.bind(this));
|
|
6314
6355
|
}
|
|
6315
6356
|
}
|
|
6316
6357
|
|
|
@@ -6319,6 +6360,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6319
6360
|
*
|
|
6320
6361
|
* @private
|
|
6321
6362
|
* @static
|
|
6363
|
+
* @param {boolean} isAudioEnabled
|
|
6364
|
+
* @param {boolean} isVideoEnabled
|
|
6322
6365
|
* @returns {Promise<void>}
|
|
6323
6366
|
*/
|
|
6324
6367
|
}, {
|
|
@@ -6830,6 +6873,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6830
6873
|
selectedCandidatePairChanges,
|
|
6831
6874
|
numTransports,
|
|
6832
6875
|
reachabilityStats,
|
|
6876
|
+
iceCandidateErrors,
|
|
6833
6877
|
_this$mediaProperties13,
|
|
6834
6878
|
_this$mediaProperties14,
|
|
6835
6879
|
_this$mediaProperties15,
|
|
@@ -6855,7 +6899,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6855
6899
|
_yield$this$mediaProp2,
|
|
6856
6900
|
_selectedCandidatePairChanges,
|
|
6857
6901
|
_numTransports,
|
|
6858
|
-
|
|
6902
|
+
_iceCandidateErrors,
|
|
6859
6903
|
_args32 = arguments;
|
|
6860
6904
|
return _regenerator.default.wrap(function _callee32$(_context32) {
|
|
6861
6905
|
while (1) switch (_context32.prev = _context32.next) {
|
|
@@ -6941,7 +6985,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6941
6985
|
break;
|
|
6942
6986
|
}
|
|
6943
6987
|
_context32.next = 28;
|
|
6944
|
-
return Meeting.handleDeviceLogging();
|
|
6988
|
+
return Meeting.handleDeviceLogging(audioEnabled, videoEnabled);
|
|
6945
6989
|
case 28:
|
|
6946
6990
|
_context32.next = 31;
|
|
6947
6991
|
break;
|
|
@@ -6966,7 +7010,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6966
7010
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
6967
7011
|
case 42:
|
|
6968
7012
|
reachabilityStats = _context32.sent;
|
|
6969
|
-
|
|
7013
|
+
iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7014
|
+
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
|
|
6970
7015
|
correlation_id: this.correlationId,
|
|
6971
7016
|
locus_id: this.locusUrl.split('/').pop(),
|
|
6972
7017
|
connectionType: connectionType,
|
|
@@ -6975,7 +7020,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6975
7020
|
isMultistream: this.isMultistream,
|
|
6976
7021
|
retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
|
|
6977
7022
|
isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry
|
|
6978
|
-
}, reachabilityStats), {}, {
|
|
7023
|
+
}, reachabilityStats), iceCandidateErrors), {}, {
|
|
6979
7024
|
iceCandidatesCount: this.iceCandidatesCount
|
|
6980
7025
|
}));
|
|
6981
7026
|
// @ts-ignore
|
|
@@ -6989,25 +7034,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
6989
7034
|
|
|
6990
7035
|
// We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
|
|
6991
7036
|
(_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
|
|
6992
|
-
_context32.next =
|
|
7037
|
+
_context32.next = 68;
|
|
6993
7038
|
break;
|
|
6994
|
-
case
|
|
6995
|
-
_context32.prev =
|
|
7039
|
+
case 50:
|
|
7040
|
+
_context32.prev = 50;
|
|
6996
7041
|
_context32.t0 = _context32["catch"](18);
|
|
6997
7042
|
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context32.t0);
|
|
6998
7043
|
|
|
6999
7044
|
// @ts-ignore
|
|
7000
|
-
_context32.next =
|
|
7045
|
+
_context32.next = 55;
|
|
7001
7046
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7002
|
-
case
|
|
7047
|
+
case 55:
|
|
7003
7048
|
reachabilityMetrics = _context32.sent;
|
|
7004
|
-
_context32.next =
|
|
7049
|
+
_context32.next = 58;
|
|
7005
7050
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7006
|
-
case
|
|
7051
|
+
case 58:
|
|
7007
7052
|
_yield$this$mediaProp2 = _context32.sent;
|
|
7008
7053
|
_selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
|
|
7009
7054
|
_numTransports = _yield$this$mediaProp2.numTransports;
|
|
7010
|
-
|
|
7055
|
+
_iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
|
|
7011
7056
|
_metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
|
|
7012
7057
|
correlation_id: this.correlationId,
|
|
7013
7058
|
locus_id: this.locusUrl.split('/').pop(),
|
|
@@ -7024,12 +7069,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7024
7069
|
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
7070
|
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
7071
|
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),
|
|
7072
|
+
}, reachabilityMetrics), _iceCandidateErrors), {}, {
|
|
7028
7073
|
iceCandidatesCount: this.iceCandidatesCount
|
|
7029
7074
|
}));
|
|
7030
|
-
_context32.next =
|
|
7075
|
+
_context32.next = 65;
|
|
7031
7076
|
return this.cleanUpOnAddMediaFailure();
|
|
7032
|
-
case
|
|
7077
|
+
case 65:
|
|
7033
7078
|
// Upload logs on error while adding media
|
|
7034
7079
|
_triggerProxy.default.trigger(this, {
|
|
7035
7080
|
file: 'meeting/index',
|
|
@@ -7041,15 +7086,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
7041
7086
|
});
|
|
7042
7087
|
}
|
|
7043
7088
|
throw _context32.t0;
|
|
7044
|
-
case
|
|
7045
|
-
_context32.prev =
|
|
7089
|
+
case 68:
|
|
7090
|
+
_context32.prev = 68;
|
|
7046
7091
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7047
|
-
return _context32.finish(
|
|
7048
|
-
case
|
|
7092
|
+
return _context32.finish(68);
|
|
7093
|
+
case 71:
|
|
7049
7094
|
case "end":
|
|
7050
7095
|
return _context32.stop();
|
|
7051
7096
|
}
|
|
7052
|
-
}, _callee32, this, [[18,
|
|
7097
|
+
}, _callee32, this, [[18, 50, 68, 71]]);
|
|
7053
7098
|
}));
|
|
7054
7099
|
function addMediaInternal(_x32, _x33, _x34) {
|
|
7055
7100
|
return _addMediaInternal.apply(this, arguments);
|
|
@@ -8543,29 +8588,57 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
|
|
|
8543
8588
|
}], [{
|
|
8544
8589
|
key: "handleDeviceLogging",
|
|
8545
8590
|
value: (function () {
|
|
8546
|
-
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39() {
|
|
8591
|
+
var _handleDeviceLogging = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39(isAudioEnabled, isVideoEnabled) {
|
|
8547
8592
|
var devices;
|
|
8548
8593
|
return _regenerator.default.wrap(function _callee39$(_context39) {
|
|
8549
8594
|
while (1) switch (_context39.prev = _context39.next) {
|
|
8550
8595
|
case 0:
|
|
8551
8596
|
_context39.prev = 0;
|
|
8552
|
-
|
|
8597
|
+
devices = [];
|
|
8598
|
+
if (!(isVideoEnabled && isAudioEnabled)) {
|
|
8599
|
+
_context39.next = 8;
|
|
8600
|
+
break;
|
|
8601
|
+
}
|
|
8602
|
+
_context39.next = 5;
|
|
8553
8603
|
return (0, _mediaHelpers.getDevices)();
|
|
8554
|
-
case
|
|
8604
|
+
case 5:
|
|
8555
8605
|
devices = _context39.sent;
|
|
8606
|
+
_context39.next = 18;
|
|
8607
|
+
break;
|
|
8608
|
+
case 8:
|
|
8609
|
+
if (!isVideoEnabled) {
|
|
8610
|
+
_context39.next = 14;
|
|
8611
|
+
break;
|
|
8612
|
+
}
|
|
8613
|
+
_context39.next = 11;
|
|
8614
|
+
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.VIDEO_INPUT);
|
|
8615
|
+
case 11:
|
|
8616
|
+
devices = _context39.sent;
|
|
8617
|
+
_context39.next = 18;
|
|
8618
|
+
break;
|
|
8619
|
+
case 14:
|
|
8620
|
+
if (!isAudioEnabled) {
|
|
8621
|
+
_context39.next = 18;
|
|
8622
|
+
break;
|
|
8623
|
+
}
|
|
8624
|
+
_context39.next = 17;
|
|
8625
|
+
return (0, _mediaHelpers.getDevices)(_media.default.DeviceKind.AUDIO_INPUT);
|
|
8626
|
+
case 17:
|
|
8627
|
+
devices = _context39.sent;
|
|
8628
|
+
case 18:
|
|
8556
8629
|
_util2.default.handleDeviceLogging(devices);
|
|
8557
|
-
_context39.next =
|
|
8630
|
+
_context39.next = 23;
|
|
8558
8631
|
break;
|
|
8559
|
-
case
|
|
8560
|
-
_context39.prev =
|
|
8632
|
+
case 21:
|
|
8633
|
+
_context39.prev = 21;
|
|
8561
8634
|
_context39.t0 = _context39["catch"](0);
|
|
8562
|
-
case
|
|
8635
|
+
case 23:
|
|
8563
8636
|
case "end":
|
|
8564
8637
|
return _context39.stop();
|
|
8565
8638
|
}
|
|
8566
|
-
}, _callee39, null, [[0,
|
|
8639
|
+
}, _callee39, null, [[0, 21]]);
|
|
8567
8640
|
}));
|
|
8568
|
-
function handleDeviceLogging() {
|
|
8641
|
+
function handleDeviceLogging(_x43, _x44) {
|
|
8569
8642
|
return _handleDeviceLogging.apply(this, arguments);
|
|
8570
8643
|
}
|
|
8571
8644
|
return handleDeviceLogging;
|