@webex/plugin-meetings 2.37.0 → 2.37.1
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/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/common/browser-detection.js +1 -20
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +5 -26
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +5 -26
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +6 -27
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +5 -26
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +5 -26
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +4 -25
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +5 -26
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +5 -26
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +7 -46
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +1 -24
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +35 -61
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +1 -5
- package/dist/config.js.map +1 -1
- package/dist/constants.js +46 -42
- package/dist/constants.js.map +1 -1
- package/dist/index.js +1 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +10 -28
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +101 -193
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +0 -37
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +87 -123
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +16 -81
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +74 -137
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +64 -110
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +3 -17
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +10 -12
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.js +120 -192
- package/dist/meeting/effectsState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +0 -13
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +812 -1487
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +31 -78
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +157 -227
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +25 -169
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +3 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +10 -33
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +179 -268
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -16
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +137 -228
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +3 -21
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +451 -570
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +7 -30
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +94 -148
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -89
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +17 -68
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +2 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +68 -184
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +21 -56
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +9 -38
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +0 -2
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +1 -2
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +48 -136
- package/dist/metrics/index.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +28 -57
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/peer-connection-manager/index.js +60 -190
- package/dist/peer-connection-manager/index.js.map +1 -1
- package/dist/peer-connection-manager/util.js +10 -24
- package/dist/peer-connection-manager/util.js.map +1 -1
- package/dist/personal-meeting-room/index.js +10 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +2 -33
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js +100 -166
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +2 -18
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/reactions.js +0 -2
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +0 -5
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +294 -468
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/collection.js +1 -12
- package/dist/roap/collection.js.map +1 -1
- package/dist/roap/handler.js +15 -85
- package/dist/roap/handler.js.map +1 -1
- package/dist/roap/index.js +42 -94
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +81 -148
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/state.js +2 -39
- package/dist/roap/state.js.map +1 -1
- package/dist/roap/turnDiscovery.js +8 -52
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/util.js +0 -26
- package/dist/roap/util.js.map +1 -1
- package/dist/statsAnalyzer/global.js +0 -2
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +68 -168
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +54 -53
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +13 -45
- package/dist/transcription/index.js.map +1 -1
- package/internal-README.md +7 -6
- package/package.json +17 -17
- package/src/common/browser-detection.ts +9 -6
- package/src/common/collection.ts +3 -1
- package/src/common/errors/captcha-error.ts +6 -6
- package/src/common/errors/intent-to-join.ts +6 -6
- package/src/common/errors/join-meeting.ts +12 -8
- package/src/common/errors/media.ts +6 -6
- package/src/common/errors/parameter.ts +9 -6
- package/src/common/errors/password-error.ts +6 -6
- package/src/common/errors/permission.ts +5 -5
- package/src/common/errors/reconnection.ts +6 -6
- package/src/common/errors/stats.ts +6 -6
- package/src/common/errors/webex-errors.ts +7 -5
- package/src/common/errors/webex-meetings-error.ts +1 -1
- package/src/common/events/events-scope.ts +5 -1
- package/src/common/events/events.ts +5 -1
- package/src/common/events/trigger-proxy.ts +8 -3
- package/src/common/events/util.ts +1 -2
- package/src/common/logs/logger-proxy.ts +21 -10
- package/src/common/logs/request.ts +11 -8
- package/src/config.ts +11 -11
- package/src/constants.ts +138 -119
- package/src/index.js +1 -1
- package/src/locus-info/controlsUtils.ts +34 -24
- package/src/locus-info/fullState.ts +15 -11
- package/src/locus-info/hostUtils.ts +4 -3
- package/src/locus-info/index.ts +25 -34
- package/src/locus-info/infoUtils.ts +12 -4
- package/src/locus-info/mediaSharesUtils.ts +4 -4
- package/src/locus-info/parser.ts +45 -68
- package/src/locus-info/selfUtils.ts +106 -57
- package/src/media/index.ts +118 -109
- package/src/media/properties.ts +26 -20
- package/src/media/util.ts +2 -2
- package/src/mediaQualityMetrics/config.ts +46 -46
- package/src/meeting/effectsState.ts +35 -35
- package/src/meeting/in-meeting-actions.ts +7 -3
- package/src/meeting/index.ts +1435 -1210
- package/src/meeting/muteState.ts +62 -31
- package/src/meeting/request.ts +160 -113
- package/src/meeting/state.ts +45 -30
- package/src/meeting/util.ts +131 -90
- package/src/meeting-info/collection.ts +2 -1
- package/src/meeting-info/index.ts +32 -30
- package/src/meeting-info/meeting-info-v2.ts +106 -108
- package/src/meeting-info/request.ts +9 -3
- package/src/meeting-info/util.ts +54 -46
- package/src/meeting-info/utilv2.ts +59 -53
- package/src/meetings/collection.ts +1 -1
- package/src/meetings/index.ts +513 -441
- package/src/meetings/request.ts +26 -24
- package/src/meetings/util.ts +26 -23
- package/src/member/index.ts +55 -49
- package/src/member/util.ts +26 -13
- package/src/members/collection.ts +0 -1
- package/src/members/index.ts +172 -121
- package/src/members/request.ts +46 -14
- package/src/members/util.ts +44 -42
- package/src/metrics/config.ts +254 -81
- package/src/metrics/constants.ts +0 -2
- package/src/metrics/index.ts +84 -71
- package/src/networkQualityMonitor/index.ts +20 -23
- package/src/peer-connection-manager/index.ts +321 -241
- package/src/peer-connection-manager/util.ts +4 -2
- package/src/personal-meeting-room/index.ts +12 -16
- package/src/personal-meeting-room/request.ts +10 -3
- package/src/personal-meeting-room/util.ts +3 -3
- package/src/reachability/index.ts +61 -59
- package/src/reachability/request.ts +36 -32
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +2 -3
- package/src/reconnection-manager/index.ts +159 -98
- package/src/roap/collection.ts +2 -4
- package/src/roap/handler.ts +63 -32
- package/src/roap/index.ts +78 -58
- package/src/roap/request.ts +69 -54
- package/src/roap/state.ts +17 -11
- package/src/roap/turnDiscovery.ts +60 -31
- package/src/roap/util.ts +39 -31
- package/src/statsAnalyzer/global.ts +30 -33
- package/src/statsAnalyzer/index.ts +397 -169
- package/src/statsAnalyzer/mqaUtil.ts +178 -72
- package/src/transcription/index.ts +34 -32
- package/test/integration/spec/journey.js +666 -462
- package/test/integration/spec/space-meeting.js +318 -203
- package/test/integration/spec/transcription.js +6 -7
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +5 -5
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +1 -2
- package/test/unit/spec/locus-info/infoUtils.js +24 -31
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +72 -103
- package/test/unit/spec/locus-info/selfUtils.js +21 -12
- package/test/unit/spec/meeting/effectsState.js +33 -45
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -3
- package/test/unit/spec/meeting/index.js +1141 -649
- package/test/unit/spec/meeting/muteState.js +42 -33
- package/test/unit/spec/meeting/request.js +56 -45
- package/test/unit/spec/meeting/utils.js +66 -49
- package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +110 -74
- package/test/unit/spec/meetings/collection.js +1 -1
- package/test/unit/spec/meetings/index.js +438 -257
- package/test/unit/spec/meetings/utils.js +14 -12
- package/test/unit/spec/member/index.js +0 -1
- package/test/unit/spec/member/util.js +5 -6
- package/test/unit/spec/members/index.js +84 -35
- package/test/unit/spec/members/request.js +29 -20
- package/test/unit/spec/members/utils.js +8 -5
- package/test/unit/spec/metrics/index.js +16 -21
- package/test/unit/spec/networkQualityMonitor/index.js +21 -15
- package/test/unit/spec/peerconnection-manager/index.js +88 -58
- package/test/unit/spec/peerconnection-manager/utils.js +5 -4
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +7 -8
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +9 -11
- package/test/unit/spec/reconnection-manager/index.js +14 -17
- package/test/unit/spec/roap/index.ts +18 -8
- package/test/unit/spec/roap/turnDiscovery.ts +22 -19
- package/test/unit/spec/roap/util.js +3 -3
- package/test/unit/spec/stats-analyzer/index.js +29 -24
- package/test/utils/cmr.js +44 -42
- package/test/utils/testUtils.js +83 -74
- package/test/utils/webex-config.js +18 -18
- package/test/utils/webex-test-users.js +53 -50
|
@@ -1,49 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
8
|
exports.default = void 0;
|
|
12
|
-
|
|
13
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
14
|
-
|
|
15
10
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
16
|
-
|
|
17
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
18
|
-
|
|
19
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
20
|
-
|
|
21
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
22
|
-
|
|
23
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
24
|
-
|
|
25
15
|
var _internalMediaCore = require("@webex/internal-media-core");
|
|
26
|
-
|
|
27
16
|
var _constants = _interopRequireDefault(require("../metrics/constants"));
|
|
28
|
-
|
|
29
17
|
var _metrics = _interopRequireDefault(require("../metrics"));
|
|
30
|
-
|
|
31
18
|
var _util = _interopRequireDefault(require("../media/util"));
|
|
32
|
-
|
|
33
19
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
34
|
-
|
|
35
20
|
var _constants2 = require("../constants");
|
|
36
|
-
|
|
37
21
|
/* eslint-disable no-param-reassign */
|
|
22
|
+
|
|
38
23
|
var createEffectsState = function createEffectsState(type) {
|
|
39
24
|
_loggerProxy.default.logger.info("Meeting:effectState#createEffectsState --> creating effectsState for effect ".concat(type));
|
|
40
|
-
|
|
41
25
|
return new EffectsState(type);
|
|
42
26
|
};
|
|
43
|
-
/* The purpose of this class is to manage the effects state(for eg., BNR).
|
|
44
|
-
*/
|
|
45
|
-
|
|
46
27
|
|
|
28
|
+
/* The purpose of this class is to manage the effects state(for eg., BNR).
|
|
29
|
+
*/
|
|
47
30
|
var EffectsState = /*#__PURE__*/function () {
|
|
48
31
|
function EffectsState(type) {
|
|
49
32
|
(0, _classCallCheck2.default)(this, EffectsState);
|
|
@@ -57,52 +40,44 @@ var EffectsState = /*#__PURE__*/function () {
|
|
|
57
40
|
enabled: _constants2.BNR_STATUS.NOT_ENABLED
|
|
58
41
|
},
|
|
59
42
|
callToWebrtcBNRInProgress: false
|
|
60
|
-
};
|
|
61
|
-
|
|
43
|
+
};
|
|
44
|
+
// these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call
|
|
62
45
|
this.pendingPromiseResolve = null;
|
|
63
46
|
this.pendingPromiseReject = null;
|
|
64
47
|
}
|
|
48
|
+
|
|
65
49
|
/**
|
|
66
50
|
* @memberof EffectsState
|
|
67
51
|
* @param {Boolean} [isEnable] true for enableBNR, false for disableBNR request
|
|
68
52
|
* @param {Object} [meeting] the meeting object
|
|
69
53
|
* @returns {Promise}
|
|
70
54
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
73
55
|
(0, _createClass2.default)(EffectsState, [{
|
|
74
56
|
key: "handleClientRequest",
|
|
75
57
|
value: function () {
|
|
76
58
|
var _handleClientRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(isEnable, meeting) {
|
|
77
59
|
var _this = this;
|
|
78
|
-
|
|
79
60
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
80
|
-
while (1) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
case 1:
|
|
95
|
-
case "end":
|
|
96
|
-
return _context.stop();
|
|
97
|
-
}
|
|
61
|
+
while (1) switch (_context.prev = _context.next) {
|
|
62
|
+
case 0:
|
|
63
|
+
return _context.abrupt("return", new _promise.default(function (resolve, reject) {
|
|
64
|
+
if (_this.pendingPromiseResolve) {
|
|
65
|
+
// resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one
|
|
66
|
+
_this.pendingPromiseResolve();
|
|
67
|
+
}
|
|
68
|
+
_this.pendingPromiseResolve = resolve;
|
|
69
|
+
_this.pendingPromiseReject = reject;
|
|
70
|
+
if (isEnable) _this.enableBNR(meeting);else _this.disableBNR(meeting);
|
|
71
|
+
}));
|
|
72
|
+
case 1:
|
|
73
|
+
case "end":
|
|
74
|
+
return _context.stop();
|
|
98
75
|
}
|
|
99
76
|
}, _callee);
|
|
100
77
|
}));
|
|
101
|
-
|
|
102
78
|
function handleClientRequest(_x, _x2) {
|
|
103
79
|
return _handleClientRequest.apply(this, arguments);
|
|
104
80
|
}
|
|
105
|
-
|
|
106
81
|
return handleClientRequest;
|
|
107
82
|
}()
|
|
108
83
|
/**
|
|
@@ -112,7 +87,6 @@ var EffectsState = /*#__PURE__*/function () {
|
|
|
112
87
|
* @public
|
|
113
88
|
* @memberof Meeting
|
|
114
89
|
*/
|
|
115
|
-
|
|
116
90
|
}, {
|
|
117
91
|
key: "isBnrEnabled",
|
|
118
92
|
value: function isBnrEnabled() {
|
|
@@ -124,7 +98,6 @@ var EffectsState = /*#__PURE__*/function () {
|
|
|
124
98
|
if (this.pendingPromiseResolve) {
|
|
125
99
|
this.pendingPromiseResolve(true);
|
|
126
100
|
}
|
|
127
|
-
|
|
128
101
|
this.pendingPromiseResolve = null;
|
|
129
102
|
this.pendingPromiseReject = null;
|
|
130
103
|
}
|
|
@@ -134,10 +107,10 @@ var EffectsState = /*#__PURE__*/function () {
|
|
|
134
107
|
if (this.pendingPromiseReject) {
|
|
135
108
|
this.pendingPromiseReject(e);
|
|
136
109
|
}
|
|
137
|
-
|
|
138
110
|
this.pendingPromiseResolve = null;
|
|
139
111
|
this.pendingPromiseReject = null;
|
|
140
112
|
}
|
|
113
|
+
|
|
141
114
|
/**
|
|
142
115
|
* enableBNR API
|
|
143
116
|
* @param {Object} meeting the meeting object
|
|
@@ -145,95 +118,71 @@ var EffectsState = /*#__PURE__*/function () {
|
|
|
145
118
|
* @public
|
|
146
119
|
* @memberof EffectsState
|
|
147
120
|
*/
|
|
148
|
-
|
|
149
121
|
}, {
|
|
150
122
|
key: "enableBNR",
|
|
151
123
|
value: function () {
|
|
152
124
|
var _enableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(meeting) {
|
|
153
125
|
var bnr, audioStream;
|
|
154
126
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
155
|
-
while (1) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
if (!this.isBnrEnabled()) {
|
|
161
|
-
_context2.next = 4;
|
|
162
|
-
break;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
_loggerProxy.default.logger.warn('Meeting:index#enableBNR. BNR is already enabled');
|
|
166
|
-
|
|
167
|
-
return _context2.abrupt("return", this.resolvePromise());
|
|
168
|
-
|
|
169
|
-
case 4:
|
|
170
|
-
if (!this.state.callToWebrtcBNRInProgress) {
|
|
171
|
-
_context2.next = 7;
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
_loggerProxy.default.logger.warn('Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete');
|
|
176
|
-
|
|
177
|
-
return _context2.abrupt("return", this.resolvePromise());
|
|
178
|
-
|
|
179
|
-
case 7:
|
|
180
|
-
bnr = this.state.bnr;
|
|
181
|
-
_context2.prev = 8;
|
|
182
|
-
bnr.enabled = _constants2.BNR_STATUS.SHOULD_ENABLE;
|
|
183
|
-
this.state.callToWebrtcBNRInProgress = true;
|
|
184
|
-
audioStream = _util.default.createMediaStream([meeting.mediaProperties.audioTrack]);
|
|
185
|
-
|
|
186
|
-
_loggerProxy.default.logger.info('Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio');
|
|
187
|
-
|
|
188
|
-
_context2.next = 15;
|
|
189
|
-
return meeting.updateAudio({
|
|
190
|
-
sendAudio: true,
|
|
191
|
-
receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
|
|
192
|
-
stream: audioStream
|
|
193
|
-
});
|
|
194
|
-
|
|
195
|
-
case 15:
|
|
196
|
-
_loggerProxy.default.logger.info('Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track');
|
|
197
|
-
|
|
198
|
-
bnr.enabled = _constants2.BNR_STATUS.ENABLED;
|
|
199
|
-
this.state.callToWebrtcBNRInProgress = false;
|
|
200
|
-
|
|
201
|
-
_metrics.default.sendBehavioralMetric(_constants.default.ENABLE_BNR_SUCCESS);
|
|
202
|
-
|
|
203
|
-
_context2.next = 29;
|
|
127
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
128
|
+
case 0:
|
|
129
|
+
_loggerProxy.default.logger.info('Meeting:effectState#enableBNR. Enable BNR called');
|
|
130
|
+
if (!this.isBnrEnabled()) {
|
|
131
|
+
_context2.next = 4;
|
|
204
132
|
break;
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
133
|
+
}
|
|
134
|
+
_loggerProxy.default.logger.warn('Meeting:index#enableBNR. BNR is already enabled');
|
|
135
|
+
return _context2.abrupt("return", this.resolvePromise());
|
|
136
|
+
case 4:
|
|
137
|
+
if (!this.state.callToWebrtcBNRInProgress) {
|
|
138
|
+
_context2.next = 7;
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
_loggerProxy.default.logger.warn('Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete');
|
|
142
|
+
return _context2.abrupt("return", this.resolvePromise());
|
|
143
|
+
case 7:
|
|
144
|
+
bnr = this.state.bnr;
|
|
145
|
+
_context2.prev = 8;
|
|
146
|
+
bnr.enabled = _constants2.BNR_STATUS.SHOULD_ENABLE;
|
|
147
|
+
this.state.callToWebrtcBNRInProgress = true;
|
|
148
|
+
audioStream = _util.default.createMediaStream([meeting.mediaProperties.audioTrack]);
|
|
149
|
+
_loggerProxy.default.logger.info('Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio');
|
|
150
|
+
_context2.next = 15;
|
|
151
|
+
return meeting.updateAudio({
|
|
152
|
+
sendAudio: true,
|
|
153
|
+
receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
|
|
154
|
+
stream: audioStream
|
|
155
|
+
});
|
|
156
|
+
case 15:
|
|
157
|
+
_loggerProxy.default.logger.info('Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track');
|
|
158
|
+
bnr.enabled = _constants2.BNR_STATUS.ENABLED;
|
|
159
|
+
this.state.callToWebrtcBNRInProgress = false;
|
|
160
|
+
_metrics.default.sendBehavioralMetric(_constants.default.ENABLE_BNR_SUCCESS);
|
|
161
|
+
_context2.next = 29;
|
|
162
|
+
break;
|
|
163
|
+
case 21:
|
|
164
|
+
_context2.prev = 21;
|
|
165
|
+
_context2.t0 = _context2["catch"](8);
|
|
166
|
+
bnr.enabled = _constants2.BNR_STATUS.NOT_ENABLED;
|
|
167
|
+
this.state.callToWebrtcBNRInProgress = false;
|
|
168
|
+
_loggerProxy.default.logger.error('Meeting:index#enableBNR.', _context2.t0);
|
|
169
|
+
_metrics.default.sendBehavioralMetric(_constants.default.ENABLE_BNR_FAILURE, {
|
|
170
|
+
reason: _context2.t0.message,
|
|
171
|
+
stack: _context2.t0.stack
|
|
172
|
+
});
|
|
173
|
+
this.rejectPromise(_context2.t0);
|
|
174
|
+
throw _context2.t0;
|
|
175
|
+
case 29:
|
|
176
|
+
return _context2.abrupt("return", this.resolvePromise());
|
|
177
|
+
case 30:
|
|
178
|
+
case "end":
|
|
179
|
+
return _context2.stop();
|
|
229
180
|
}
|
|
230
181
|
}, _callee2, this, [[8, 21]]);
|
|
231
182
|
}));
|
|
232
|
-
|
|
233
183
|
function enableBNR(_x3) {
|
|
234
184
|
return _enableBNR.apply(this, arguments);
|
|
235
185
|
}
|
|
236
|
-
|
|
237
186
|
return enableBNR;
|
|
238
187
|
}()
|
|
239
188
|
/**
|
|
@@ -243,92 +192,71 @@ var EffectsState = /*#__PURE__*/function () {
|
|
|
243
192
|
* @public
|
|
244
193
|
* @memberof EffectsState
|
|
245
194
|
*/
|
|
246
|
-
|
|
247
195
|
}, {
|
|
248
196
|
key: "disableBNR",
|
|
249
197
|
value: function () {
|
|
250
198
|
var _disableBNR = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(meeting) {
|
|
251
199
|
var bnr, audioTrack, audioStream;
|
|
252
200
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
253
|
-
while (1) {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
_context3.
|
|
260
|
-
|
|
261
|
-
if (!this.state.callToWebrtcBNRInProgress) {
|
|
262
|
-
_context3.next = 6;
|
|
263
|
-
break;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
_loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete');
|
|
267
|
-
|
|
268
|
-
return _context3.abrupt("return", this.resolvePromise());
|
|
269
|
-
|
|
270
|
-
case 6:
|
|
271
|
-
bnr.enabled = _constants2.BNR_STATUS.SHOULD_DISABLE;
|
|
272
|
-
this.state.callToWebrtcBNRInProgress = true; // @ts-ignore - disableBNR does not expect an argument
|
|
273
|
-
|
|
274
|
-
audioTrack = _internalMediaCore.Media.Effects.BNR.disableBNR(meeting.mediaProperties.audioTrack);
|
|
275
|
-
audioStream = _util.default.createMediaStream([audioTrack]);
|
|
276
|
-
|
|
277
|
-
_loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio');
|
|
278
|
-
|
|
279
|
-
_context3.next = 13;
|
|
280
|
-
return meeting.updateAudio({
|
|
281
|
-
sendAudio: true,
|
|
282
|
-
receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
|
|
283
|
-
stream: audioStream
|
|
284
|
-
});
|
|
285
|
-
|
|
286
|
-
case 13:
|
|
287
|
-
bnr.enabled = _constants2.BNR_STATUS.NOT_ENABLED;
|
|
288
|
-
this.state.callToWebrtcBNRInProgress = false;
|
|
289
|
-
|
|
290
|
-
_metrics.default.sendBehavioralMetric(_constants.default.DISABLE_BNR_SUCCESS);
|
|
291
|
-
|
|
292
|
-
_context3.next = 26;
|
|
201
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
202
|
+
case 0:
|
|
203
|
+
_loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Disable BNR called');
|
|
204
|
+
bnr = this.state.bnr;
|
|
205
|
+
_context3.prev = 2;
|
|
206
|
+
if (!this.state.callToWebrtcBNRInProgress) {
|
|
207
|
+
_context3.next = 6;
|
|
293
208
|
break;
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
209
|
+
}
|
|
210
|
+
_loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete');
|
|
211
|
+
return _context3.abrupt("return", this.resolvePromise());
|
|
212
|
+
case 6:
|
|
213
|
+
bnr.enabled = _constants2.BNR_STATUS.SHOULD_DISABLE;
|
|
214
|
+
this.state.callToWebrtcBNRInProgress = true;
|
|
215
|
+
|
|
216
|
+
// @ts-ignore - disableBNR does not expect an argument
|
|
217
|
+
audioTrack = _internalMediaCore.Media.Effects.BNR.disableBNR(meeting.mediaProperties.audioTrack);
|
|
218
|
+
audioStream = _util.default.createMediaStream([audioTrack]);
|
|
219
|
+
_loggerProxy.default.logger.info('Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio');
|
|
220
|
+
_context3.next = 13;
|
|
221
|
+
return meeting.updateAudio({
|
|
222
|
+
sendAudio: true,
|
|
223
|
+
receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
|
|
224
|
+
stream: audioStream
|
|
225
|
+
});
|
|
226
|
+
case 13:
|
|
227
|
+
bnr.enabled = _constants2.BNR_STATUS.NOT_ENABLED;
|
|
228
|
+
this.state.callToWebrtcBNRInProgress = false;
|
|
229
|
+
_metrics.default.sendBehavioralMetric(_constants.default.DISABLE_BNR_SUCCESS);
|
|
230
|
+
_context3.next = 26;
|
|
231
|
+
break;
|
|
232
|
+
case 18:
|
|
233
|
+
_context3.prev = 18;
|
|
234
|
+
_context3.t0 = _context3["catch"](2);
|
|
235
|
+
bnr.enabled = _constants2.BNR_STATUS.ENABLED;
|
|
236
|
+
this.state.callToWebrtcBNRInProgress = false;
|
|
237
|
+
_loggerProxy.default.logger.error("Meeting:index#disableBNR. ".concat(_context3.t0));
|
|
238
|
+
_metrics.default.sendBehavioralMetric(_constants.default.DISABLE_BNR_FAILURE, {
|
|
239
|
+
reason: _context3.t0.message,
|
|
240
|
+
stack: _context3.t0.stack
|
|
241
|
+
});
|
|
242
|
+
this.rejectPromise(_context3.t0);
|
|
243
|
+
throw _context3.t0;
|
|
244
|
+
case 26:
|
|
245
|
+
return _context3.abrupt("return", this.resolvePromise());
|
|
246
|
+
case 27:
|
|
247
|
+
case "end":
|
|
248
|
+
return _context3.stop();
|
|
318
249
|
}
|
|
319
250
|
}, _callee3, this, [[2, 18]]);
|
|
320
251
|
}));
|
|
321
|
-
|
|
322
252
|
function disableBNR(_x4) {
|
|
323
253
|
return _disableBNR.apply(this, arguments);
|
|
324
254
|
}
|
|
325
|
-
|
|
326
255
|
return disableBNR;
|
|
327
256
|
}()
|
|
328
257
|
}]);
|
|
329
258
|
return EffectsState;
|
|
330
259
|
}();
|
|
331
|
-
|
|
332
260
|
var _default = createEffectsState;
|
|
333
261
|
exports.default = _default;
|
|
334
262
|
//# sourceMappingURL=effectsState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createEffectsState","type","LoggerProxy","logger","info","EffectsState","effectType","state","bnr","enabled","BNR_STATUS","NOT_ENABLED","callToWebrtcBNRInProgress","pendingPromiseResolve","pendingPromiseReject","isEnable","meeting","resolve","reject","enableBNR","disableBNR","ENABLED","e","isBnrEnabled","warn","resolvePromise","SHOULD_ENABLE","audioStream","MediaUtil","createMediaStream","mediaProperties","audioTrack","updateAudio","sendAudio","receiveAudio","mediaDirection","stream","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","ENABLE_BNR_SUCCESS","error","ENABLE_BNR_FAILURE","reason","message","stack","rejectPromise","SHOULD_DISABLE","WebRTCMedia","Effects","BNR","DISABLE_BNR_SUCCESS","DISABLE_BNR_FAILURE"],"sources":["effectsState.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport {Media as WebRTCMedia} from '@webex/internal-media-core';\n\nimport BEHAVIORAL_METRICS from '../metrics/constants';\nimport Metrics from '../metrics';\nimport MediaUtil from '../media/util';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {BNR_STATUS} from '../constants';\n\nconst createEffectsState = (type: any) => {\n LoggerProxy.logger.info(`Meeting:effectState#createEffectsState --> creating effectsState for effect ${type}`);\n\n return new EffectsState(type);\n};\n\n/* The purpose of this class is to manage the effects state(for eg., BNR).\n*/\nclass EffectsState {\n effectType: any;\n pendingPromiseReject: any;\n pendingPromiseResolve: any;\n state: any;\n\n constructor(type: any) {\n this.effectType = type;\n this.state = {\n bnr: {\n enabled: BNR_STATUS.NOT_ENABLED\n },\n callToWebrtcBNRInProgress: false\n };\n // these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n /**\n * @memberof EffectsState\n * @param {Boolean} [isEnable] true for enableBNR, false for disableBNR request\n * @param {Object} [meeting] the meeting object\n * @returns {Promise}\n */\n async handleClientRequest(isEnable?: boolean, meeting?: object) {\n return new Promise((resolve, reject) => {\n if (this.pendingPromiseResolve) {\n // resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one\n this.pendingPromiseResolve();\n }\n this.pendingPromiseResolve = resolve;\n this.pendingPromiseReject = reject;\n\n if (isEnable) this.enableBNR(meeting);\n else this.disableBNR(meeting);\n });\n }\n\n /**\n * Internal API to return status of BNR\n * @memberof EffectsState\n * @returns {Boolean}\n * @public\n * @memberof Meeting\n */\n public isBnrEnabled() {\n return this.state.bnr.enabled === BNR_STATUS.ENABLED;\n }\n\n resolvePromise() {\n if (this.pendingPromiseResolve) {\n this.pendingPromiseResolve(true);\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n rejectPromise(e) {\n if (this.pendingPromiseReject) {\n this.pendingPromiseReject(e);\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n /**\n * enableBNR API\n * @param {Object} meeting the meeting object\n * @returns {Promise<Boolean>}\n * @public\n * @memberof EffectsState\n */\n public async enableBNR(meeting: any) {\n LoggerProxy.logger.info('Meeting:effectState#enableBNR. Enable BNR called');\n\n if (this.isBnrEnabled()) {\n LoggerProxy.logger.warn('Meeting:index#enableBNR. BNR is already enabled');\n\n return this.resolvePromise();\n }\n\n if (this.state.callToWebrtcBNRInProgress) {\n LoggerProxy.logger.warn('Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete');\n\n return this.resolvePromise();\n }\n\n const {bnr} = this.state;\n\n try {\n bnr.enabled = BNR_STATUS.SHOULD_ENABLE;\n this.state.callToWebrtcBNRInProgress = true;\n const audioStream = MediaUtil.createMediaStream([meeting.mediaProperties.audioTrack]);\n\n LoggerProxy.logger.info('Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio');\n await meeting.updateAudio({\n sendAudio: true,\n receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,\n stream: audioStream\n });\n\n LoggerProxy.logger.info('Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track');\n bnr.enabled = BNR_STATUS.ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ENABLE_BNR_SUCCESS,\n );\n }\n catch (error) {\n bnr.enabled = BNR_STATUS.NOT_ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n LoggerProxy.logger.error('Meeting:index#enableBNR.', error);\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.ENABLE_BNR_FAILURE,\n {\n reason: error.message,\n stack: error.stack\n }\n );\n this.rejectPromise(error);\n\n throw error;\n }\n\n return this.resolvePromise();\n }\n\n /**\n * disableBNR API\n * @param {Object} meeting the meeting object\n * @returns {Promise<Boolean>}\n * @public\n * @memberof EffectsState\n */\n public async disableBNR(meeting: any) {\n LoggerProxy.logger.info('Meeting:effectState#disableBNR. Disable BNR called');\n\n const {bnr} = this.state;\n\n try {\n if (this.state.callToWebrtcBNRInProgress) {\n LoggerProxy.logger.info('Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete');\n\n return this.resolvePromise();\n }\n\n bnr.enabled = BNR_STATUS.SHOULD_DISABLE;\n this.state.callToWebrtcBNRInProgress = true;\n\n // @ts-ignore - disableBNR does not expect an argument\n const audioTrack = WebRTCMedia.Effects.BNR.disableBNR(meeting.mediaProperties.audioTrack);\n\n const audioStream = MediaUtil.createMediaStream([audioTrack]);\n\n LoggerProxy.logger.info('Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio');\n\n await meeting.updateAudio({\n sendAudio: true,\n receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,\n stream: audioStream\n });\n\n bnr.enabled = BNR_STATUS.NOT_ENABLED;\n\n this.state.callToWebrtcBNRInProgress = false;\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.DISABLE_BNR_SUCCESS\n );\n }\n catch (error) {\n bnr.enabled = BNR_STATUS.ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n LoggerProxy.logger.error(`Meeting:index#disableBNR. ${error}`);\n\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.DISABLE_BNR_FAILURE,\n {\n reason: error.message,\n stack: error.stack\n }\n );\n this.rejectPromise(error);\n\n throw error;\n }\n\n return this.resolvePromise();\n }\n}\n\nexport default createEffectsState;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["createEffectsState","type","LoggerProxy","logger","info","EffectsState","effectType","state","bnr","enabled","BNR_STATUS","NOT_ENABLED","callToWebrtcBNRInProgress","pendingPromiseResolve","pendingPromiseReject","isEnable","meeting","resolve","reject","enableBNR","disableBNR","ENABLED","e","isBnrEnabled","warn","resolvePromise","SHOULD_ENABLE","audioStream","MediaUtil","createMediaStream","mediaProperties","audioTrack","updateAudio","sendAudio","receiveAudio","mediaDirection","stream","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","ENABLE_BNR_SUCCESS","error","ENABLE_BNR_FAILURE","reason","message","stack","rejectPromise","SHOULD_DISABLE","WebRTCMedia","Effects","BNR","DISABLE_BNR_SUCCESS","DISABLE_BNR_FAILURE"],"sources":["effectsState.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport {Media as WebRTCMedia} from '@webex/internal-media-core';\n\nimport BEHAVIORAL_METRICS from '../metrics/constants';\nimport Metrics from '../metrics';\nimport MediaUtil from '../media/util';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {BNR_STATUS} from '../constants';\n\nconst createEffectsState = (type: any) => {\n LoggerProxy.logger.info(\n `Meeting:effectState#createEffectsState --> creating effectsState for effect ${type}`\n );\n\n return new EffectsState(type);\n};\n\n/* The purpose of this class is to manage the effects state(for eg., BNR).\n */\nclass EffectsState {\n effectType: any;\n pendingPromiseReject: any;\n pendingPromiseResolve: any;\n state: any;\n\n constructor(type: any) {\n this.effectType = type;\n this.state = {\n bnr: {\n enabled: BNR_STATUS.NOT_ENABLED,\n },\n callToWebrtcBNRInProgress: false,\n };\n // these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n /**\n * @memberof EffectsState\n * @param {Boolean} [isEnable] true for enableBNR, false for disableBNR request\n * @param {Object} [meeting] the meeting object\n * @returns {Promise}\n */\n async handleClientRequest(isEnable?: boolean, meeting?: object) {\n return new Promise((resolve, reject) => {\n if (this.pendingPromiseResolve) {\n // resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one\n this.pendingPromiseResolve();\n }\n this.pendingPromiseResolve = resolve;\n this.pendingPromiseReject = reject;\n\n if (isEnable) this.enableBNR(meeting);\n else this.disableBNR(meeting);\n });\n }\n\n /**\n * Internal API to return status of BNR\n * @memberof EffectsState\n * @returns {Boolean}\n * @public\n * @memberof Meeting\n */\n public isBnrEnabled() {\n return this.state.bnr.enabled === BNR_STATUS.ENABLED;\n }\n\n resolvePromise() {\n if (this.pendingPromiseResolve) {\n this.pendingPromiseResolve(true);\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n rejectPromise(e) {\n if (this.pendingPromiseReject) {\n this.pendingPromiseReject(e);\n }\n this.pendingPromiseResolve = null;\n this.pendingPromiseReject = null;\n }\n\n /**\n * enableBNR API\n * @param {Object} meeting the meeting object\n * @returns {Promise<Boolean>}\n * @public\n * @memberof EffectsState\n */\n public async enableBNR(meeting: any) {\n LoggerProxy.logger.info('Meeting:effectState#enableBNR. Enable BNR called');\n\n if (this.isBnrEnabled()) {\n LoggerProxy.logger.warn('Meeting:index#enableBNR. BNR is already enabled');\n\n return this.resolvePromise();\n }\n\n if (this.state.callToWebrtcBNRInProgress) {\n LoggerProxy.logger.warn(\n 'Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete'\n );\n\n return this.resolvePromise();\n }\n\n const {bnr} = this.state;\n\n try {\n bnr.enabled = BNR_STATUS.SHOULD_ENABLE;\n this.state.callToWebrtcBNRInProgress = true;\n const audioStream = MediaUtil.createMediaStream([meeting.mediaProperties.audioTrack]);\n\n LoggerProxy.logger.info(\n 'Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio'\n );\n await meeting.updateAudio({\n sendAudio: true,\n receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,\n stream: audioStream,\n });\n\n LoggerProxy.logger.info(\n 'Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track'\n );\n bnr.enabled = BNR_STATUS.ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_BNR_SUCCESS);\n } catch (error) {\n bnr.enabled = BNR_STATUS.NOT_ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n LoggerProxy.logger.error('Meeting:index#enableBNR.', error);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_BNR_FAILURE, {\n reason: error.message,\n stack: error.stack,\n });\n this.rejectPromise(error);\n\n throw error;\n }\n\n return this.resolvePromise();\n }\n\n /**\n * disableBNR API\n * @param {Object} meeting the meeting object\n * @returns {Promise<Boolean>}\n * @public\n * @memberof EffectsState\n */\n public async disableBNR(meeting: any) {\n LoggerProxy.logger.info('Meeting:effectState#disableBNR. Disable BNR called');\n\n const {bnr} = this.state;\n\n try {\n if (this.state.callToWebrtcBNRInProgress) {\n LoggerProxy.logger.info(\n 'Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete'\n );\n\n return this.resolvePromise();\n }\n\n bnr.enabled = BNR_STATUS.SHOULD_DISABLE;\n this.state.callToWebrtcBNRInProgress = true;\n\n // @ts-ignore - disableBNR does not expect an argument\n const audioTrack = WebRTCMedia.Effects.BNR.disableBNR(meeting.mediaProperties.audioTrack);\n\n const audioStream = MediaUtil.createMediaStream([audioTrack]);\n\n LoggerProxy.logger.info(\n 'Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio'\n );\n\n await meeting.updateAudio({\n sendAudio: true,\n receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,\n stream: audioStream,\n });\n\n bnr.enabled = BNR_STATUS.NOT_ENABLED;\n\n this.state.callToWebrtcBNRInProgress = false;\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_BNR_SUCCESS);\n } catch (error) {\n bnr.enabled = BNR_STATUS.ENABLED;\n this.state.callToWebrtcBNRInProgress = false;\n LoggerProxy.logger.error(`Meeting:index#disableBNR. ${error}`);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_BNR_FAILURE, {\n reason: error.message,\n stack: error.stack,\n });\n this.rejectPromise(error);\n\n throw error;\n }\n\n return this.resolvePromise();\n }\n}\n\nexport default createEffectsState;\n"],"mappings":"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"}
|
|
@@ -1,35 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
8
|
exports.default = void 0;
|
|
12
|
-
|
|
13
9
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
14
|
-
|
|
15
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
16
|
-
|
|
17
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
18
|
-
|
|
19
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
20
|
-
|
|
21
13
|
var _constants = require("../constants");
|
|
22
|
-
|
|
23
14
|
/*!
|
|
24
15
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
25
16
|
*/
|
|
26
|
-
|
|
27
17
|
/**
|
|
28
18
|
* @class InMeetingActions
|
|
29
19
|
*/
|
|
30
20
|
var InMeetingActions = /*#__PURE__*/(0, _createClass2.default)(function InMeetingActions() {
|
|
31
21
|
var _this = this;
|
|
32
|
-
|
|
33
22
|
(0, _classCallCheck2.default)(this, InMeetingActions);
|
|
34
23
|
(0, _defineProperty2.default)(this, "namespace", _constants.MEETINGS);
|
|
35
24
|
(0, _defineProperty2.default)(this, "canInviteNewParticipants", null);
|
|
@@ -82,11 +71,9 @@ var InMeetingActions = /*#__PURE__*/(0, _createClass2.default)(function InMeetin
|
|
|
82
71
|
});
|
|
83
72
|
(0, _defineProperty2.default)(this, "set", function (actions) {
|
|
84
73
|
var old = _this.get();
|
|
85
|
-
|
|
86
74
|
var changed = false;
|
|
87
75
|
(0, _keys.default)(old).forEach(function (actionKey) {
|
|
88
76
|
var actionValue = actions[actionKey];
|
|
89
|
-
|
|
90
77
|
if (actionValue !== undefined && actionValue !== old[actionKey]) {
|
|
91
78
|
changed = true;
|
|
92
79
|
_this[actionKey] = actionValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InMeetingActions","MEETINGS","canInviteNewParticipants","canAdmitParticipant","canLock","canUnlock","canAssignHost","canStartRecording","canPauseRecording","canResumeRecording","canStopRecording","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","actions","old","get","changed","forEach","actionKey","actionValue","undefined"],"sources":["in-meeting-actions.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {
|
|
1
|
+
{"version":3,"names":["InMeetingActions","MEETINGS","canInviteNewParticipants","canAdmitParticipant","canLock","canUnlock","canAssignHost","canStartRecording","canPauseRecording","canResumeRecording","canStopRecording","canRaiseHand","canLowerAllHands","canLowerSomeoneElsesHand","bothLeaveAndEndMeetingAvailable","canEnableClosedCaption","canStartTranscribing","canStopTranscribing","isClosedCaptionActive","isWebexAssistantActive","canViewCaptionPanel","isRealTimeTranslationEnabled","canSelectSpokenLanguages","waitingForOthersToJoin","actions","old","get","changed","forEach","actionKey","actionValue","undefined"],"sources":["in-meeting-actions.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\n/**\n * IInMeetingActions\n * Type for In-Meeting Actions\n */\ninterface IInMeetingActions {\n canInviteNewParticipants?: boolean;\n canAdmitParticipant?: boolean;\n canLock?: boolean;\n canUnlock?: boolean;\n canAssignHost?: boolean;\n canStartRecording?: boolean;\n canPauseRecording?: boolean;\n canResumeRecording?: boolean;\n canStopRecording?: boolean;\n canRaiseHand?: boolean;\n canLowerAllHands?: boolean;\n canLowerSomeoneElsesHand?: boolean;\n bothLeaveAndEndMeetingAvailable?: boolean;\n canEnableClosedCaption?: boolean;\n canStartTranscribing?: boolean;\n canStopTranscribing?: boolean;\n isClosedCaptionActive?: boolean;\n isWebexAssistantActive?: boolean;\n canViewCaptionPanel?: boolean;\n isRealTimeTranslationEnabled?: boolean;\n canSelectSpokenLanguages?: boolean;\n waitingForOthersToJoin?: boolean;\n}\n\n/**\n * @class InMeetingActions\n */\nexport default class InMeetingActions implements IInMeetingActions {\n namespace = MEETINGS;\n\n canInviteNewParticipants = null;\n\n canAdmitParticipant = null;\n\n canLock = null;\n\n canUnlock = null;\n\n canAssignHost = null;\n\n canStartRecording = null;\n\n canPauseRecording = null;\n\n canResumeRecording = null;\n\n canStopRecording = null;\n\n canRaiseHand = null;\n\n canLowerAllHands = null;\n\n canLowerSomeoneElsesHand = null;\n\n bothLeaveAndEndMeetingAvailable = null;\n\n canEnableClosedCaption = null;\n\n canStartTranscribing = null;\n\n canStopTranscribing = null;\n\n isClosedCaptionActive = null;\n\n isWebexAssistantActive = null;\n\n canViewCaptionPanel = null;\n\n isRealTimeTranslationEnabled = null;\n\n canSelectSpokenLanguages = null;\n\n waitingForOthersToJoin = null;\n\n /**\n * Returns all meeting action options\n * @returns {Object}\n */\n get = (): IInMeetingActions => ({\n canInviteNewParticipants: this.canInviteNewParticipants,\n canAdmitParticipant: this.canAdmitParticipant,\n canLock: this.canLock,\n canUnlock: this.canUnlock,\n canAssignHost: this.canAssignHost,\n canStartRecording: this.canStartRecording,\n canPauseRecording: this.canPauseRecording,\n canResumeRecording: this.canResumeRecording,\n canStopRecording: this.canStopRecording,\n canRaiseHand: this.canRaiseHand,\n canLowerAllHands: this.canLowerAllHands,\n canLowerSomeoneElsesHand: this.canLowerSomeoneElsesHand,\n bothLeaveAndEndMeetingAvailable: this.bothLeaveAndEndMeetingAvailable,\n canEnableClosedCaption: this.canEnableClosedCaption,\n canStartTranscribing: this.canStartTranscribing,\n canStopTranscribing: this.canStopTranscribing,\n isClosedCaptionActive: this.isClosedCaptionActive,\n isWebexAssistantActive: this.isWebexAssistantActive,\n canViewCaptionPanel: this.canViewCaptionPanel,\n isRealTimeTranslationEnabled: this.isRealTimeTranslationEnabled,\n canSelectSpokenLanguages: this.canSelectSpokenLanguages,\n waitingForOthersToJoin: this.waitingForOthersToJoin,\n });\n\n /**\n *\n * @param actions\n * @returns\n */\n\n set = (actions: Partial<IInMeetingActions>) => {\n const old = this.get();\n\n let changed = false;\n\n Object.keys(old).forEach((actionKey) => {\n const actionValue = actions[actionKey];\n\n if (actionValue !== undefined && actionValue !== old[actionKey]) {\n changed = true;\n this[actionKey] = actionValue;\n }\n });\n\n return changed;\n };\n}\n"],"mappings":";;;;;;;;;;;;AAIA;AAJA;AACA;AACA;AAiCA;AACA;AACA;AAFA,IAGqBA,gBAAgB;EAAA;EAAA;EAAA,iDACvBC,mBAAQ;EAAA,gEAEO,IAAI;EAAA,2DAET,IAAI;EAAA,+CAEhB,IAAI;EAAA,iDAEF,IAAI;EAAA,qDAEA,IAAI;EAAA,yDAEA,IAAI;EAAA,yDAEJ,IAAI;EAAA,0DAEH,IAAI;EAAA,wDAEN,IAAI;EAAA,oDAER,IAAI;EAAA,wDAEA,IAAI;EAAA,gEAEI,IAAI;EAAA,uEAEG,IAAI;EAAA,8DAEb,IAAI;EAAA,4DAEN,IAAI;EAAA,2DAEL,IAAI;EAAA,6DAEF,IAAI;EAAA,8DAEH,IAAI;EAAA,2DAEP,IAAI;EAAA,oEAEK,IAAI;EAAA,gEAER,IAAI;EAAA,8DAEN,IAAI;EAAA,2CAMvB;IAAA,OAA0B;MAC9BC,wBAAwB,EAAE,KAAI,CAACA,wBAAwB;MACvDC,mBAAmB,EAAE,KAAI,CAACA,mBAAmB;MAC7CC,OAAO,EAAE,KAAI,CAACA,OAAO;MACrBC,SAAS,EAAE,KAAI,CAACA,SAAS;MACzBC,aAAa,EAAE,KAAI,CAACA,aAAa;MACjCC,iBAAiB,EAAE,KAAI,CAACA,iBAAiB;MACzCC,iBAAiB,EAAE,KAAI,CAACA,iBAAiB;MACzCC,kBAAkB,EAAE,KAAI,CAACA,kBAAkB;MAC3CC,gBAAgB,EAAE,KAAI,CAACA,gBAAgB;MACvCC,YAAY,EAAE,KAAI,CAACA,YAAY;MAC/BC,gBAAgB,EAAE,KAAI,CAACA,gBAAgB;MACvCC,wBAAwB,EAAE,KAAI,CAACA,wBAAwB;MACvDC,+BAA+B,EAAE,KAAI,CAACA,+BAA+B;MACrEC,sBAAsB,EAAE,KAAI,CAACA,sBAAsB;MACnDC,oBAAoB,EAAE,KAAI,CAACA,oBAAoB;MAC/CC,mBAAmB,EAAE,KAAI,CAACA,mBAAmB;MAC7CC,qBAAqB,EAAE,KAAI,CAACA,qBAAqB;MACjDC,sBAAsB,EAAE,KAAI,CAACA,sBAAsB;MACnDC,mBAAmB,EAAE,KAAI,CAACA,mBAAmB;MAC7CC,4BAA4B,EAAE,KAAI,CAACA,4BAA4B;MAC/DC,wBAAwB,EAAE,KAAI,CAACA,wBAAwB;MACvDC,sBAAsB,EAAE,KAAI,CAACA;IAC/B,CAAC;EAAA,CAAC;EAAA,2CAQI,UAACC,OAAmC,EAAK;IAC7C,IAAMC,GAAG,GAAG,KAAI,CAACC,GAAG,EAAE;IAEtB,IAAIC,OAAO,GAAG,KAAK;IAEnB,mBAAYF,GAAG,CAAC,CAACG,OAAO,CAAC,UAACC,SAAS,EAAK;MACtC,IAAMC,WAAW,GAAGN,OAAO,CAACK,SAAS,CAAC;MAEtC,IAAIC,WAAW,KAAKC,SAAS,IAAID,WAAW,KAAKL,GAAG,CAACI,SAAS,CAAC,EAAE;QAC/DF,OAAO,GAAG,IAAI;QACd,KAAI,CAACE,SAAS,CAAC,GAAGC,WAAW;MAC/B;IACF,CAAC,CAAC;IAEF,OAAOH,OAAO;EAChB,CAAC;AAAA;AAAA"}
|