fcr-core 3.8.2 → 3.9.0-alpha

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.
Files changed (159) hide show
  1. package/lib/chat-connector/type.d.ts +40 -0
  2. package/lib/{chat-connection → chat-connector}/type.js +1 -1
  3. package/lib/engine/index.d.ts +10 -11
  4. package/lib/engine/index.js +63 -72
  5. package/lib/engine/type.d.ts +96 -0
  6. package/lib/engine/type.js +5 -0
  7. package/lib/imports.d.ts +7 -4
  8. package/lib/imports.js +30 -4
  9. package/lib/index.d.ts +3 -2
  10. package/lib/index.js +21 -2
  11. package/lib/media-control/desktop.js +12 -12
  12. package/lib/media-control/mobile.js +4 -0
  13. package/lib/media-control/type.d.ts +32 -33
  14. package/lib/monitor-control/index.js +3 -3
  15. package/lib/peer-session/index.js +14 -14
  16. package/lib/peer-session/type.d.ts +1 -1
  17. package/lib/plugins/chat/chatroom.js +417 -0
  18. package/lib/{chat-connection → plugins/chat}/config.d.ts +1 -0
  19. package/lib/{chat-connection → plugins/chat}/config.js +2 -1
  20. package/lib/plugins/chat/connector.d.ts +38 -0
  21. package/lib/{chat-connection/index.js → plugins/chat/connector.js} +181 -61
  22. package/lib/room-control/ability-control/index.js +5 -4
  23. package/lib/room-control/ability-control/type.d.ts +5 -1
  24. package/lib/room-control/ability-control/type.js +4 -0
  25. package/lib/room-control/chatroom-control/type.d.ts +44 -35
  26. package/lib/room-control/group-control/index.js +9 -9
  27. package/lib/room-control/index.js +37 -22
  28. package/lib/room-control/interpreter-control/index.js +7 -4
  29. package/lib/room-control/interpreter-control/room.js +3 -3
  30. package/lib/room-control/interpreter-control/types.d.ts +2 -2
  31. package/lib/room-control/join-before-host-waitingroom-control/index.js +3 -3
  32. package/lib/room-control/mainroom-control/index.js +15 -13
  33. package/lib/room-control/privilege-control/index.js +39 -24
  34. package/lib/room-control/privilege-control/type.d.ts +15 -15
  35. package/lib/room-control/room-connector-control/index.js +7 -5
  36. package/lib/room-control/room-connector-control/type.d.ts +1 -1
  37. package/lib/room-control/room-control-factory.d.ts +3 -3
  38. package/lib/room-control/room-control-factory.js +7 -7
  39. package/lib/room-control/room-session/index.js +17 -15
  40. package/lib/room-control/room-session/type.d.ts +3 -3
  41. package/lib/room-control/sharing-control/index.js +13 -7
  42. package/lib/room-control/stream-control/index.js +18 -16
  43. package/lib/room-control/stream-control/type.d.ts +5 -5
  44. package/lib/room-control/stt-control/index.js +38 -31
  45. package/lib/room-control/type.d.ts +19 -19
  46. package/lib/room-control/user-control/index.js +20 -22
  47. package/lib/room-control/user-control/type.d.ts +1 -1
  48. package/lib/room-control/waitingroom-control/index.js +11 -11
  49. package/lib/room-control/whiteboard-control-v1/board-window.d.ts +21 -20
  50. package/lib/room-control/whiteboard-control-v1/board-window.js +27 -8
  51. package/lib/room-control/whiteboard-control-v1/factory.js +1 -1
  52. package/lib/room-control/whiteboard-control-v1/index.js +26 -18
  53. package/lib/room-control/whiteboard-control-v1/type.d.ts +26 -25
  54. package/lib/room-control/whiteboard-control-v1/type.js +1 -0
  55. package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +15 -6
  56. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +39 -5
  57. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +4 -5
  58. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +6 -5
  59. package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +7 -1
  60. package/lib/room-control/whiteboard-control-v2/base/index.d.ts +9 -8
  61. package/lib/room-control/whiteboard-control-v2/base/index.js +84 -42
  62. package/lib/room-control/whiteboard-control-v2/base/main-window.d.ts +16 -15
  63. package/lib/room-control/whiteboard-control-v2/base/main-window.js +23 -4
  64. package/lib/room-control/whiteboard-control-v2/type.d.ts +17 -17
  65. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +12 -6
  66. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +64 -18
  67. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +2 -2
  68. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +10 -10
  69. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +1 -1
  70. package/lib/room-router/index.js +10 -7
  71. package/lib/room-router/type.d.ts +1 -1
  72. package/lib/schema.d.ts +24 -46
  73. package/lib/schema.js +1 -2
  74. package/lib/service/api.d.ts +5 -3
  75. package/lib/service/api.js +17 -12
  76. package/lib/type.d.ts +64 -45
  77. package/lib/type.js +76 -11
  78. package/lib/utilities/abortable-retry.d.ts +38 -0
  79. package/lib/utilities/abortable-retry.js +61 -0
  80. package/lib/utilities/dual-video-stream-config.d.ts +6 -0
  81. package/lib/utilities/dual-video-stream-config.js +25 -0
  82. package/lib/utilities/error-helpers.d.ts +10 -9
  83. package/lib/utilities/error-helpers.js +12 -11
  84. package/lib/utilities/error.d.ts +4 -40
  85. package/lib/utilities/error.js +20 -77
  86. package/lib/utilities/join-helper.js +2 -2
  87. package/lib/utilities/logger.d.ts +2 -2
  88. package/lib/utilities/logger.js +6 -25
  89. package/lib/utilities/package-info.d.ts +1 -2
  90. package/lib/utilities/package-info.js +4 -8
  91. package/lib/utilities/parameters.js +88 -15
  92. package/lib/utilities/validate-params.js +1 -1
  93. package/lib/utilities/video-encoder-config.d.ts +9 -0
  94. package/lib/utilities/video-encoder-config.js +109 -0
  95. package/lib-es/{chat-connection → chat-connector}/type.js +1 -1
  96. package/lib-es/engine/index.js +46 -56
  97. package/lib-es/engine/type.js +1 -0
  98. package/lib-es/imports.js +5 -3
  99. package/lib-es/index.js +2 -1
  100. package/lib-es/media-control/desktop.js +12 -12
  101. package/lib-es/media-control/mobile.js +4 -0
  102. package/lib-es/monitor-control/index.js +3 -3
  103. package/lib-es/peer-session/index.js +16 -15
  104. package/lib-es/plugins/chat/chatroom.js +409 -0
  105. package/lib-es/{chat-connection → plugins/chat}/config.js +2 -1
  106. package/lib-es/{chat-connection/index.js → plugins/chat/connector.js} +178 -58
  107. package/lib-es/room-control/ability-control/index.js +5 -4
  108. package/lib-es/room-control/ability-control/type.js +4 -0
  109. package/lib-es/room-control/group-control/index.js +11 -10
  110. package/lib-es/room-control/index.js +40 -26
  111. package/lib-es/room-control/interpreter-control/index.js +10 -5
  112. package/lib-es/room-control/interpreter-control/room.js +3 -3
  113. package/lib-es/room-control/join-before-host-waitingroom-control/index.js +4 -3
  114. package/lib-es/room-control/mainroom-control/index.js +16 -17
  115. package/lib-es/room-control/privilege-control/index.js +43 -29
  116. package/lib-es/room-control/room-connector-control/index.js +9 -6
  117. package/lib-es/room-control/room-control-factory.js +6 -6
  118. package/lib-es/room-control/room-session/index.js +21 -22
  119. package/lib-es/room-control/sharing-control/index.js +13 -7
  120. package/lib-es/room-control/stream-control/index.js +21 -18
  121. package/lib-es/room-control/stt-control/index.js +23 -15
  122. package/lib-es/room-control/user-control/index.js +23 -23
  123. package/lib-es/room-control/waitingroom-control/index.js +10 -9
  124. package/lib-es/room-control/whiteboard-control-v1/board-window.js +27 -8
  125. package/lib-es/room-control/whiteboard-control-v1/factory.js +1 -1
  126. package/lib-es/room-control/whiteboard-control-v1/index.js +26 -17
  127. package/lib-es/room-control/whiteboard-control-v1/type.js +1 -0
  128. package/lib-es/room-control/whiteboard-control-v2/annotation-control/control.js +39 -5
  129. package/lib-es/room-control/whiteboard-control-v2/annotation-control/factory.js +7 -6
  130. package/lib-es/room-control/whiteboard-control-v2/base/index.js +86 -42
  131. package/lib-es/room-control/whiteboard-control-v2/base/main-window.js +23 -4
  132. package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/control.js +60 -13
  133. package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/factory.js +10 -10
  134. package/lib-es/room-router/index.js +10 -6
  135. package/lib-es/schema.js +1 -2
  136. package/lib-es/service/api.js +17 -12
  137. package/lib-es/type.js +70 -18
  138. package/lib-es/utilities/abortable-retry.js +54 -0
  139. package/lib-es/utilities/dual-video-stream-config.js +19 -0
  140. package/lib-es/utilities/error-helpers.js +13 -12
  141. package/lib-es/utilities/error.js +9 -75
  142. package/lib-es/utilities/join-helper.js +4 -3
  143. package/lib-es/utilities/logger.js +7 -23
  144. package/lib-es/utilities/package-info.js +4 -6
  145. package/lib-es/utilities/parameters.js +88 -15
  146. package/lib-es/utilities/validate-params.js +3 -2
  147. package/lib-es/utilities/video-encoder-config.js +103 -0
  148. package/package.json +7 -7
  149. package/lib/chat-connection/index.d.ts +0 -24
  150. package/lib/chat-connection/type.d.ts +0 -17
  151. package/lib/plugins/chatroom.js +0 -454
  152. package/lib/room-control/chatroom-control/config.d.ts +0 -51
  153. package/lib/room-control/chatroom-control/config.js +0 -105
  154. package/lib/utilities/storage.d.ts +0 -8
  155. package/lib/utilities/storage.js +0 -33
  156. package/lib-es/plugins/chatroom.js +0 -446
  157. package/lib-es/room-control/chatroom-control/config.js +0 -100
  158. package/lib-es/utilities/storage.js +0 -27
  159. /package/lib/plugins/{chatroom.d.ts → chat/chatroom.d.ts} +0 -0
