fcr-core 3.4.2 → 3.4.4-100
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/lib/chat-connection/index.js +20 -38
- package/lib/engine/index.js +42 -43
- package/lib/imports.d.ts +1 -0
- package/lib/imports.js +0 -1
- package/lib/media-control/desktop.js +3 -11
- package/lib/media-control/mobile.js +6 -13
- package/lib/media-control/type.d.ts +3 -6
- package/lib/monitor-control/index.js +29 -0
- package/lib/monitor-control/type.d.ts +8 -1
- package/lib/peer-session/index.js +34 -47
- package/lib/plugins/chatroom.js +218 -182
- package/lib/room-control/ability-control/index.js +62 -0
- package/lib/room-control/ability-control/type.d.ts +9 -0
- package/lib/room-control/ability-control/type.js +11 -0
- package/lib/room-control/chatroom-control/type.d.ts +25 -11
- package/lib/room-control/group-control/index.js +11 -22
- package/lib/room-control/index.js +70 -94
- package/lib/room-control/interpreter-control/index.js +9 -17
- package/lib/room-control/interpreter-control/room.js +4 -6
- package/lib/room-control/mainroom-control/index.js +21 -41
- package/lib/room-control/privilege-control/helper.js +5 -10
- package/lib/room-control/privilege-control/index.js +12 -21
- package/lib/room-control/privilege-control/type.js +1 -0
- package/lib/room-control/room-connector-control/index.js +13 -24
- package/lib/room-control/room-session/index.js +36 -49
- package/lib/room-control/stream-control/index.js +141 -152
- package/lib/room-control/user-control/index.js +120 -135
- package/lib/room-control/user-control/type.d.ts +3 -2
- package/lib/room-control/waitingroom-control/index.js +8 -16
- package/lib/room-control/whiteboard-control/board-subwindow.js +1 -2
- package/lib/room-control/whiteboard-control/board-window.d.ts +10 -1
- package/lib/room-control/whiteboard-control/board-window.js +176 -60
- package/lib/room-control/whiteboard-control/enums.js +84 -0
- package/lib/room-control/whiteboard-control/index.js +29 -36
- package/lib/room-control/whiteboard-control/mount-manager.js +2 -4
- package/lib/room-control/whiteboard-control/types.d.ts +43 -0
- package/lib/room-control/whiteboard-control/types.js +7 -1
- package/lib/room-control/whiteboard-control/utils.d.ts +1 -1
- package/lib/room-control/whiteboard-control/utils.js +16 -17
- package/lib/room-control/whiteboard-control-v2/index.js +24 -35
- package/lib/room-control/whiteboard-control-v2/main-window.js +15 -23
- package/lib/schema.d.ts +988 -0
- package/lib/schema.js +282 -0
- package/lib/service/api.js +76 -82
- package/lib/type.d.ts +3 -1
- package/lib/type.js +4 -2
- package/lib/utilities/collection.js +2 -3
- package/lib/utilities/error.js +3 -5
- package/lib/utilities/logger.js +1 -2
- package/lib/utilities/parameters.js +4 -8
- package/lib/utilities/stream.js +12 -20
- package/lib/utilities/user.js +1 -1
- package/lib/utilities/validate-params.d.ts +2 -0
- package/lib/utilities/validate-params.js +13 -0
- package/package.json +7 -5
- package/lib/room-control/chatroom-control/index.js +0 -385
- /package/lib/room-control/{chatroom-control → ability-control}/index.d.ts +0 -0
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
|
5
3
|
require("core-js/modules/es.array.push.js");
|
|
6
|
-
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
7
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
8
4
|
require("core-js/modules/esnext.function.metadata.js");
|
|
9
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
10
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
11
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
12
5
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
13
6
|
require("core-js/modules/esnext.map.emplace.js");
|
|
14
7
|
require("core-js/modules/esnext.map.every.js");
|
|
@@ -24,39 +17,32 @@ require("core-js/modules/esnext.map.reduce.js");
|
|
|
24
17
|
require("core-js/modules/esnext.map.some.js");
|
|
25
18
|
require("core-js/modules/esnext.map.update.js");
|
|
26
19
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
27
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
28
20
|
Object.defineProperty(exports, "__esModule", {
|
|
29
21
|
value: true
|
|
30
22
|
});
|
|
31
23
|
exports.FcrChatConnectionImpl = void 0;
|
|
32
|
-
require("core-js/modules/es.json.stringify.js");
|
|
33
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
34
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
35
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
36
24
|
var _imports = require("../imports");
|
|
37
25
|
var _type = require("./type");
|
|
38
26
|
var _parameters = require("../utilities/parameters");
|
|
39
27
|
var _config2 = require("./config");
|
|
40
28
|
var _logger = require("../utilities/logger");
|
|
41
|
-
var _FcrChatConnectionImpl;
|
|
42
29
|
let _initProto;
|
|
43
|
-
function ownKeys(e, r) { var t = Object.keys(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; }
|
|
44
|
-
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, _defineProperty2.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; }
|
|
45
30
|
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
46
31
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
47
32
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
48
33
|
function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
49
34
|
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
|
|
50
35
|
class FcrChatConnectionImpl {
|
|
36
|
+
static #_ = (() => [_initProto] = _applyDecs(this, [[_logger.trace, 2, "login"], [_logger.trace, 2, "logout"], [_logger.trace, 2, "getConnectionState"], [_logger.trace, 2, "getConnectionInstance"]], []).e)();
|
|
37
|
+
logger = (() => (_initProto(this), (0, _imports.getLogger)()))();
|
|
38
|
+
_observable = (() => new _imports.AgoraObservable())();
|
|
39
|
+
_connectionState = (() => _type.FcrChatConnectionState.DISCONNECTED)();
|
|
40
|
+
_offlineListener = () => {
|
|
41
|
+
if (this._connectionState !== _type.FcrChatConnectionState.DISCONNECTED) {
|
|
42
|
+
this._setConnectionState(_type.FcrChatConnectionState.DISCONNECTED);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
51
45
|
constructor(_config, _api) {
|
|
52
|
-
(0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _imports.getLogger)()));
|
|
53
|
-
(0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
|
|
54
|
-
(0, _defineProperty2.default)(this, "_connectionState", _type.FcrChatConnectionState.DISCONNECTED);
|
|
55
|
-
(0, _defineProperty2.default)(this, "_offlineListener", () => {
|
|
56
|
-
if (this._connectionState !== _type.FcrChatConnectionState.DISCONNECTED) {
|
|
57
|
-
this._setConnectionState(_type.FcrChatConnectionState.DISCONNECTED);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
46
|
this._config = _config;
|
|
61
47
|
this._api = _api;
|
|
62
48
|
}
|
|
@@ -70,9 +56,11 @@ class FcrChatConnectionImpl {
|
|
|
70
56
|
await (0, _imports.to)((0, _imports.retryAttempt)(async () => {
|
|
71
57
|
const tokenResult = await this._api.getUserToken(this._config.userId);
|
|
72
58
|
this._initConfig = tokenResult;
|
|
73
|
-
const connParams =
|
|
59
|
+
const connParams = {
|
|
60
|
+
..._config2.agoraChatConfig,
|
|
61
|
+
...privateConfig,
|
|
74
62
|
appKey: tokenResult.appKey
|
|
75
|
-
}
|
|
63
|
+
};
|
|
76
64
|
_imports.EasemobChatSDK.logger.setConsoleLogVisibility(false);
|
|
77
65
|
this._conn = new _imports.EasemobChatSDK.connection(connParams);
|
|
78
66
|
await this._conn.open({
|
|
@@ -92,15 +80,14 @@ class FcrChatConnectionImpl {
|
|
|
92
80
|
if (error instanceof _imports.AgoraRestfulClientError) {
|
|
93
81
|
throw error;
|
|
94
82
|
}
|
|
95
|
-
this.logger.error(
|
|
83
|
+
this.logger.error(`[ChatConnection] retry to login ChatConnection, ${error.message},retry ${currentRetry} times`);
|
|
96
84
|
await timeFn();
|
|
97
85
|
return true;
|
|
98
86
|
}).exec());
|
|
99
87
|
}
|
|
100
88
|
_addEventListeners() {
|
|
101
|
-
var _this$_conn;
|
|
102
89
|
window.addEventListener('offline', this._offlineListener);
|
|
103
|
-
|
|
90
|
+
this._conn?.addEventHandler('connection', {
|
|
104
91
|
onError: e => {
|
|
105
92
|
// this._observable.notifyObservers('onErrorOccurred', this._initConfig.roomId);
|
|
106
93
|
},
|
|
@@ -115,9 +102,8 @@ class FcrChatConnectionImpl {
|
|
|
115
102
|
});
|
|
116
103
|
}
|
|
117
104
|
logout() {
|
|
118
|
-
var _this$_conn2;
|
|
119
105
|
window.removeEventListener('offline', this._offlineListener);
|
|
120
|
-
|
|
106
|
+
this._conn?.close();
|
|
121
107
|
}
|
|
122
108
|
_setConnectionState(state) {
|
|
123
109
|
this._connectionState = state;
|
|
@@ -136,22 +122,18 @@ class FcrChatConnectionImpl {
|
|
|
136
122
|
this._observable.removeObserver(observer);
|
|
137
123
|
}
|
|
138
124
|
_getPrivateConfig() {
|
|
139
|
-
|
|
140
|
-
if ((_this$_chatIpList = this._chatIpList) !== null && _this$_chatIpList !== void 0 && _this$_chatIpList.length || (_this$_restIpList = this._restIpList) !== null && _this$_restIpList !== void 0 && _this$_restIpList.length) {
|
|
141
|
-
var _this$_chatIpList2, _this$_restIpList2;
|
|
125
|
+
if (this._chatIpList?.length || this._restIpList?.length) {
|
|
142
126
|
const privateConfig = {
|
|
143
127
|
isHttpDNS: false
|
|
144
128
|
};
|
|
145
|
-
if (
|
|
129
|
+
if (this._chatIpList?.length) {
|
|
146
130
|
privateConfig.url = this._chatIpList[0];
|
|
147
131
|
}
|
|
148
|
-
if (
|
|
132
|
+
if (this._restIpList?.length) {
|
|
149
133
|
privateConfig.apiUrl = this._restIpList[0];
|
|
150
134
|
}
|
|
151
135
|
return privateConfig;
|
|
152
136
|
}
|
|
153
137
|
}
|
|
154
138
|
}
|
|
155
|
-
exports.FcrChatConnectionImpl = FcrChatConnectionImpl;
|
|
156
|
-
_FcrChatConnectionImpl = FcrChatConnectionImpl;
|
|
157
|
-
[_initProto] = _applyDecs(_FcrChatConnectionImpl, [[_logger.trace, 2, "login"], [_logger.trace, 2, "logout"], [_logger.trace, 2, "getConnectionState"], [_logger.trace, 2, "getConnectionInstance"]], []).e;
|
|
139
|
+
exports.FcrChatConnectionImpl = FcrChatConnectionImpl;
|
package/lib/engine/index.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
3
|
require("core-js/modules/es.array.push.js");
|
|
5
|
-
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
6
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
7
4
|
require("core-js/modules/esnext.function.metadata.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
9
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
10
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
11
5
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
12
6
|
require("core-js/modules/esnext.map.emplace.js");
|
|
13
7
|
require("core-js/modules/esnext.map.every.js");
|
|
@@ -23,18 +17,12 @@ require("core-js/modules/esnext.map.reduce.js");
|
|
|
23
17
|
require("core-js/modules/esnext.map.some.js");
|
|
24
18
|
require("core-js/modules/esnext.map.update.js");
|
|
25
19
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
26
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
27
20
|
Object.defineProperty(exports, "__esModule", {
|
|
28
21
|
value: true
|
|
29
22
|
});
|
|
30
23
|
exports.FcrCoreEngine = void 0;
|
|
31
|
-
require("core-js/modules/
|
|
32
|
-
require("core-js/modules/es.json.stringify.js");
|
|
33
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
34
|
-
require("core-js/modules/esnext.async-iterator.map.js");
|
|
24
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
35
25
|
require("core-js/modules/esnext.iterator.map.js");
|
|
36
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
37
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
38
26
|
var _imports = require("../imports");
|
|
39
27
|
var _api = require("../service/api");
|
|
40
28
|
var _monitorControl = require("../monitor-control");
|
|
@@ -55,24 +43,38 @@ var _agoraRteSdk = require("agora-rte-sdk");
|
|
|
55
43
|
var _helper = require("agora-rte-sdk/lib/core/scene/helper");
|
|
56
44
|
var _mobile = require("../media-control/mobile");
|
|
57
45
|
var _chatroom = require("../plugins/chatroom");
|
|
58
|
-
var
|
|
46
|
+
var _whiteboardControl = require("../room-control/whiteboard-control");
|
|
47
|
+
var _privilegeControl = require("../room-control/privilege-control");
|
|
59
48
|
var _logger = require("../utilities/logger");
|
|
60
|
-
var _FcrCoreEngine;
|
|
61
49
|
let _initProto;
|
|
62
|
-
function ownKeys(e, r) { var t = Object.keys(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; }
|
|
63
|
-
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, _defineProperty2.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; }
|
|
64
50
|
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
65
51
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
66
52
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
67
53
|
function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
68
54
|
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
|
|
69
55
|
class FcrCoreEngine {
|
|
56
|
+
static #_ = (() => [_initProto] = _applyDecs(this, [[_logger.trace, 2, "release"], [_logger.trace, 2, "login"], [_logger.trace, 2, "logout"], [_logger.trace, 2, "getVersion"], [_logger.trace, 2, "createMainRoomControl"], [_logger.trace, 2, "createWaitingRoomControl"], [_logger.trace, 2, "createRoomControlAndJoin"], [_logger.trace, 2, "getDesktopMediaControl"], [_logger.trace, 2, "getMobileMediaControl"], [_logger.trace, 2, "getMonitorControl"], [_logger.trace, 2, "getPeerSessionControl"], [_logger.trace, 2, "sendPeerMessage"], [_logger.trace, 2, "setParameters"]], []).e)();
|
|
57
|
+
// @internal
|
|
58
|
+
logger = (() => (_initProto(this), (0, _logger.getLogger)()))();
|
|
59
|
+
// @internal
|
|
60
|
+
|
|
61
|
+
// @internal
|
|
62
|
+
|
|
63
|
+
// @internal
|
|
64
|
+
|
|
65
|
+
// @internal
|
|
66
|
+
|
|
67
|
+
// @internal
|
|
68
|
+
|
|
69
|
+
// @internal
|
|
70
|
+
|
|
71
|
+
// @internal
|
|
72
|
+
|
|
73
|
+
// @internal
|
|
74
|
+
|
|
75
|
+
// @internal
|
|
76
|
+
_isLoggingIn = false;
|
|
70
77
|
constructor(config) {
|
|
71
|
-
var _config$parameters, _config$parameters2, _config$parameters3;
|
|
72
|
-
// @internal
|
|
73
|
-
(0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _logger.getLogger)()));
|
|
74
|
-
// @internal
|
|
75
|
-
(0, _defineProperty2.default)(this, "_isLoggingIn", false);
|
|
76
78
|
this._config = config;
|
|
77
79
|
(0, _domainHolder.resetSharedDomainHolder)();
|
|
78
80
|
this._rteEngine = new _imports.AgoraRteEngine({
|
|
@@ -85,9 +87,9 @@ class FcrCoreEngine {
|
|
|
85
87
|
dualCameraVideoStreamConfig: config.dualCameraVideoStreamConfig,
|
|
86
88
|
dualScreenVideoStreamConfig: config.dualScreenVideoStreamConfig,
|
|
87
89
|
parameters: {
|
|
88
|
-
rte:
|
|
89
|
-
rtc:
|
|
90
|
-
rtm:
|
|
90
|
+
rte: config.parameters?.rte,
|
|
91
|
+
rtc: config.parameters?.rtc,
|
|
92
|
+
rtm: config.parameters?.rtm
|
|
91
93
|
}
|
|
92
94
|
});
|
|
93
95
|
const restfulClient = new _agoraRteSdk.AgoraRestfulClientImpl(this._rteEngine.getHttpAuthHeadersProvider(), (0, _imports.getSharedDomainHolder)(config.region));
|
|
@@ -103,7 +105,7 @@ class FcrCoreEngine {
|
|
|
103
105
|
this._addRteEngineObserver();
|
|
104
106
|
const coreIpList = (0, _parameters.getCoreIpList)(config.parameters);
|
|
105
107
|
if (coreIpList) {
|
|
106
|
-
this.logger.info(
|
|
108
|
+
this.logger.info(`[FcrCoreEngine] set fixed domain list: ${JSON.stringify(coreIpList)}`);
|
|
107
109
|
(0, _imports.getSharedDomainHolder)(this._config.region).setFixedDomainList(coreIpList);
|
|
108
110
|
}
|
|
109
111
|
}
|
|
@@ -160,7 +162,7 @@ class FcrCoreEngine {
|
|
|
160
162
|
const scene = this._rteEngine.createScene({
|
|
161
163
|
sceneId: roomId
|
|
162
164
|
});
|
|
163
|
-
return new _mainroomControl.FcrMainRoomControlImpl(this._rteEngine, scene, this._apiService, this._config, _type2.FcrRoomType.Mainroom, this._chatConnection, new _chatroom.FcrChatRoomControlImpl(scene, this._chatConnection), new
|
|
165
|
+
return new _mainroomControl.FcrMainRoomControlImpl(this._rteEngine, scene, this._apiService, this._config, _type2.FcrRoomType.Mainroom, this._chatConnection, new _chatroom.FcrChatRoomControlImpl(scene, this._chatConnection), new _whiteboardControl.FcrWhiteboardControlImpl(scene, new _privilegeControl.FcrPrivilegeControlImpl(this._rteEngine, scene, this._apiService), this._apiService));
|
|
164
166
|
}
|
|
165
167
|
|
|
166
168
|
/**
|
|
@@ -186,7 +188,6 @@ class FcrCoreEngine {
|
|
|
186
188
|
} = this._rteEngine.getConfig();
|
|
187
189
|
let res = undefined;
|
|
188
190
|
const [error] = await (0, _imports.to)((0, _imports.retryAttempt)(async () => {
|
|
189
|
-
var _options$createStream;
|
|
190
191
|
res = await this._apiService.checkIn({
|
|
191
192
|
userName: options.userName,
|
|
192
193
|
userId,
|
|
@@ -194,11 +195,11 @@ class FcrCoreEngine {
|
|
|
194
195
|
userProperties: options.userProperties,
|
|
195
196
|
roomId,
|
|
196
197
|
platform: (0, _imports.getPlatform)(),
|
|
197
|
-
streams:
|
|
198
|
+
streams: options.createStreamConfigs?.map(s => ({
|
|
198
199
|
videoSourceUuid: s.videoSourceId,
|
|
199
200
|
audioSourceUuid: s.audioSourceId,
|
|
200
|
-
streamName: s.streamName
|
|
201
|
-
|
|
201
|
+
streamName: s.streamName,
|
|
202
|
+
...(0, _helper.convertStreamTypeToPublishState)(s.streamType),
|
|
202
203
|
videoSourceType: s.videoSourceType,
|
|
203
204
|
audioSourceType: s.audioSourceType,
|
|
204
205
|
audioSourceState: s.audioSourceState,
|
|
@@ -218,24 +219,23 @@ class FcrCoreEngine {
|
|
|
218
219
|
if (error instanceof _imports.AgoraRestfulClientError) {
|
|
219
220
|
throw error;
|
|
220
221
|
}
|
|
221
|
-
this.logger.error(
|
|
222
|
+
this.logger.error(`[RoomControl] retry to check in room, ${error.message},retry ${currentRetry} times`);
|
|
222
223
|
await timeFn();
|
|
223
224
|
return true;
|
|
224
225
|
}).exec());
|
|
225
226
|
if (error) {
|
|
226
|
-
this.logger.error(
|
|
227
|
+
this.logger.error(`[RoomControl] check in room failed, ${error.message}-${JSON.stringify(error)}`);
|
|
227
228
|
if (error instanceof _imports.AgoraRestfulClientError) {
|
|
228
229
|
if (error.httpCode < 100) {
|
|
229
|
-
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM, _error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED,
|
|
230
|
+
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM, _error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, `entry room failed, ${error.message}`, error);
|
|
230
231
|
} else {
|
|
231
|
-
|
|
232
|
-
throw (0, _error.generateFcrCoreServerError)((_error$serviceCode = error.serviceCode) !== null && _error$serviceCode !== void 0 ? _error$serviceCode : -1, error.message, error);
|
|
232
|
+
throw (0, _error.generateFcrCoreServerError)(error.serviceCode ?? -1, error.message, error);
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
235
|
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM, _error.FcrErrorCode.UNDEFINED_ERROR, 'join room failed', error);
|
|
236
236
|
}
|
|
237
237
|
if (!res) {
|
|
238
|
-
this.logger.error(
|
|
238
|
+
this.logger.error(`[RoomControl] cannot get data from check in respnose`);
|
|
239
239
|
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM, _error.FcrErrorCode.UNDEFINED_ERROR, 'join room failed', new Error('cannot get data from check in respnose'));
|
|
240
240
|
}
|
|
241
241
|
const {
|
|
@@ -250,11 +250,12 @@ class FcrCoreEngine {
|
|
|
250
250
|
} else {
|
|
251
251
|
roomControl = this.createMainRoomControl(roomId);
|
|
252
252
|
}
|
|
253
|
-
await roomControl.join(
|
|
253
|
+
await roomControl.join({
|
|
254
|
+
...options,
|
|
254
255
|
snapshot: data,
|
|
255
256
|
timestamp: ts,
|
|
256
257
|
createStreamConfigs: data.room.roomProperties.roomType === _type2.FcrRoomType.Waitingroom ? [] : options.createStreamConfigs
|
|
257
|
-
})
|
|
258
|
+
});
|
|
258
259
|
return roomControl;
|
|
259
260
|
}
|
|
260
261
|
|
|
@@ -297,7 +298,7 @@ class FcrCoreEngine {
|
|
|
297
298
|
* @param receiverId
|
|
298
299
|
*/
|
|
299
300
|
async sendPeerMessage(payload, guaranteedDelivery, receiverId) {
|
|
300
|
-
await this._rteEngine.sendPeerMessage(payload,
|
|
301
|
+
await this._rteEngine.sendPeerMessage(payload, `${_cmd.CMD_PEER_MESSAGE}`, guaranteedDelivery, receiverId);
|
|
301
302
|
}
|
|
302
303
|
|
|
303
304
|
/**
|
|
@@ -349,6 +350,4 @@ class FcrCoreEngine {
|
|
|
349
350
|
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onConnectionStateUpdated', 'onPeerMessageReceived']));
|
|
350
351
|
}
|
|
351
352
|
}
|
|
352
|
-
exports.FcrCoreEngine = FcrCoreEngine;
|
|
353
|
-
_FcrCoreEngine = FcrCoreEngine;
|
|
354
|
-
[_initProto] = _applyDecs(_FcrCoreEngine, [[_logger.trace, 2, "release"], [_logger.trace, 2, "login"], [_logger.trace, 2, "logout"], [_logger.trace, 2, "getVersion"], [_logger.trace, 2, "createMainRoomControl"], [_logger.trace, 2, "createWaitingRoomControl"], [_logger.trace, 2, "createRoomControlAndJoin"], [_logger.trace, 2, "getDesktopMediaControl"], [_logger.trace, 2, "getMobileMediaControl"], [_logger.trace, 2, "getMonitorControl"], [_logger.trace, 2, "getPeerSessionControl"], [_logger.trace, 2, "sendPeerMessage"], [_logger.trace, 2, "setParameters"]], []).e;
|
|
353
|
+
exports.FcrCoreEngine = FcrCoreEngine;
|
package/lib/imports.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export { getSharedDomainHolder } from 'agora-rte-sdk/lib/core/services/domain-ho
|
|
|
39
39
|
export { AgoraRteScreenCaptureType, AgoraRteVideoOrientation, } from 'agora-rte-sdk/lib/core/media/type';
|
|
40
40
|
export { registerPlugin } from 'agora-rte-sdk/lib/core/engine/plugin';
|
|
41
41
|
export { AgoraRteUserUpdatedReason } from 'agora-rte-sdk/lib/core/scene/type';
|
|
42
|
+
export type { AgoraRteUploadEvent } from 'agora-rte-sdk/lib/core/monitor/type';
|
|
42
43
|
export { FcrCoreEngine } from './engine';
|
|
43
44
|
export type FcrImageData = ImageData;
|
|
44
45
|
export type FcrWhiteboardView = HTMLElement;
|
package/lib/imports.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/esnext.weak-map.delete-all.js");
|
|
4
4
|
require("core-js/modules/esnext.weak-map.emplace.js");
|
|
5
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
6
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
7
6
|
Object.defineProperty(exports, "__esModule", {
|
|
8
7
|
value: true
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
|
5
3
|
require("core-js/modules/es.array.push.js");
|
|
6
4
|
require("core-js/modules/esnext.function.metadata.js");
|
|
7
5
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
@@ -19,19 +17,14 @@ require("core-js/modules/esnext.map.reduce.js");
|
|
|
19
17
|
require("core-js/modules/esnext.map.some.js");
|
|
20
18
|
require("core-js/modules/esnext.map.update.js");
|
|
21
19
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
22
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
23
20
|
Object.defineProperty(exports, "__esModule", {
|
|
24
21
|
value: true
|
|
25
22
|
});
|
|
26
23
|
exports.FcrDesktopMediaControlImpl = void 0;
|
|
27
|
-
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
28
24
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
29
25
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
30
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
31
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
32
26
|
var _imports = require("../imports");
|
|
33
27
|
var _logger = require("../utilities/logger");
|
|
34
|
-
var _FcrDesktopMediaControlImpl;
|
|
35
28
|
let _initProto;
|
|
36
29
|
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
37
30
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
@@ -42,8 +35,9 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
42
35
|
* @internal
|
|
43
36
|
*/
|
|
44
37
|
class FcrDesktopMediaControlImpl {
|
|
38
|
+
static #_ = (() => [_initProto] = _applyDecs(this, [[_logger.trace, 2, "getCameraList"], [_logger.trace, 2, "getMicrophoneList"], [_logger.trace, 2, "getSpeakerList"], [_logger.trace, 2, "getSystemSelectedMicrophone"], [_logger.trace, 2, "getSystemSelectedSpeaker"], [_logger.trace, 2, "getWindowList"], [_logger.trace, 2, "getDisplayList"], [_logger.trace, 2, "getCameraTrack"], [_logger.trace, 2, "getMicrophoneTrack"], [_logger.trace, 2, "getScreenTrack"], [_logger.trace, 2, "getLoopbackTrack"], [_logger.trace, 2, "setSelectedSpeaker"], [_logger.trace, 2, "startSelectedSpeakerTest"], [_logger.trace, 2, "stopSelectedSpeakerTest"], [_logger.trace, 2, "isCapabilitySupported"], [_logger.trace, 2, "adjustOutputVolume"], [_logger.trace, 2, "setSelectedSpeakerVolume"], [_logger.trace, 2, "getSelectedSpeakerVolume"], [_logger.trace, 2, "checkLoopbackDevice"], [_logger.trace, 2, "followSystemSpeaker"], [_logger.trace, 2, "followSystemMicrophone"]], []).e)();
|
|
39
|
+
_observable = (() => (_initProto(this), new _imports.AgoraObservable()))();
|
|
45
40
|
constructor(mediaControl) {
|
|
46
|
-
(0, _defineProperty2.default)(this, "_observable", (_initProto(this), new _imports.AgoraObservable()));
|
|
47
41
|
this._mediaControl = mediaControl;
|
|
48
42
|
this._mediaControl.addObserver({
|
|
49
43
|
onAutoPlayFailed: () => {
|
|
@@ -151,6 +145,4 @@ class FcrDesktopMediaControlImpl {
|
|
|
151
145
|
return this._mediaControl.followSystemMicrophone(follow);
|
|
152
146
|
}
|
|
153
147
|
}
|
|
154
|
-
exports.FcrDesktopMediaControlImpl = FcrDesktopMediaControlImpl;
|
|
155
|
-
_FcrDesktopMediaControlImpl = FcrDesktopMediaControlImpl;
|
|
156
|
-
[_initProto] = _applyDecs(_FcrDesktopMediaControlImpl, [[_logger.trace, 2, "getCameraList"], [_logger.trace, 2, "getMicrophoneList"], [_logger.trace, 2, "getSpeakerList"], [_logger.trace, 2, "getSystemSelectedMicrophone"], [_logger.trace, 2, "getSystemSelectedSpeaker"], [_logger.trace, 2, "getWindowList"], [_logger.trace, 2, "getDisplayList"], [_logger.trace, 2, "getCameraTrack"], [_logger.trace, 2, "getMicrophoneTrack"], [_logger.trace, 2, "getScreenTrack"], [_logger.trace, 2, "getLoopbackTrack"], [_logger.trace, 2, "setSelectedSpeaker"], [_logger.trace, 2, "startSelectedSpeakerTest"], [_logger.trace, 2, "stopSelectedSpeakerTest"], [_logger.trace, 2, "isCapabilitySupported"], [_logger.trace, 2, "adjustOutputVolume"], [_logger.trace, 2, "setSelectedSpeakerVolume"], [_logger.trace, 2, "getSelectedSpeakerVolume"], [_logger.trace, 2, "checkLoopbackDevice"], [_logger.trace, 2, "followSystemSpeaker"], [_logger.trace, 2, "followSystemMicrophone"]], []).e;
|
|
148
|
+
exports.FcrDesktopMediaControlImpl = FcrDesktopMediaControlImpl;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
3
|
require("core-js/modules/es.array.push.js");
|
|
5
4
|
require("core-js/modules/esnext.function.metadata.js");
|
|
6
5
|
require("core-js/modules/esnext.map.delete-all.js");
|
|
@@ -18,19 +17,14 @@ require("core-js/modules/esnext.map.reduce.js");
|
|
|
18
17
|
require("core-js/modules/esnext.map.some.js");
|
|
19
18
|
require("core-js/modules/esnext.map.update.js");
|
|
20
19
|
require("core-js/modules/esnext.symbol.metadata.js");
|
|
21
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
22
20
|
Object.defineProperty(exports, "__esModule", {
|
|
23
21
|
value: true
|
|
24
22
|
});
|
|
25
23
|
exports.FcrMobileMediaControlImpl = void 0;
|
|
26
|
-
require("core-js/modules/es.error.cause.js");
|
|
27
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
28
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
24
|
var _imports = require("../imports");
|
|
30
25
|
var _type = require("../type");
|
|
31
26
|
var _ = require("..");
|
|
32
27
|
var _logger = require("../utilities/logger");
|
|
33
|
-
var _FcrMobileMediaControlImpl;
|
|
34
28
|
let _initProto;
|
|
35
29
|
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
36
30
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
@@ -41,11 +35,12 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
|
|
|
41
35
|
* @internal
|
|
42
36
|
*/
|
|
43
37
|
class FcrMobileMediaControlImpl {
|
|
38
|
+
static #_ = (() => [_initProto] = _applyDecs(this, [[_logger.trace, 2, "getDeviceId"], [_logger.trace, 2, "getDeviceState"], [_logger.trace, 2, "startCameraTest"], [_logger.trace, 2, "stopCameraTest"], [_logger.trace, 2, "startCameraPreview"], [_logger.trace, 2, "stopCameraPreview"], [_logger.trace, 2, "stopCameraPreviewOnAllCanvas"], [_logger.trace, 2, "startScreenCapture"], [_logger.trace, 2, "updateScreenCapture"], [_logger.trace, 2, "stopScreenCapture"], [_logger.trace, 2, "getScreenCaptureState"], [_logger.trace, 2, "enableSpeaker"], [_logger.trace, 2, "getAudioOutputRouting"], [_logger.trace, 2, "getAudioEffectEnhancer"], [_logger.trace, 2, "getVideoEffectEnhancer"], [_logger.trace, 2, "openDevice"], [_logger.trace, 2, "closeDevice"], [_logger.trace, 2, "switchCamera"], [_logger.trace, 2, "getCameraPosition"], [_logger.trace, 2, "isCapabilitySupported"], [_logger.trace, 2, "adjustOutputVolume"]], []).e)();
|
|
39
|
+
_observable = (() => (_initProto(this), new _imports.AgoraObservable()))();
|
|
40
|
+
_cameraDeviceName = (() => undefined)();
|
|
41
|
+
_microphoneDeviceName = (() => undefined)();
|
|
42
|
+
_screenDeviceName = (() => undefined)();
|
|
44
43
|
constructor(mediaControl) {
|
|
45
|
-
(0, _defineProperty2.default)(this, "_observable", (_initProto(this), new _imports.AgoraObservable()));
|
|
46
|
-
(0, _defineProperty2.default)(this, "_cameraDeviceName", undefined);
|
|
47
|
-
(0, _defineProperty2.default)(this, "_microphoneDeviceName", undefined);
|
|
48
|
-
(0, _defineProperty2.default)(this, "_screenDeviceName", undefined);
|
|
49
44
|
this._mediaControl = mediaControl;
|
|
50
45
|
this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).addObserver({
|
|
51
46
|
onCameraStateUpdated: (deviceId, state) => {
|
|
@@ -192,6 +187,4 @@ class FcrMobileMediaControlImpl {
|
|
|
192
187
|
this._observable.removeObserver(observer);
|
|
193
188
|
}
|
|
194
189
|
}
|
|
195
|
-
exports.FcrMobileMediaControlImpl = FcrMobileMediaControlImpl;
|
|
196
|
-
_FcrMobileMediaControlImpl = FcrMobileMediaControlImpl;
|
|
197
|
-
[_initProto] = _applyDecs(_FcrMobileMediaControlImpl, [[_logger.trace, 2, "getDeviceId"], [_logger.trace, 2, "getDeviceState"], [_logger.trace, 2, "startCameraTest"], [_logger.trace, 2, "stopCameraTest"], [_logger.trace, 2, "startCameraPreview"], [_logger.trace, 2, "stopCameraPreview"], [_logger.trace, 2, "stopCameraPreviewOnAllCanvas"], [_logger.trace, 2, "startScreenCapture"], [_logger.trace, 2, "updateScreenCapture"], [_logger.trace, 2, "stopScreenCapture"], [_logger.trace, 2, "getScreenCaptureState"], [_logger.trace, 2, "enableSpeaker"], [_logger.trace, 2, "getAudioOutputRouting"], [_logger.trace, 2, "getAudioEffectEnhancer"], [_logger.trace, 2, "getVideoEffectEnhancer"], [_logger.trace, 2, "openDevice"], [_logger.trace, 2, "closeDevice"], [_logger.trace, 2, "switchCamera"], [_logger.trace, 2, "getCameraPosition"], [_logger.trace, 2, "isCapabilitySupported"], [_logger.trace, 2, "adjustOutputVolume"]], []).e;
|
|
190
|
+
exports.FcrMobileMediaControlImpl = FcrMobileMediaControlImpl;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AgoraRteAudioRawDataConfig, AgoraRteBeautyOptions, AgoraRteCameraPosition, AgoraRteScreenCaptureParams, AgoraRteScreenCaptureType, AgoraRteVirtualBackgroundOptions, AgoraRteVideoOrientation, AgoraRteCameraCaptureParams, AgoraRtcAudioOutputRouting } from '../imports';
|
|
2
|
-
import { FcrDeviceInfo, FcrDeviceType, FcrDisplayInfo, FcrRenderView, FcrWindowInfo } from '../type';
|
|
3
|
-
import { FcrMediaSourceState,
|
|
2
|
+
import { FcrDeviceInfo, FcrDeviceType, FcrDisplayInfo, FcrRenderView, FcrVideoRenderConfig, FcrWindowInfo } from '../type';
|
|
3
|
+
import { FcrMediaSourceState, FcrAiDenoiseLevel, FcrVideoSourceType, FcrAudioSourceType, FcrCapability } from '..';
|
|
4
4
|
export type FcrAudioOutputRouting = AgoraRtcAudioOutputRouting;
|
|
5
5
|
export type FcrDesktopMediaObserver = {
|
|
6
6
|
/**
|
|
@@ -99,10 +99,7 @@ export type FcrLoopbackObserver = {
|
|
|
99
99
|
*/
|
|
100
100
|
onLoopbackStateUpdated?: (deviceId: string, state: FcrMediaSourceState) => void;
|
|
101
101
|
};
|
|
102
|
-
export type FcrRenderConfig =
|
|
103
|
-
renderMode: FcrVideoRenderMode;
|
|
104
|
-
isMirror: boolean;
|
|
105
|
-
};
|
|
102
|
+
export type FcrRenderConfig = FcrVideoRenderConfig;
|
|
106
103
|
export type FcrBeautyOptions = AgoraRteBeautyOptions;
|
|
107
104
|
export type FcrVirtualBackgroundOptions = AgoraRteVirtualBackgroundOptions;
|
|
108
105
|
export type FcrCameraPosition = AgoraRteCameraPosition;
|
|
@@ -1,17 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.array.push.js");
|
|
4
|
+
require("core-js/modules/esnext.function.metadata.js");
|
|
5
|
+
require("core-js/modules/esnext.map.delete-all.js");
|
|
6
|
+
require("core-js/modules/esnext.map.emplace.js");
|
|
7
|
+
require("core-js/modules/esnext.map.every.js");
|
|
8
|
+
require("core-js/modules/esnext.map.filter.js");
|
|
9
|
+
require("core-js/modules/esnext.map.find.js");
|
|
10
|
+
require("core-js/modules/esnext.map.find-key.js");
|
|
11
|
+
require("core-js/modules/esnext.map.includes.js");
|
|
12
|
+
require("core-js/modules/esnext.map.key-of.js");
|
|
13
|
+
require("core-js/modules/esnext.map.map-keys.js");
|
|
14
|
+
require("core-js/modules/esnext.map.map-values.js");
|
|
15
|
+
require("core-js/modules/esnext.map.merge.js");
|
|
16
|
+
require("core-js/modules/esnext.map.reduce.js");
|
|
17
|
+
require("core-js/modules/esnext.map.some.js");
|
|
18
|
+
require("core-js/modules/esnext.map.update.js");
|
|
19
|
+
require("core-js/modules/esnext.symbol.metadata.js");
|
|
3
20
|
Object.defineProperty(exports, "__esModule", {
|
|
4
21
|
value: true
|
|
5
22
|
});
|
|
6
23
|
exports.FcrMonitorControlImpl = void 0;
|
|
24
|
+
var _imports = require("../imports");
|
|
25
|
+
let _initProto;
|
|
26
|
+
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
27
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
28
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
29
|
+
function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
30
|
+
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
|
|
7
31
|
/**
|
|
8
32
|
* @internal
|
|
9
33
|
*/
|
|
10
34
|
class FcrMonitorControlImpl {
|
|
35
|
+
static #_ = (() => [_initProto] = _applyDecs(this, [[_imports.trace, 2, "uploadEvent"]], []).e)();
|
|
36
|
+
_monitor = (() => void _initProto(this))();
|
|
11
37
|
constructor(engine, _config) {
|
|
12
38
|
this._config = _config;
|
|
13
39
|
this._monitor = engine.getMonitor();
|
|
14
40
|
}
|
|
41
|
+
async uploadEvent(event) {
|
|
42
|
+
return this._monitor.uploadEvent(event);
|
|
43
|
+
}
|
|
15
44
|
addObserver(observer) {
|
|
16
45
|
this._monitor.addObserver(observer);
|
|
17
46
|
}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import { FcrPerformanceInfo } from '../type';
|
|
1
|
+
import { FcrMonitorUploadEvent, FcrPerformanceInfo } from '../type';
|
|
2
2
|
export interface FcrMonitorObserver {
|
|
3
3
|
onPerformanceInfoUpdated?: (status: FcrPerformanceInfo) => void;
|
|
4
4
|
}
|
|
5
5
|
export interface FcrMonitorControl {
|
|
6
|
+
/**
|
|
7
|
+
* Uploads an event to the Agora Real-Time Engagement Monitor.
|
|
8
|
+
* @param event The event to be uploaded.
|
|
9
|
+
* @param success Callback function to be called if the upload is successful.
|
|
10
|
+
* @param failure Callback function to be called if the upload fails, with an error parameter.
|
|
11
|
+
*/
|
|
12
|
+
uploadEvent(event: FcrMonitorUploadEvent): Promise<void>;
|
|
6
13
|
/**
|
|
7
14
|
* Add an observer to the monitor.
|
|
8
15
|
* @param observer
|