@@ -31,92 +31,92 @@ export interface FcrPrivilegeControl {
31
31
  * @param enable
32
32
  * @param targetRoles
33
33
  */
34
- allowShareAndWrite(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
34
+ allowShareAndWrite(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
35
35
  /**
36
36
  * Enables or disables whiteboard write privilege.
37
37
  * @param enable
38
38
  * @param targetRoles
39
39
  */
40
- allowWriteBoard(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
40
+ allowWriteBoard(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
41
41
  /**
42
42
  * Enables or disables whiteboard write privilege by user ids.
43
43
  * @param enable
44
44
  * @param targetUserIds
45
45
  */
46
- allowWriteBoardByUserIds(enable: boolean, targetUserIds: string[]): Promise<void>;
46
+ allowWriteBoardByUserIds(enable: boolean, targetUserIds: string[]): Promise<number>;
47
47
  /**
48
48
  * Enables or disables send chat.
49
49
  * @param enable
50
50
  * @param targetRoles
51
51
  * @param payload
52
52
  */
53
- allowSendChat(enable: boolean, targetRoles: FcrPrivilegeUserRole[], payload: FcrSecuritySendChatPayload): Promise<void>;
53
+ allowSendChat(enable: boolean, targetRoles: FcrPrivilegeUserRole[], payload: FcrSecuritySendChatPayload): Promise<number>;
54
54
  /**
55
55
  * Enables or disables start audio.
56
56
  * @param enable
57
57
  * @param targetRoles
58
58
  */
59
- allowStartAudio(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
59
+ allowStartAudio(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
60
60
  /**
61
61
  * Enables or disables start video.
62
62
  * @param enable
63
63
  * @param targetRoles
64
64
  */
65
- allowStartVideo(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
65
+ allowStartVideo(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
66
66
  /**
67
67
  * Enables or disables join with muted audio
68
68
  * @param enable
69
69
  * @param targetRoles
70
70
  */
71
- allowJoinWithMutedAudio(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
71
+ allowJoinWithMutedAudio(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
72
72
  /**
73
73
  * Enables or disables join with close video
74
74
  * @param enable
75
75
  * @param targetRoles
76
76
  */
77
- allowJoinWithMutedVideo(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
77
+ allowJoinWithMutedVideo(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
78
78
  /**
79
79
  * Enables or disables join with muted audio
80
80
  * @param enable
81
81
  * @param targetRoles
82
82
  */
83
- allowWatermark(enable: boolean, targetRoles: FcrPrivilegeUserRole[], lineType?: FcrLineType): Promise<void>;
83
+ allowWatermark(enable: boolean, targetRoles: FcrPrivilegeUserRole[], lineType?: FcrLineType): Promise<number>;
84
84
  /**
85
85
  * Enables or disables change self name in meeting.
86
86
  * @param enable
87
87
  * @param targetRoles
88
88
  */
89
- allowChangeUserName(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
89
+ allowChangeUserName(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
90
90
  /**
91
91
  * Enables or disables write annotation.
92
92
  * @param enable
93
93
  * @param targetRoles
94
94
  */
95
- allowWriteAnnotation(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
95
+ allowWriteAnnotation(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
96
96
  /**
97
97
  * Enables or disables start caption.
98
98
  * @param enable
99
99
  * @param targetRoles
100
100
  */
101
- allowStartCaption(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
101
+ allowStartCaption(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
102
102
  /**
103
103
  * Enables or disables start transcribing.
104
104
  * @param enable
105
105
  * @param targetRoles
106
106
  */
107
- allowStartTranscribing(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
107
+ allowStartTranscribing(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
108
108
  /**
109
109
  * Enables or disables update stt source language.
110
110
  * @param enable
111
111
  * @param targetRoles
112
112
  */
113
- allowUpdateSttSourceLanguage(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
113
+ allowUpdateSttSourceLanguage(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
114
114
  /**
115
115
  * Enables or disables join with prompt sound.
116
116
  * @param enable
117
117
  * @param targetRoles
118
118
  */
119
- allowJoinWithPromptSound(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<void>;
119
+ allowJoinWithPromptSound(enable: boolean, targetRoles: FcrPrivilegeUserRole[]): Promise<number>;
120
120
  /**
121
121
  * Adds an observer.
122
122
  * @param observer
@@ -31,6 +31,7 @@ var _logger = require("../../utilities/logger");
31
31
  var _error = require("../../utilities/error");
32
32
  var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
33
33
  var _schema = require("../../schema");
34
+ var _type2 = require("../../type");
34
35
  let _initProto, _startSessionByPhoneDecs, _startSessionByIPDecs, _stopSessionDecs;
35
36
  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
37
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
@@ -45,7 +46,7 @@ class FcrRoomConnectorControlImpl {
45
46
  [_initProto] = _applyDecs(this, [[_imports.trace, 2, "getRoomConnectorPhoneInfo"], [_imports.trace, 2, "getRoomConnectorIpInfo"], [_startSessionByPhoneDecs, 2, "startSessionByPhone"], [_startSessionByIPDecs, 2, "startSessionByIP"], [_stopSessionDecs, 2, "stopSession"]], []).e;
46
47
  }
47
48
  //@internal
48
- [(_startSessionByPhoneDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrPhoneConnectorSessionParamsSchema)], _startSessionByIPDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrIPConnectorSessionParamsSchema)], _stopSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
49
+ [(_startSessionByPhoneDecs = [(0, _imports.trace)(['params']), (0, _validateParams.default)(_schema.fcrPhoneConnectorSessionParamsSchema)], _startSessionByIPDecs = [(0, _imports.trace)(['params']), (0, _validateParams.default)(_schema.fcrIPConnectorSessionParamsSchema)], _stopSessionDecs = [(0, _imports.trace)(['sessionId']), (0, _validateParams.default)(_schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
49
50
  prefix: 'FcrRoomConnectorControlImpl'
50
51
  }));
51
52
  _observable = new _imports.AgoraObservable();
@@ -100,7 +101,7 @@ class FcrRoomConnectorControlImpl {
100
101
  callNumber: params.phoneNumber,
101
102
  userId: params.phoneUserId,
102
103
  userName: params.userName
103
- }), _error.FcrErrorModuleCode.ROOM, 'start session by phone failed');
104
+ }), _imports.ErrorModuleCode.FCR_ROOM, 'start session by phone failed');
104
105
  return data.data.sessionUuid;
105
106
  }
106
107
  async startSessionByIP(params) {
@@ -114,7 +115,7 @@ class FcrRoomConnectorControlImpl {
114
115
  roomId: this._scene.sceneId,
115
116
  callType,
116
117
  ipAddress: params.address
117
- }), _error.FcrErrorModuleCode.ROOM, 'start session by IP failed');
118
+ }), _imports.ErrorModuleCode.FCR_ROOM, 'start session by IP failed');
118
119
  return data.data.sessionUuid;
119
120
  }
120
121
  async stopSession(sessionId) {
@@ -122,7 +123,8 @@ class FcrRoomConnectorControlImpl {
122
123
  roomId: this._scene.sceneId,
123
124
  callId: sessionId,
124
125
  userId: this._scene.getLocalUser().getLocalUserId()
125
- }), _error.FcrErrorModuleCode.ROOM, 'stop session failed');
126
+ }), _imports.ErrorModuleCode.FCR_ROOM, 'stop session failed');
127
+ return _type2.FcrReturnCode.SUCCESS;
126
128
  }
127
129
  addObserver(observer) {
128
130
  this._observable.addObserver(observer);
@@ -180,7 +182,7 @@ class FcrRoomConnectorControlImpl {
180
182
  }
181
183
  }
182
184
  _addLogObserver() {
183
- this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onIPConnectorSessionStateUpdated', 'onPhoneConnectorSessionStateUpdated']));
185
+ this.addObserver((0, _logger.generateLogObserver)(this.logger, [['onIPConnectorSessionStateUpdated', ['session', 'state', 'reason']], ['onPhoneConnectorSessionStateUpdated', ['session', 'state', 'reason']]]));
184
186
  }
185
187
  }
186
188
  exports.FcrRoomConnectorControlImpl = FcrRoomConnectorControlImpl;
@@ -66,7 +66,7 @@ export interface FcrRoomConnectorControl {
66
66
  * Stops a session.
67
67
  * @param sessionId
68
68
  */
69
- stopSession(sessionId: string): Promise<void>;
69
+ stopSession(sessionId: string): Promise<number>;
70
70
  /**
71
71
  * Adds an observer to the room connector.
72
72
  * @param observer
@@ -1,7 +1,7 @@
1
- import { AgoraRteEngine, AgoraRteScene, AgoraRteEntryRoomResponse } from '../imports';
1
+ import { FcrChatConnector } from '../chat-connector/type';
2
+ import { AgoraRteEngine, AgoraRteEntryRoomResponse, AgoraRteScene } from '../imports';
2
3
  import { FcrCoreServiceApi } from '../service/api';
3
4
  import { FcrCoreEngineConfig } from '../type';
4
- import { FcrChatConnection } from '../chat-connection/type';
5
5
  import { FcrSharedCache } from './shared-cache';
6
6
  import { FcrRoomType } from './type';
7
7
  /**
@@ -12,7 +12,7 @@ export interface RoomControlCreationParams {
12
12
  scene: AgoraRteScene;
13
13
  apiService: FcrCoreServiceApi;
14
14
  config: FcrCoreEngineConfig;
15
- chatConnection: FcrChatConnection;
15
+ chatConnection: FcrChatConnector;
16
16
  sharedCache: FcrSharedCache;
17
17
  roomResponse: AgoraRteEntryRoomResponse;
18
18
  }
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.RoomControlFactory = void 0;
7
7
  require("core-js/modules/esnext.iterator.constructor.js");
8
8
  require("core-js/modules/esnext.iterator.map.js");
9
- var _type = require("./type");
10
- var _waitingroomControl = require("./waitingroom-control");
9
+ var _imports = require("../imports");
10
+ var _error = require("../utilities/error");
11
+ var _room = require("./interpreter-control/room");
11
12
  var _joinBeforeHostWaitingroomControl = require("./join-before-host-waitingroom-control");
12
13
  var _mainroomControl = require("./mainroom-control");
13
- var _room = require("./interpreter-control/room");
14
- var _chatroom = require("../plugins/chatroom");
15
- var _error = require("../utilities/error");
14
+ var _type = require("./type");
15
+ var _waitingroomControl = require("./waitingroom-control");
16
16
  /**
17
17
  * 房间控制的创建参数
18
18
  */
@@ -53,11 +53,11 @@ class RoomControlFactory {
53
53
  const roomType = roomResponse.room.roomProperties.roomType;
54
54
  const RoomControlImpl = ROOM_CONTROL_IMPLEMENTATIONS[roomType];
55
55
  if (!RoomControlImpl) {
56
- throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM, _error.FcrErrorCode.UNDEFINED_ERROR, `Unsupported room types: ${roomType}`, new Error(`Unsupported room type: ${roomType}`));
56
+ throw (0, _error.generateFcrCoreClientError)(_imports.ErrorModuleCode.FCR_ROOM, _imports.DetailErrorCode.UNDEFINED_ERROR, `Unsupported room types: ${roomType}`, new Error(`Unsupported room type: ${roomType}`));
57
57
  }
58
58
 
59
59
  // 创建聊天室控制
60
- const chatRoomControl = new _chatroom.FcrChatRoomControlImpl(scene, chatConnection, sharedCache, false);
60
+ const chatRoomControl = new _imports.FcrChatRoomControlImpl(scene, chatConnection, sharedCache, false);
61
61
 
62
62
  // 创建房间控制实例
63
63
  return new RoomControlImpl(engine, scene, apiService, config, sharedCache, chatConnection, chatRoomControl);
@@ -26,11 +26,11 @@ require("core-js/modules/esnext.map.reduce.js");
26
26
  require("core-js/modules/esnext.map.some.js");
27
27
  require("core-js/modules/esnext.map.update.js");
28
28
  var _imports = require("../../imports");
29
+ var _schema = require("../../schema");
29
30
  var _type = require("../../type");
30
31
  var _error = require("../../utilities/error");
31
32
  var _logger = require("../../utilities/logger");
32
33
  var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
33
- var _schema = require("../../schema");
34
34
  var _helpers = require("../helpers");
35
35
  let _initProto, _startRoomSessionDecs, _stopRoomSessionDecs, _acceptRoomSessionDecs, _rejectRoomSessionDecs;
36
36
  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,7 +46,7 @@ class FcrRoomSessionControlImpl {
46
46
  [_initProto] = _applyDecs(this, [[_startRoomSessionDecs, 2, "startRoomSession"], [_stopRoomSessionDecs, 2, "stopRoomSession"], [_acceptRoomSessionDecs, 2, "acceptRoomSession"], [_rejectRoomSessionDecs, 2, "rejectRoomSession"]], []).e;
47
47
  }
48
48
  //@internal
49
- [(_startRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrRoomSessionParamsSchema, _schema.fcrPrivilegeUserRoleArraySchema.optional())], _stopRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _acceptRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrSessionBaseSchema, _schema.stringKeyUnknownValueSchema.optional())], _rejectRoomSessionDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrSessionBaseSchema, _schema.stringKeyUnknownValueSchema.optional())], "logger")] = (_initProto(this), (0, _logger.createLogger)({
49
+ [(_startRoomSessionDecs = [(0, _imports.trace)(['params', 'targetRoles']), (0, _validateParams.default)(_schema.fcrRoomSessionParamsSchema, _schema.fcrPrivilegeUserRoleArraySchema.optional())], _stopRoomSessionDecs = [(0, _imports.trace)(['sessionId']), (0, _validateParams.default)(_schema.stringSchema)], _acceptRoomSessionDecs = [(0, _imports.trace)(['session', 'cause']), (0, _validateParams.default)(_schema.fcrSessionBaseSchema, _schema.stringKeyUnknownValueSchema.optional())], _rejectRoomSessionDecs = [(0, _imports.trace)(['session', 'cause']), (0, _validateParams.default)(_schema.fcrSessionBaseSchema, _schema.stringKeyUnknownValueSchema.optional())], "logger")] = (_initProto(this), (0, _logger.createLogger)({
50
50
  prefix: 'FcrRoomSessionControlImpl'
51
51
  }));
52
52
  //@internal
@@ -103,18 +103,18 @@ class FcrRoomSessionControlImpl {
103
103
  this.logger.info(`[RoomSession] put into session schedule: ${session.sessionId}, next ts: ${nextTs}, remain: ${nextTs - Date.now()}ms`);
104
104
  return session.sessionId;
105
105
  } catch (e) {
106
- throw (0, _error.generateFcrCoreServerError)(_error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, 'start room session failed', e);
106
+ throw (0, _error.generateFcrCoreServerError)(_imports.DetailErrorCode.LOCAL_HTTP_REQUEST_FAILED, 'start room session failed', e);
107
107
  }
108
108
  }
109
109
  stopRoomSession(sessionId) {
110
- this._scheduleMap.delete(sessionId);
110
+ return this._scheduleMap.delete(sessionId);
111
111
  }
112
112
  async acceptRoomSession(session, cause) {
113
113
  if (this._isSessionExpired(session)) {
114
- throw (0, _error.generateFcrCoreServerError)(_error.FcrErrorCode.EXPIRED, 'accept room session failed: session expired', new Error());
114
+ throw (0, _error.generateFcrCoreServerError)(_imports.DetailErrorCode.EXPIRED, 'accept room session failed: session expired', new Error());
115
115
  }
116
116
  try {
117
- this._api.deleteRoomSession({
117
+ await this._api.deleteRoomSession({
118
118
  userId: this._userId,
119
119
  sessionId: session.sessionId,
120
120
  sessionKey: session.sessionKey,
@@ -125,16 +125,17 @@ class FcrRoomSessionControlImpl {
125
125
  cause
126
126
  }
127
127
  });
128
+ return _type.FcrReturnCode.SUCCESS;
128
129
  } catch (e) {
129
- throw (0, _error.generateFcrCoreServerError)(_error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, 'accept room session failed', e);
130
+ throw (0, _error.generateFcrCoreServerError)(_imports.DetailErrorCode.LOCAL_HTTP_REQUEST_FAILED, 'accept room session failed', e);
130
131
  }
131
132
  }
132
133
  async rejectRoomSession(session, cause) {
133
134
  if (this._isSessionExpired(session)) {
134
- throw (0, _error.generateFcrCoreServerError)(_error.FcrErrorCode.EXPIRED, 'reject room session failed: session expired', new Error());
135
+ throw (0, _error.generateFcrCoreServerError)(_imports.DetailErrorCode.EXPIRED, 'reject room session failed: session expired', new Error());
135
136
  }
136
137
  try {
137
- this._api.deleteRoomSession({
138
+ await this._api.deleteRoomSession({
138
139
  userId: this._userId,
139
140
  sessionId: session.sessionId,
140
141
  sessionKey: session.sessionKey,
@@ -145,8 +146,9 @@ class FcrRoomSessionControlImpl {
145
146
  cause
146
147
  }
147
148
  });
149
+ return _type.FcrReturnCode.SUCCESS;
148
150
  } catch (e) {
149
- throw (0, _error.generateFcrCoreServerError)(_error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, 'reject room session failed', e);
151
+ throw (0, _error.generateFcrCoreServerError)(_imports.DetailErrorCode.LOCAL_HTTP_REQUEST_FAILED, 'reject room session failed', e);
150
152
  }
151
153
  }
152
154
  addObserver(observer) {
@@ -172,13 +174,13 @@ class FcrRoomSessionControlImpl {
172
174
  interval: 0
173
175
  };
174
176
  if (this._isSessionExpired(session)) {
175
- this.logger.info(`[RoomSession] room session expired, removed: ${session.sessionId}`);
177
+ this.logger.info(`room session expired, removed: ${session.sessionId}`);
176
178
  this._scheduleMap.delete(session.sessionId);
177
179
  continue;
178
180
  }
179
181
  // check timeout
180
182
  if (params.nextTs < Date.now()) {
181
- this.logger.info(`[RoomSession] ping session: ${session.sessionId}`);
183
+ this.logger.info(`ping session: ${session.sessionId}`);
182
184
  try {
183
185
  const {
184
186
  data: {
@@ -202,7 +204,7 @@ class FcrRoomSessionControlImpl {
202
204
  this.logger.info(`[RoomSession] refresh session schedule: ${session.sessionId}, next ts: ${nextTs}`);
203
205
  }
204
206
  } catch (e) {
205
- this.logger.error(`[RoomSession] ping session failed: ${e}`);
207
+ this.logger.error(`ping session failed: ${e}`);
206
208
  }
207
209
  }
208
210
  }
@@ -211,7 +213,7 @@ class FcrRoomSessionControlImpl {
211
213
  const session = this._receivedMap.get(key);
212
214
  if (this._isSessionExpired(session)) {
213
215
  this._receivedMap.delete(key);
214
- this.logger.info(`[RoomSession] delete session callback: ${key}`);
216
+ this.logger.info(`delete session callback: ${key}`);
215
217
  }
216
218
  }
217
219
  }
@@ -291,7 +293,7 @@ class FcrRoomSessionControlImpl {
291
293
  return session.timestamp + session.duration * _imports.Duration.second(1) < Date.now();
292
294
  }
293
295
  _addLogObserver() {
294
- this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onRoomSessionAccepted', 'onRoomSessionRejected', 'onRoomSessionReceived']));
296
+ this.addObserver((0, _logger.generateLogObserver)(this.logger, [['onRoomSessionAccepted', ['roomId', 'response']], ['onRoomSessionRejected', ['roomId', 'response']], ['onRoomSessionReceived', ['roomId', 'session']]]));
295
297
  }
296
298
  }
297
299
  exports.FcrRoomSessionControlImpl = FcrRoomSessionControlImpl;
@@ -10,19 +10,19 @@ export interface FcrRoomSessionControl {
10
10
  * Stops a room session.
11
11
  * @param sessionId
12
12
  */
13
- stopRoomSession(sessionId: string): void;
13
+ stopRoomSession(sessionId: string): boolean;
14
14
  /**
15
15
  * Accepts a room session.
16
16
  * @param session
17
17
  * @param cause
18
18
  */
19
- acceptRoomSession(session: FcrRoomSession, cause: Record<string, unknown>): Promise<void>;
19
+ acceptRoomSession(session: FcrRoomSession, cause: Record<string, unknown>): Promise<number>;
20
20
  /**
21
21
  * Rejects a room session.
22
22
  * @param session
23
23
  * @param cause
24
24
  */
25
- rejectRoomSession(session: FcrRoomSession, cause: Record<string, unknown>): Promise<void>;
25
+ rejectRoomSession(session: FcrRoomSession, cause: Record<string, unknown>): Promise<number>;
26
26
  /**
27
27
  * Adds an observer.
28
28
  * @param observer
@@ -32,7 +32,8 @@ var _factory = require("../whiteboard-control-v2/whiteboard-control/factory");
32
32
  var _factory2 = require("../whiteboard-control-v2/annotation-control/factory");
33
33
  var _utils = require("../whiteboard-control/utils");
34
34
  var _type2 = require("../type");
35
- let _initProto;
35
+ var _type3 = require("../whiteboard-control/type");
36
+ let _initProto, _startScreenSharingDecs, _updateScreenSharingDecs;
36
37
  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
38
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
38
39
  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); }
@@ -40,9 +41,9 @@ function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.descrip
40
41
  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; }
41
42
  class FcrSharingControlImpl {
42
43
  static {
43
- [_initProto] = _applyDecs(this, [[_imports.trace, 2, "startScreenSharing"], [_imports.trace, 2, "startWhiteboard"], [_imports.trace, 2, "updateScreenSharing"], [_imports.trace, 2, "stop"], [_imports.trace, 2, "getScreenSharingState"]], []).e;
44
+ [_initProto] = _applyDecs(this, [[_startScreenSharingDecs, 2, "startScreenSharing"], [_imports.trace, 2, "startWhiteboard"], [_updateScreenSharingDecs, 2, "updateScreenSharing"], [_imports.trace, 2, "stop"], [_imports.trace, 2, "getScreenSharingState"]], []).e;
44
45
  }
45
- logger = (_initProto(this), (0, _logger.createLogger)({
46
+ [(_startScreenSharingDecs = (0, _imports.trace)(['config', 'size', 'labels']), _updateScreenSharingDecs = (0, _imports.trace)(['enableAnnotation']), "logger")] = (_initProto(this), (0, _logger.createLogger)({
46
47
  prefix: 'FcrSharingControlImpl'
47
48
  }));
48
49
  _observable = new _imports.AgoraObservable();
@@ -152,7 +153,12 @@ class FcrSharingControlImpl {
152
153
  const hasOperationPrivilege = (0, _utils.hasAnnotationWritePermission)(permissions);
153
154
  this._annotationControl = new _factory2.FcrAnnotationControlFactoryImpl().createForMainProcess(
154
155
  // @ts-ignore
155
- this._engine._rtmClient._client, hasOperationPrivilege, annotationConfig, this._api);
156
+ this._engine._rtmClient._client, hasOperationPrivilege, annotationConfig, {
157
+ sceneId: this._scene.sceneId,
158
+ getAnnotationState: () => {
159
+ return this._scene.getScenePropertiesByKeyPath('widgets.annotation.state') ?? _type3.FcrBoardPropertiesState.INACTIVE;
160
+ }
161
+ }, this._api);
156
162
  }
157
163
  return this._annotationControl;
158
164
  }
@@ -228,7 +234,7 @@ class FcrSharingControlImpl {
228
234
  if (this.getScreenSharingState() === _type.FcrScreenSharingState.END) {
229
235
  const isMeSharing = ownerId === this._userControl.getLocalUser().userId;
230
236
  if (isMeSharing) {
231
- this.logger.info('[sharing]: on stream removed, clean before terminal Annotation app');
237
+ this.logger.info('on stream removed, clean before terminal Annotation app');
232
238
  this._annotationControl.getMainWindow()?.clean();
233
239
  }
234
240
  }
@@ -296,12 +302,12 @@ class FcrSharingControlImpl {
296
302
  }
297
303
  _getScreenShareStreamByUuid() {
298
304
  const screenStreamUuid = this._scene.getScenePropertiesByKeyPath('widgets.annotation.extra.screenStreamUuid');
299
- this.logger.info('[sharing]: scene properties screenStreamUuid: ', screenStreamUuid);
305
+ this.logger.info('scene properties screenStreamUuid: ', screenStreamUuid);
300
306
  const stream = this._streamControl.getStreamByStreamId(screenStreamUuid);
301
307
  return typeof stream === 'undefined' ? null : stream;
302
308
  }
303
309
  _addLogObserver() {
304
- this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onScreenSharingUpdated', 'onWhiteboardStarted', 'onWhiteboardEnded']));
310
+ this.addObserver((0, _logger.generateLogObserver)(this.logger, [['onScreenSharingUpdated', ['streamInfo', 'state']], ['onWhiteboardStarted', ['ownerId', 'operatorUser']], ['onWhiteboardEnded', ['reason', 'operatorUser']]]));
305
311
  }
306
312
  }
307
313
  exports.FcrSharingControlImpl = FcrSharingControlImpl;
@@ -35,7 +35,7 @@ var _error = require("../../utilities/error");
35
35
  var _logger = require("../../utilities/logger");
36
36
  var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
37
37
  var _schema = require("../../schema");
38
- let _initProto, _addLocalStreamsDecs, _bindLocalStreamsDecs, _updatePublishPrivilegeOfStreamsDecs, _removeStreamsDecs, _setVideoEncoderConfigDecs, _setScreenScenarioDecs, _startRenderRemoteVideoStreamDecs, _stopRenderRemoteVideoStreamDecs, _startPlayRemoteAudioStreamDecs, _stopPlayRemoteAudioStreamDecs, _takeSnapshotDecs, _addLocalScreenStreamDecs, _adjustRemoteAudioStreamVolumeDecs, _mergeAudioStreamDecs, _splitAudioStreamDecs;
38
+ let _initProto, _addLocalStreamsDecs, _bindLocalStreamsDecs, _updatePublishPrivilegeOfStreamsDecs, _removeStreamsDecs, _setVideoEncoderConfigDecs, _setDualStreamModeDecs, _setScreenScenarioDecs, _startRenderRemoteVideoStreamDecs, _stopRenderRemoteVideoStreamDecs, _startPlayRemoteAudioStreamDecs, _stopPlayRemoteAudioStreamDecs, _takeSnapshotDecs, _addLocalScreenStreamDecs, _adjustRemoteAudioStreamVolumeDecs, _mergeAudioStreamDecs, _splitAudioStreamDecs;
39
39
  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)]; } }; }
40
40
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
41
41
  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); }
@@ -46,10 +46,10 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
46
46
  */
47
47
  class FcrStreamControlImpl {
48
48
  static {
49
- [_initProto] = _applyDecs(this, [[_imports.bound, 2, "getStreams"], [_imports.bound, 2, "getStreamList"], [_imports.bound, 2, "getStreamsByUserId"], [_imports.bound, 2, "getStreamByStreamId"], [_addLocalStreamsDecs, 2, "addLocalStreams"], [_bindLocalStreamsDecs, 2, "bindLocalStreams"], [_updatePublishPrivilegeOfStreamsDecs, 2, "updatePublishPrivilegeOfStreams"], [_removeStreamsDecs, 2, "removeStreams"], [_setVideoEncoderConfigDecs, 2, "setVideoEncoderConfig"], [[_imports.bound, _imports.trace], 2, "setDualStreamMode"], [_setScreenScenarioDecs, 2, "setScreenScenario"], [_startRenderRemoteVideoStreamDecs, 2, "startRenderRemoteVideoStream"], [_stopRenderRemoteVideoStreamDecs, 2, "stopRenderRemoteVideoStream"], [_startPlayRemoteAudioStreamDecs, 2, "startPlayRemoteAudioStream"], [_stopPlayRemoteAudioStreamDecs, 2, "stopPlayRemoteAudioStream"], [_takeSnapshotDecs, 2, "takeSnapshot"], [_addLocalScreenStreamDecs, 2, "addLocalScreenStream"], [[_imports.bound, _imports.trace], 2, "removeScreenStream"], [_adjustRemoteAudioStreamVolumeDecs, 2, "adjustRemoteAudioStreamVolume"], [_mergeAudioStreamDecs, 2, "mergeAudioStream"], [_splitAudioStreamDecs, 2, "splitAudioStream"]], []).e;
49
+ [_initProto] = _applyDecs(this, [[_imports.bound, 2, "getStreams"], [_imports.bound, 2, "getStreamList"], [_imports.bound, 2, "getStreamsByUserId"], [_imports.bound, 2, "getStreamByStreamId"], [_addLocalStreamsDecs, 2, "addLocalStreams"], [_bindLocalStreamsDecs, 2, "bindLocalStreams"], [_updatePublishPrivilegeOfStreamsDecs, 2, "updatePublishPrivilegeOfStreams"], [_removeStreamsDecs, 2, "removeStreams"], [_setVideoEncoderConfigDecs, 2, "setVideoEncoderConfig"], [_setDualStreamModeDecs, 2, "setDualStreamMode"], [_setScreenScenarioDecs, 2, "setScreenScenario"], [_startRenderRemoteVideoStreamDecs, 2, "startRenderRemoteVideoStream"], [_stopRenderRemoteVideoStreamDecs, 2, "stopRenderRemoteVideoStream"], [_startPlayRemoteAudioStreamDecs, 2, "startPlayRemoteAudioStream"], [_stopPlayRemoteAudioStreamDecs, 2, "stopPlayRemoteAudioStream"], [_takeSnapshotDecs, 2, "takeSnapshot"], [_addLocalScreenStreamDecs, 2, "addLocalScreenStream"], [[_imports.bound, _imports.trace], 2, "removeScreenStream"], [_adjustRemoteAudioStreamVolumeDecs, 2, "adjustRemoteAudioStreamVolume"], [_mergeAudioStreamDecs, 2, "mergeAudioStream"], [_splitAudioStreamDecs, 2, "splitAudioStream"]], []).e;
50
50
  }
51
51
  //@internal
52
- [(_addLocalStreamsDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.fcrLocalStreamCreateArrayConfigSchema)], _bindLocalStreamsDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.fcrStreamBindConfigArrySchema)], _updatePublishPrivilegeOfStreamsDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.fcrUpdateStreamCustomSchema, _schema.fcrUpdateStreamPrivilegeScopeSchema.optional())], _removeStreamsDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringArraySchema)], _setVideoEncoderConfigDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.agoraRtcVideoEncoderConfigurationSchema, _schema.fcrVideoStreamTypeSchema)], _setScreenScenarioDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.fcrScreenScenarioTypeSchema)], _startRenderRemoteVideoStreamDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.fcrVideoStreamTypeSchema, _schema.fcrRenderConfigSchema, (0, _schema.createUnionSchema)([_schema.fcrRenderViewSchema, _imports.objectSchema]))], _stopRenderRemoteVideoStreamDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.fcrRenderViewSchema)], _startPlayRemoteAudioStreamDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _stopPlayRemoteAudioStreamDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _takeSnapshotDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.stringSchema)], _addLocalScreenStreamDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.fcrScreenStreamCreateConfigSchema, _schema.fcrSizeSchema)], _adjustRemoteAudioStreamVolumeDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.numberSchema)], _mergeAudioStreamDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _splitAudioStreamDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
52
+ [(_addLocalStreamsDecs = [_imports.bound, (0, _imports.trace)(['streams']), (0, _validateParams.default)(_schema.fcrLocalStreamCreateArrayConfigSchema)], _bindLocalStreamsDecs = [_imports.bound, (0, _imports.trace)(['streams']), (0, _validateParams.default)(_schema.fcrStreamBindConfigArrySchema)], _updatePublishPrivilegeOfStreamsDecs = [_imports.bound, _imports.trace, (0, _validateParams.default)(_schema.fcrUpdateStreamCustomSchema, _schema.fcrUpdateStreamPrivilegeScopeSchema.optional())], _removeStreamsDecs = [_imports.bound, (0, _imports.trace)(['streams']), (0, _validateParams.default)(_schema.stringArraySchema)], _setVideoEncoderConfigDecs = [_imports.bound, (0, _imports.trace)(['streamId', 'config', 'streamType']), (0, _validateParams.default)(_schema.stringSchema, _schema.agoraRtcVideoEncoderConfigurationSchema, _schema.fcrVideoStreamTypeSchema)], _setDualStreamModeDecs = [_imports.bound, (0, _imports.trace)(['streamId', 'enable'])], _setScreenScenarioDecs = [_imports.bound, (0, _imports.trace)(['type']), (0, _validateParams.default)(_schema.fcrScreenScenarioTypeSchema)], _startRenderRemoteVideoStreamDecs = [_imports.bound, (0, _imports.trace)(['streamId', 'type', 'config', 'element']), (0, _validateParams.default)(_schema.stringSchema, _schema.fcrVideoStreamTypeSchema, _schema.fcrRenderConfigSchema, (0, _schema.createUnionSchema)([_schema.fcrRenderViewSchema, _imports.objectSchema]))], _stopRenderRemoteVideoStreamDecs = [_imports.bound, (0, _imports.trace)(['streamId', 'element']), (0, _validateParams.default)(_schema.stringSchema, _schema.fcrRenderViewSchema)], _startPlayRemoteAudioStreamDecs = [_imports.bound, (0, _imports.trace)(['streamId']), (0, _validateParams.default)(_schema.stringSchema)], _stopPlayRemoteAudioStreamDecs = [_imports.bound, (0, _imports.trace)(['streamId']), (0, _validateParams.default)(_schema.stringSchema)], _takeSnapshotDecs = [_imports.bound, (0, _imports.trace)(['streamId', 'filePath']), (0, _validateParams.default)(_schema.stringSchema, _schema.stringSchema)], _addLocalScreenStreamDecs = [_imports.bound, (0, _imports.trace)(['config', 'size']), (0, _validateParams.default)(_schema.fcrScreenStreamCreateConfigSchema, _schema.fcrSizeSchema)], _adjustRemoteAudioStreamVolumeDecs = [_imports.bound, (0, _imports.trace)(['streamId', 'volume']), (0, _validateParams.default)(_schema.stringSchema, _schema.numberSchema)], _mergeAudioStreamDecs = [_imports.bound, (0, _imports.trace)(['targetUserId']), (0, _validateParams.default)(_schema.stringSchema)], _splitAudioStreamDecs = [_imports.bound, (0, _imports.trace)(['userId']), (0, _validateParams.default)(_schema.stringSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
53
53
  prefix: 'FcrStreamControlImpl'
54
54
  }));
55
55
  //@internal
@@ -191,7 +191,7 @@ class FcrStreamControlImpl {
191
191
  videoSourceUuid: config.videoSourceId,
192
192
  audioSourceUuid: config.audioSourceId,
193
193
  ...(0, _imports.convertStreamTypeToPublishState)(config.streamType)
194
- }))), _error.FcrErrorModuleCode.ROOM_STREAM, 'add local streams failed');
194
+ }))), _imports.ErrorModuleCode.FCR_ROOM_STREAM, 'add local streams failed');
195
195
 
196
196
  // 处理需要 token 的流
197
197
  this._handleStreamTokensPreparation(streams, streamCreateResult.data);
@@ -234,7 +234,7 @@ class FcrStreamControlImpl {
234
234
  streamUuid: streamId,
235
235
  audioState: this._getPublishStateByPrivilege(privileges[streamId].audioPrivilege),
236
236
  videoState: this._getPublishStateByPrivilege(privileges[streamId].videoPrivilege)
237
- }))), _error.FcrErrorModuleCode.ROOM_STREAM, 'update publish privilege of streams failed');
237
+ }))), _imports.ErrorModuleCode.FCR_ROOM_STREAM, 'update publish privilege of streams failed');
238
238
  } else if (args.length === 2) {
239
239
  const [privilege, scope] = args;
240
240
  const targetRteRoles = scope.targetRoleType.map(role => _type.FcrUserRoleToStringMap[role]);
@@ -258,13 +258,13 @@ class FcrStreamControlImpl {
258
258
  videoState,
259
259
  audioState,
260
260
  condition
261
- }), _error.FcrErrorModuleCode.ROOM_STREAM, 'update publish privilege of streams failed');
261
+ }), _imports.ErrorModuleCode.FCR_ROOM_STREAM, 'update publish privilege of streams failed');
262
262
  }
263
263
  }
264
264
  async removeStreams(streams) {
265
265
  const res = await (0, _error.handleRequestError)(() => this._api.deleteStreamBatch(this._scene.sceneId, streams.map(streamUuid => ({
266
266
  streamUuid
267
- }))), _error.FcrErrorModuleCode.ROOM_STREAM, 'remove streams failed');
267
+ }))), _imports.ErrorModuleCode.FCR_ROOM_STREAM, 'remove streams failed');
268
268
  streams.forEach(streamUuid => {
269
269
  this._scene.localUser.removePreparePublishStream(streamUuid);
270
270
  });
@@ -287,6 +287,7 @@ class FcrStreamControlImpl {
287
287
  this._scene.streamPlayer.startRenderRemoteVideoStream(streamId, config.renderMode, config.isMirror, element);
288
288
  const viewId = this._subscribedStreamsControl.getViewId(element);
289
289
  this._subscribedStreamsControl.bind(viewId, streamId);
290
+ return _type.FcrReturnCode.SUCCESS;
290
291
  } catch (error) {
291
292
  this.logger.error(`[FcrStreamControl][start-render-remote-video-stream] render failed, streamId: ${streamId}, error: ${error}, parameters: ${parameters}, duration: ${Date.now() - startTime}ms`);
292
293
  throw error;
@@ -305,16 +306,17 @@ class FcrStreamControlImpl {
305
306
  } else {
306
307
  this.logger.info(`[FcrStreamControl][unsubscribe-remote-video-stream] still has other views, do not unsubscribe, streamId: ${streamId}, parameters: ${parameters}, duration: ${Date.now() - startTime}ms`);
307
308
  }
309
+ return _type.FcrReturnCode.SUCCESS;
308
310
  } catch (error) {
309
311
  this.logger.error(`[FcrStreamControl][stop-render-remote-video-stream] stop render failed, streamId: ${streamId}, error: ${error}, parameters: ${parameters}, duration: ${Date.now() - startTime}ms`);
310
312
  throw error;
311
313
  }
312
314
  }
313
315
  startPlayRemoteAudioStream(streamId) {
314
- this._scene.streamPlayer.startPlayRemoteAudioStream(streamId);
316
+ return this._scene.streamPlayer.startPlayRemoteAudioStream(streamId);
315
317
  }
316
318
  stopPlayRemoteAudioStream(streamId) {
317
- this._scene.streamPlayer.stopPlayRemoteAudioStream(streamId);
319
+ return this._scene.streamPlayer.stopPlayRemoteAudioStream(streamId);
318
320
  }
319
321
  takeSnapshot(streamId, filePath) {
320
322
  return this._scene.streamPlayer.takeSnapshot(streamId, filePath);
@@ -343,7 +345,7 @@ class FcrStreamControlImpl {
343
345
  }
344
346
  }
345
347
  }
346
- }), _error.FcrErrorModuleCode.ROOM_STREAM, 'add local screen stream failed');
348
+ }), _imports.ErrorModuleCode.FCR_ROOM_STREAM, 'add local screen stream failed');
347
349
  const {
348
350
  data: {
349
351
  rtcToken: token,
@@ -364,7 +366,7 @@ class FcrStreamControlImpl {
364
366
  roomId: this._scene.sceneId,
365
367
  userId: this._scene.localUser.getLocalUserId()
366
368
  });
367
- }, _error.FcrErrorModuleCode.ROOM_STREAM, 'remove screen stream failed');
369
+ }, _imports.ErrorModuleCode.FCR_ROOM_STREAM, 'remove screen stream failed');
368
370
  if (this._screenStreamId) {
369
371
  this._scene.removeLocalStreamLabel(this._screenStreamId);
370
372
  this._scene.localUser.removePreparePublishStream(this._screenStreamId);
@@ -372,17 +374,17 @@ class FcrStreamControlImpl {
372
374
  return res;
373
375
  }
374
376
  adjustRemoteAudioStreamVolume(streamId, volume) {
375
- this._scene.streamPlayer.adjustRemoteAudioStreamVolume(streamId, volume);
377
+ return this._scene.streamPlayer.adjustRemoteAudioStreamVolume(streamId, volume);
376
378
  }
377
379
  mergeAudioStream(targetUserId) {
378
380
  return (0, _error.handleRequestError)(() => this._api.mergeAudioStream(targetUserId, {
379
381
  roomId: this._scene.sceneId
380
- }), _error.FcrErrorModuleCode.ROOM_STREAM, 'merge audio stream failed');
382
+ }), _imports.ErrorModuleCode.FCR_ROOM_STREAM, 'merge audio stream failed');
381
383
  }
382
384
  splitAudioStream(userId) {
383
385
  return (0, _error.handleRequestError)(() => this._api.splitAudioStream(userId, {
384
386
  roomId: this._scene.sceneId
385
- }), _error.FcrErrorModuleCode.ROOM_STREAM, 'split audio stream failed');
387
+ }), _imports.ErrorModuleCode.FCR_ROOM_STREAM, 'split audio stream failed');
386
388
  }
387
389
 
388
390
  // @bound
@@ -467,9 +469,9 @@ class FcrStreamControlImpl {
467
469
  // 'onLocalAudioStatsUpdated',
468
470
  // 'onRemoteVideoStatsUpdated',
469
471
  // 'onRemoteAudioStatsUpdated',
470
- 'onFirstRemoteVideoFrameRendered',
472
+ ['onFirstRemoteVideoFrameRendered', ['roomId', 'streamId']],
471
473
  // 'onStreamVolumeIndicationUpdated',
472
- 'onStreamsAdded', 'onStreamsRemoved', 'onStreamsUpdated']));
474
+ ['onStreamsAdded', ['roomId', 'events']], ['onStreamsRemoved', ['roomId', 'events']], ['onStreamsUpdated', ['roomId', 'events']]]));
473
475
  }
474
476
  }
475
477
  exports.FcrStreamControlImpl = FcrStreamControlImpl;