agora-rte-sdk 3.6.3 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/lib/constant.d.ts +30 -0
  2. package/lib/constant.js +40 -0
  3. package/lib/core/engine/ap-detector.js +44 -49
  4. package/lib/core/engine/index.d.ts +3 -2
  5. package/lib/core/engine/index.js +76 -61
  6. package/lib/core/engine/plugin.d.ts +2 -0
  7. package/lib/core/engine/plugin.js +9 -1
  8. package/lib/core/media/effect-enhancer.d.ts +2 -0
  9. package/lib/core/media/effect-enhancer.js +10 -0
  10. package/lib/core/media/index.d.ts +18 -6
  11. package/lib/core/media/index.js +26 -8
  12. package/lib/core/media/type.d.ts +2 -0
  13. package/lib/core/media/type.js +12 -0
  14. package/lib/core/processor/message-handler.d.ts +25 -3
  15. package/lib/core/processor/message-handler.js +152 -63
  16. package/lib/core/processor/sequence-msg/data.js +0 -1
  17. package/lib/core/processor/sequence-msg/synchronizer.js +38 -38
  18. package/lib/core/processor/struct.js +0 -1
  19. package/lib/core/processor/type.d.ts +4 -2
  20. package/lib/core/rtc/capture-enhancement.d.ts +8 -0
  21. package/lib/core/rtc/channel.d.ts +7 -0
  22. package/lib/core/rtc/client.d.ts +6 -6
  23. package/lib/core/rtc/publisher.d.ts +16 -1
  24. package/lib/core/rtc/source-manager.d.ts +1 -0
  25. package/lib/core/rtc/type.d.ts +21 -2
  26. package/lib/core/rtc/type.js +27 -7
  27. package/lib/core/scene/index.d.ts +4 -2
  28. package/lib/core/scene/index.js +311 -268
  29. package/lib/core/scene/local-user.d.ts +2 -1
  30. package/lib/core/scene/local-user.js +27 -25
  31. package/lib/core/scene/state-sync.d.ts +2 -2
  32. package/lib/core/scene/state-sync.js +20 -30
  33. package/lib/core/scene/stream-player.js +4 -4
  34. package/lib/core/services/api.js +177 -179
  35. package/lib/core/services/auth-headers.js +0 -2
  36. package/lib/core/utilities/fetch.js +6 -6
  37. package/lib/core/utilities/parameters.d.ts +2 -2
  38. package/lib/core/utilities/parameters.js +19 -14
  39. package/lib/plugin/monitor/index.js +49 -26
  40. package/lib/plugin/monitor/log-upload/handler.js +26 -28
  41. package/lib/plugin/monitor/log-upload/scheduler.js +9 -9
  42. package/lib/plugin/restful-client/index.js +57 -61
  43. package/lib/plugin/rtc/electron/canvas-helper.js +2 -3
  44. package/lib/plugin/rtc/electron/capture-enhancement.d.ts +2 -0
  45. package/lib/plugin/rtc/electron/capture-enhancement.js +24 -10
  46. package/lib/plugin/rtc/electron/channel.d.ts +3 -1
  47. package/lib/plugin/rtc/electron/channel.js +52 -43
  48. package/lib/plugin/rtc/electron/client.d.ts +7 -3
  49. package/lib/plugin/rtc/electron/client.js +167 -99
  50. package/lib/plugin/rtc/electron/dowloadALD.js +2 -4
  51. package/lib/plugin/rtc/electron/index.js +4 -1
  52. package/lib/plugin/rtc/electron/publish-pool.js +8 -9
  53. package/lib/plugin/rtc/electron/publisher.d.ts +27 -7
  54. package/lib/plugin/rtc/electron/publisher.js +222 -72
  55. package/lib/plugin/rtc/electron/source-manager.d.ts +8 -4
  56. package/lib/plugin/rtc/electron/source-manager.js +146 -73
  57. package/lib/plugin/rtc/electron/type.d.ts +6 -31
  58. package/lib/plugin/rtc/electron/type.js +12 -19
  59. package/lib/plugin/rtc/electron/utils.d.ts +5 -5
  60. package/lib/plugin/rtc/electron/utils.js +37 -30
  61. package/lib/plugin/rtc/web/assembler.js +0 -2
  62. package/lib/plugin/rtc/web/audio-player.js +11 -11
  63. package/lib/plugin/rtc/web/canvas-helper.js +2 -2
  64. package/lib/plugin/rtc/web/capture-enhancement.d.ts +2 -0
  65. package/lib/plugin/rtc/web/capture-enhancement.js +12 -0
  66. package/lib/plugin/rtc/web/channel.d.ts +2 -1
  67. package/lib/plugin/rtc/web/channel.js +18 -12
  68. package/lib/plugin/rtc/web/client.d.ts +4 -2
  69. package/lib/plugin/rtc/web/client.js +143 -14
  70. package/lib/plugin/rtc/web/device.js +8 -9
  71. package/lib/plugin/rtc/web/effect-enabler.js +4 -5
  72. package/lib/plugin/rtc/web/extension.js +10 -10
  73. package/lib/plugin/rtc/web/publish-pool.js +4 -3
  74. package/lib/plugin/rtc/web/publish.js +136 -139
  75. package/lib/plugin/rtc/web/publisher.d.ts +4 -1
  76. package/lib/plugin/rtc/web/publisher.js +13 -3
  77. package/lib/plugin/rtc/web/source-manager.d.ts +1 -0
  78. package/lib/plugin/rtc/web/source-manager.js +6 -0
  79. package/lib/plugin/rtc/web/subscribe.js +42 -43
  80. package/lib/plugin/rtc/web/track-control/camera.js +64 -68
  81. package/lib/plugin/rtc/web/track-control/microphone.js +37 -37
  82. package/lib/plugin/rtc/web/track-control/screen.js +0 -1
  83. package/lib/plugin/rtm/channel.js +38 -33
  84. package/lib/plugin/rtm/client.d.ts +4 -1
  85. package/lib/plugin/rtm/client.js +131 -75
  86. package/lib/plugin/rtm/index.d.ts +2 -0
  87. package/lib/plugin/rtm/index.js +22 -5
  88. package/lib/plugin/rtm/type.d.ts +4 -1
  89. package/lib/type.d.ts +2 -14
  90. package/lib/type.js +14 -1
  91. package/package.json +3 -6
@@ -0,0 +1,30 @@
1
+ export declare const TIMEOUT_ONE_AND_HALF_MINUTES = 15000;
2
+ export declare const DEFAULT_AP_DETECT_TIMEOUT = 300;
3
+ export declare const DEFAULT_AP_DETECT_IS_REDETECT = true;
4
+ export declare enum AgoraRtcErrorCode {
5
+ SUCCESS = 0,
6
+ CANNOT_SET_VIDEO_ENCODER_CONFIG = 1,
7
+ HAVE_NO_EXIST_CANVAS_ID = 2,
8
+ CANNOT_ENABLE_BEAUTY = 3,
9
+ VIRTUAL_BACKGROUND_IS_NOT_IMAGE = 4,
10
+ VIRTUAL_BACKGROUND_IS_NOT_VALID_IMAGE_PATTERN = 5,
11
+ VIRTUAL_BACKGROUND_IS_NOT_VALID_VIDEO_PATTERN = 6,
12
+ VIRTUAL_BACKGROUND_IS_NOT_VALID_COLOR_VALUE = 7,
13
+ CANNOT_ENABLE_VIRTUAL_BACKGROUND = 8,
14
+ CANNOT_FIND_ITEM_IN_UNPUBLISH_VIDEO = 9,
15
+ CANNOT_FIND_ITEM_IN_UNPUBLISH_AUDIO = 10,
16
+ CANNOT_FIND_ITEM_IN_PAUSE_POOL = 11,
17
+ CANNOT_PUBLISH_LOCAL_VIDEO_STREAM = 12,
18
+ CANNOT_PUBLISH_LOCAL_AUDIO_STREAM = 13,
19
+ VIDEO_SOURCE_TYPE_IS_NONE = 14,
20
+ CANNOT_SET_CAMERA_VIDEO_ORIENTATION = 15,
21
+ CANNOT_START_CAMERA_CAPTURE = 16,
22
+ CANNOT_STOP_CAMERA_CAPTURE = 17,
23
+ CANNOT_GENERATE_VIDEO_SOURCE_INDEX = 18,
24
+ CONNECTION_IS_NOT_VALID = 19,
25
+ SOURCE_INDEX_IS_NOT_VALID = 20,
26
+ PLACEMENT_IS_NOT_RENDERED = 21,
27
+ UNKNOWN_RENDER_TYPE = 22,
28
+ INVALID_ARGUMENT = 23,
29
+ UNSUPPORT_SCENARIO_TYPE = 24
30
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TIMEOUT_ONE_AND_HALF_MINUTES = exports.DEFAULT_AP_DETECT_TIMEOUT = exports.DEFAULT_AP_DETECT_IS_REDETECT = exports.AgoraRtcErrorCode = void 0;
8
+ var TIMEOUT_ONE_AND_HALF_MINUTES = exports.TIMEOUT_ONE_AND_HALF_MINUTES = 15000;
9
+
10
+ // milliseconds
11
+ var DEFAULT_AP_DETECT_TIMEOUT = exports.DEFAULT_AP_DETECT_TIMEOUT = 300;
12
+ var DEFAULT_AP_DETECT_IS_REDETECT = exports.DEFAULT_AP_DETECT_IS_REDETECT = true;
13
+ var AgoraRtcErrorCode = exports.AgoraRtcErrorCode = /*#__PURE__*/function (AgoraRtcErrorCode) {
14
+ AgoraRtcErrorCode[AgoraRtcErrorCode["SUCCESS"] = 0] = "SUCCESS";
15
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_SET_VIDEO_ENCODER_CONFIG"] = 1] = "CANNOT_SET_VIDEO_ENCODER_CONFIG";
16
+ AgoraRtcErrorCode[AgoraRtcErrorCode["HAVE_NO_EXIST_CANVAS_ID"] = 2] = "HAVE_NO_EXIST_CANVAS_ID";
17
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_ENABLE_BEAUTY"] = 3] = "CANNOT_ENABLE_BEAUTY";
18
+ AgoraRtcErrorCode[AgoraRtcErrorCode["VIRTUAL_BACKGROUND_IS_NOT_IMAGE"] = 4] = "VIRTUAL_BACKGROUND_IS_NOT_IMAGE";
19
+ AgoraRtcErrorCode[AgoraRtcErrorCode["VIRTUAL_BACKGROUND_IS_NOT_VALID_IMAGE_PATTERN"] = 5] = "VIRTUAL_BACKGROUND_IS_NOT_VALID_IMAGE_PATTERN";
20
+ AgoraRtcErrorCode[AgoraRtcErrorCode["VIRTUAL_BACKGROUND_IS_NOT_VALID_VIDEO_PATTERN"] = 6] = "VIRTUAL_BACKGROUND_IS_NOT_VALID_VIDEO_PATTERN";
21
+ AgoraRtcErrorCode[AgoraRtcErrorCode["VIRTUAL_BACKGROUND_IS_NOT_VALID_COLOR_VALUE"] = 7] = "VIRTUAL_BACKGROUND_IS_NOT_VALID_COLOR_VALUE";
22
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_ENABLE_VIRTUAL_BACKGROUND"] = 8] = "CANNOT_ENABLE_VIRTUAL_BACKGROUND";
23
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_FIND_ITEM_IN_UNPUBLISH_VIDEO"] = 9] = "CANNOT_FIND_ITEM_IN_UNPUBLISH_VIDEO";
24
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_FIND_ITEM_IN_UNPUBLISH_AUDIO"] = 10] = "CANNOT_FIND_ITEM_IN_UNPUBLISH_AUDIO";
25
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_FIND_ITEM_IN_PAUSE_POOL"] = 11] = "CANNOT_FIND_ITEM_IN_PAUSE_POOL";
26
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_PUBLISH_LOCAL_VIDEO_STREAM"] = 12] = "CANNOT_PUBLISH_LOCAL_VIDEO_STREAM";
27
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_PUBLISH_LOCAL_AUDIO_STREAM"] = 13] = "CANNOT_PUBLISH_LOCAL_AUDIO_STREAM";
28
+ AgoraRtcErrorCode[AgoraRtcErrorCode["VIDEO_SOURCE_TYPE_IS_NONE"] = 14] = "VIDEO_SOURCE_TYPE_IS_NONE";
29
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_SET_CAMERA_VIDEO_ORIENTATION"] = 15] = "CANNOT_SET_CAMERA_VIDEO_ORIENTATION";
30
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_START_CAMERA_CAPTURE"] = 16] = "CANNOT_START_CAMERA_CAPTURE";
31
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_STOP_CAMERA_CAPTURE"] = 17] = "CANNOT_STOP_CAMERA_CAPTURE";
32
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CANNOT_GENERATE_VIDEO_SOURCE_INDEX"] = 18] = "CANNOT_GENERATE_VIDEO_SOURCE_INDEX";
33
+ AgoraRtcErrorCode[AgoraRtcErrorCode["CONNECTION_IS_NOT_VALID"] = 19] = "CONNECTION_IS_NOT_VALID";
34
+ AgoraRtcErrorCode[AgoraRtcErrorCode["SOURCE_INDEX_IS_NOT_VALID"] = 20] = "SOURCE_INDEX_IS_NOT_VALID";
35
+ AgoraRtcErrorCode[AgoraRtcErrorCode["PLACEMENT_IS_NOT_RENDERED"] = 21] = "PLACEMENT_IS_NOT_RENDERED";
36
+ AgoraRtcErrorCode[AgoraRtcErrorCode["UNKNOWN_RENDER_TYPE"] = 22] = "UNKNOWN_RENDER_TYPE";
37
+ AgoraRtcErrorCode[AgoraRtcErrorCode["INVALID_ARGUMENT"] = 23] = "INVALID_ARGUMENT";
38
+ AgoraRtcErrorCode[AgoraRtcErrorCode["UNSUPPORT_SCENARIO_TYPE"] = 24] = "UNSUPPORT_SCENARIO_TYPE";
39
+ return AgoraRtcErrorCode;
40
+ }({});
@@ -18,7 +18,6 @@ require("core-js/modules/es.object.get-own-property-descriptor.js");
18
18
  require("core-js/modules/es.object.get-own-property-descriptors.js");
19
19
  require("core-js/modules/es.object.keys.js");
20
20
  require("core-js/modules/es.regexp.to-string.js");
21
- require("core-js/modules/esnext.async-iterator.for-each.js");
22
21
  require("core-js/modules/esnext.function.metadata.js");
23
22
  require("core-js/modules/esnext.iterator.for-each.js");
24
23
  require("core-js/modules/esnext.map.delete-all.js");
@@ -68,8 +67,6 @@ require("core-js/modules/es.regexp.exec.js");
68
67
  require("core-js/modules/es.regexp.test.js");
69
68
  require("core-js/modules/es.string.iterator.js");
70
69
  require("core-js/modules/es.string.replace.js");
71
- require("core-js/modules/esnext.async-iterator.filter.js");
72
- require("core-js/modules/esnext.async-iterator.map.js");
73
70
  require("core-js/modules/esnext.iterator.constructor.js");
74
71
  require("core-js/modules/esnext.iterator.filter.js");
75
72
  require("core-js/modules/esnext.iterator.map.js");
@@ -156,15 +153,13 @@ var AgoraRteApDetectorImpl = exports.AgoraRteApDetectorImpl = /*#__PURE__*/funct
156
153
  }, {
157
154
  key: "setConfig",
158
155
  value: function setConfig(detectTimeout, isRedetect, internalRtcConfig, externalRtcConfig) {
159
- this._apDetectTimeout = detectTimeout === 0 ? DEFAULT_FETCH_URL_TIMEOUT : detectTimeout;
156
+ this.stop();
157
+ this._apDetectTimeout = detectTimeout;
160
158
  this._apDetectIsRedetect = isRedetect;
161
- if (internalRtcConfig) {
162
- this._internalRtcConfig = internalRtcConfig;
163
- }
164
- if (externalRtcConfig) {
165
- this._externalRtcConfig = externalRtcConfig;
166
- }
159
+ this._internalRtcConfig = internalRtcConfig;
160
+ this._externalRtcConfig = externalRtcConfig;
167
161
  this._finished = false;
162
+ this.logger.info("setConfig, apDetectTimeout: ".concat(this._apDetectTimeout, ", _apDetectIsRedetect: ").concat(this._apDetectIsRedetect, ", ") + "_internalRtcConfig: ".concat((0, _imports.jsonstring)(this._internalRtcConfig), ", _externalRtcConfig: ").concat((0, _imports.jsonstring)(this._externalRtcConfig)));
168
163
  }
169
164
  }, {
170
165
  key: "isDetecting",
@@ -199,41 +194,41 @@ var AgoraRteApDetectorImpl = exports.AgoraRteApDetectorImpl = /*#__PURE__*/funct
199
194
  (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
200
195
  var _this$_detectWorkMap$;
201
196
  var resUrls, internalResultIpList, _resUrls;
202
- return _regenerator["default"].wrap(function _callee$(_context) {
197
+ return _regenerator["default"].wrap(function (_context) {
203
198
  while (1) switch (_context.prev = _context.next) {
204
199
  case 0:
205
200
  // 如果传入了内部IP的合法配置
206
201
  _this._detectWorkMap.isDetecting = true;
207
202
  if (!(_this._internalRtcConfig && internalIpList.length > 0)) {
208
- _context.next = 7;
203
+ _context.next = 2;
209
204
  break;
210
205
  }
211
- _context.next = 4;
206
+ _context.next = 1;
212
207
  return _this._runDetectTask(internalIpList);
213
- case 4:
208
+ case 1:
214
209
  resUrls = _context.sent;
215
210
  _this.logger.info("onInternalDetectionEnd: [API Callback][parameters: {availableIpList: {".concat((0, _imports.jsonstring)(resUrls), "}]"));
216
211
  _this._detectWorkMap.internal.result = _objectSpread(_objectSpread({}, _this._internalRtcConfig), {}, {
217
212
  serverList: resUrls
218
213
  });
219
- case 7:
214
+ case 2:
220
215
  internalResultIpList = ((_this$_detectWorkMap$ = _this._detectWorkMap.internal) === null || _this$_detectWorkMap$ === void 0 || (_this$_detectWorkMap$ = _this$_detectWorkMap$.result) === null || _this$_detectWorkMap$ === void 0 ? void 0 : _this$_detectWorkMap$.serverList) || []; // 如果传入了外部IP的合法配置 并且 内网配置结果的ipList未有合格项
221
216
  if (!(_this._externalRtcConfig && externalIpList.length > 0 && internalResultIpList.length == 0)) {
222
- _context.next = 14;
217
+ _context.next = 4;
223
218
  break;
224
219
  }
225
- _context.next = 11;
220
+ _context.next = 3;
226
221
  return _this._runDetectTask(externalIpList);
227
- case 11:
222
+ case 3:
228
223
  _resUrls = _context.sent;
229
224
  _this.logger.info("onExternalDetectionEnd: [API Callback][parameters: {availableIpList: {".concat((0, _imports.jsonstring)(_resUrls), "}]"));
230
225
  _this._detectWorkMap.external.result = _objectSpread(_objectSpread({}, _this._externalRtcConfig), {}, {
231
226
  serverList: _resUrls
232
227
  });
233
- case 14:
228
+ case 4:
234
229
  _this._detectWorkMap.isDetecting = false;
235
230
  _this._checkResultAndNotifyResult();
236
- case 16:
231
+ case 5:
237
232
  case "end":
238
233
  return _context.stop();
239
234
  }
@@ -343,7 +338,7 @@ var AgoraRteApDetectorImpl = exports.AgoraRteApDetectorImpl = /*#__PURE__*/funct
343
338
  }).then(/*#__PURE__*/function () {
344
339
  var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(response) {
345
340
  var data, contentError, statusError;
346
- return _regenerator["default"].wrap(function _callee2$(_context2) {
341
+ return _regenerator["default"].wrap(function (_context2) {
347
342
  while (1) switch (_context2.prev = _context2.next) {
348
343
  case 0:
349
344
  if (response.status === 200) {
@@ -389,7 +384,7 @@ var AgoraRteApDetectorImpl = exports.AgoraRteApDetectorImpl = /*#__PURE__*/funct
389
384
  var _runTasksWithConcurrency2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(rawUrls, maxConcurrency) {
390
385
  var _this3 = this;
391
386
  var urlObjs, i, rawUrl, requestUrl, rawObjGroups, _i, allResults, processGroups;
392
- return _regenerator["default"].wrap(function _callee4$(_context4) {
387
+ return _regenerator["default"].wrap(function (_context4) {
393
388
  while (1) switch (_context4.prev = _context4.next) {
394
389
  case 0:
395
390
  // 用于存放分组后的原始链接组
@@ -412,17 +407,17 @@ var AgoraRteApDetectorImpl = exports.AgoraRteApDetectorImpl = /*#__PURE__*/funct
412
407
  allResults = []; // 依次处理每个请求组
413
408
  processGroups = /*#__PURE__*/function () {
414
409
  var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
415
- var _iterator, _step, group, groupPromises, groupPromiseResults, resolvedResults, finalResults;
416
- return _regenerator["default"].wrap(function _callee3$(_context3) {
410
+ var _iterator, _step, group, groupPromises, groupPromiseResults, resolvedResults, finalResults, _t;
411
+ return _regenerator["default"].wrap(function (_context3) {
417
412
  while (1) switch (_context3.prev = _context3.next) {
418
413
  case 0:
419
414
  // 用于存放所有组请求结果的数组
420
415
  _iterator = _createForOfIteratorHelper(_this3._rawObjGroups);
421
416
  _context3.prev = 1;
422
417
  _iterator.s();
423
- case 3:
418
+ case 2:
424
419
  if ((_step = _iterator.n()).done) {
425
- _context3.next = 14;
420
+ _context3.next = 5;
426
421
  break;
427
422
  }
428
423
  group = _step.value;
@@ -430,9 +425,9 @@ var AgoraRteApDetectorImpl = exports.AgoraRteApDetectorImpl = /*#__PURE__*/funct
430
425
  groupPromises = group.map(function (urlObj) {
431
426
  return _this3._fetchWithTimeoutAndCheck(urlObj, _this3._apDetectTimeout);
432
427
  });
433
- _context3.next = 8;
428
+ _context3.next = 3;
434
429
  return Promise.allSettled(groupPromises);
435
- case 8:
430
+ case 3:
436
431
  groupPromiseResults = _context3.sent;
437
432
  resolvedResults = groupPromiseResults.filter(function (result) {
438
433
  return result.status === 'fulfilled';
@@ -441,35 +436,35 @@ var AgoraRteApDetectorImpl = exports.AgoraRteApDetectorImpl = /*#__PURE__*/funct
441
436
  return result.value;
442
437
  });
443
438
  allResults.push.apply(allResults, (0, _toConsumableArray2["default"])(finalResults));
444
- case 12:
445
- _context3.next = 3;
439
+ case 4:
440
+ _context3.next = 2;
446
441
  break;
447
- case 14:
448
- _context3.next = 19;
442
+ case 5:
443
+ _context3.next = 7;
449
444
  break;
450
- case 16:
451
- _context3.prev = 16;
452
- _context3.t0 = _context3["catch"](1);
453
- _iterator.e(_context3.t0);
454
- case 19:
455
- _context3.prev = 19;
445
+ case 6:
446
+ _context3.prev = 6;
447
+ _t = _context3["catch"](1);
448
+ _iterator.e(_t);
449
+ case 7:
450
+ _context3.prev = 7;
456
451
  _iterator.f();
457
- return _context3.finish(19);
458
- case 22:
452
+ return _context3.finish(7);
453
+ case 8:
459
454
  case "end":
460
455
  return _context3.stop();
461
456
  }
462
- }, _callee3, null, [[1, 16, 19, 22]]);
457
+ }, _callee3, null, [[1, 6, 7, 8]]);
463
458
  }));
464
459
  return function processGroups() {
465
460
  return _ref3.apply(this, arguments);
466
461
  };
467
462
  }();
468
- _context4.next = 9;
463
+ _context4.next = 1;
469
464
  return processGroups();
470
- case 9:
465
+ case 1:
471
466
  return _context4.abrupt("return", allResults);
472
- case 10:
467
+ case 2:
473
468
  case "end":
474
469
  return _context4.stop();
475
470
  }
@@ -515,15 +510,15 @@ var AgoraRteApDetectorImpl = exports.AgoraRteApDetectorImpl = /*#__PURE__*/funct
515
510
  value: function () {
516
511
  var _runDetectTask2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(urls) {
517
512
  var resUrls;
518
- return _regenerator["default"].wrap(function _callee5$(_context5) {
513
+ return _regenerator["default"].wrap(function (_context5) {
519
514
  while (1) switch (_context5.prev = _context5.next) {
520
515
  case 0:
521
- _context5.next = 2;
516
+ _context5.next = 1;
522
517
  return this._runTasksWithConcurrency(urls, this._minCount);
523
- case 2:
518
+ case 1:
524
519
  resUrls = _context5.sent;
525
520
  return _context5.abrupt("return", resUrls);
526
- case 4:
521
+ case 2:
527
522
  case "end":
528
523
  return _context5.stop();
529
524
  }
@@ -537,7 +532,7 @@ var AgoraRteApDetectorImpl = exports.AgoraRteApDetectorImpl = /*#__PURE__*/funct
537
532
  }]);
538
533
  }();
539
534
  _AgoraRteApDetectorImpl = AgoraRteApDetectorImpl;
540
- var _applyDecs$e = _applyDecs(_AgoraRteApDetectorImpl, [[_imports.trace, 2, "restart"], [_imports.trace, 2, "start"], [_imports.trace, 2, "isDetectRequired"], [_imports.trace, 2, "getAvailableRtcAccessPointConfig"]], []).e;
535
+ var _applyDecs$e = _applyDecs(_AgoraRteApDetectorImpl, [[_imports.trace, 2, "restart"], [_imports.trace, 2, "start"], [_imports.trace, 2, "isDetectRequired"], [_imports.trace, 2, "isRedetectRequired"], [_imports.trace, 2, "stop"], [_imports.trace, 2, "isFinished"], [_imports.trace, 2, "getAvailableRtcAccessPointConfig"]], []).e;
541
536
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
542
537
  _initProto = _applyDecs$e2[0];
543
538
  _applyDecs$e;
@@ -35,8 +35,9 @@ export declare class AgoraRteEngine {
35
35
  private _handleConnectionStateUpdated;
36
36
  private _handleTokenWillExpire;
37
37
  private _handlePeerMessageReceived;
38
- private _setupRteIpList;
38
+ private _initializeParameters;
39
+ private _setRtcRtmParameters;
40
+ private _setRteIpList;
39
41
  private _updateApDetector;
40
- private _validCfg;
41
42
  private _createDefaultApDetector;
42
43
  }
@@ -3,11 +3,13 @@
3
3
  require("core-js/modules/es.symbol.js");
4
4
  require("core-js/modules/es.symbol.description.js");
5
5
  require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.array.is-array.js");
6
7
  require("core-js/modules/es.array.iterator.js");
7
8
  require("core-js/modules/es.array.push.js");
8
9
  require("core-js/modules/es.date.to-primitive.js");
9
10
  require("core-js/modules/es.function.name.js");
10
11
  require("core-js/modules/es.map.js");
12
+ require("core-js/modules/es.number.constructor.js");
11
13
  require("core-js/modules/es.object.create.js");
12
14
  require("core-js/modules/es.object.define-property.js");
13
15
  require("core-js/modules/es.object.get-own-property-descriptor.js");
@@ -38,17 +40,12 @@ exports.AgoraRteEngine = void 0;
38
40
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
39
41
  require("core-js/modules/es.error.cause.js");
40
42
  require("core-js/modules/es.error.to-string.js");
41
- require("core-js/modules/es.array.concat.js");
42
43
  require("core-js/modules/es.array.for-each.js");
43
- require("core-js/modules/es.array.is-array.js");
44
44
  require("core-js/modules/es.date.to-json.js");
45
45
  require("core-js/modules/es.function.bind.js");
46
46
  require("core-js/modules/es.json.stringify.js");
47
- require("core-js/modules/es.number.constructor.js");
48
- require("core-js/modules/es.number.is-nan.js");
49
47
  require("core-js/modules/es.object.keys.js");
50
48
  require("core-js/modules/es.object.to-string.js");
51
- require("core-js/modules/esnext.async-iterator.for-each.js");
52
49
  require("core-js/modules/esnext.iterator.constructor.js");
53
50
  require("core-js/modules/esnext.iterator.for-each.js");
54
51
  require("core-js/modules/esnext.json.parse.js");
@@ -101,7 +98,9 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
101
98
  (0, _defineProperty2["default"])(this, "_pluginManager", (0, _plugin.getPluginManager)());
102
99
  (0, _domainHolder.resetSharedDomainHolder)();
103
100
  this._config = (0, _clone.cloneDeep)(config);
104
- (0, _imports.setupConsoleHijack)((0, _imports.getLogger)());
101
+
102
+ // setupConsoleHijack(getDefaultLogger());
103
+
105
104
  this.logger.info('RTE engine is created, version: ', this.getVersion());
106
105
  this._pluginManager.callInitialize(this._config);
107
106
  if ((0, _imports.isElectron)()) {
@@ -130,19 +129,19 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
130
129
  this._updateApDetector(config.parameters);
131
130
  this._rtmClient.addObserver(this._rtmClientObserver);
132
131
  if (config.parameters) {
133
- this.setParameters(config.parameters);
132
+ this._initializeParameters(config.parameters);
134
133
  }
135
134
  }
136
135
  return (0, _createClass2["default"])(AgoraRteEngine, [{
137
136
  key: "login",
138
137
  value: function () {
139
138
  var _login = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
140
- return _regenerator["default"].wrap(function _callee$(_context) {
139
+ return _regenerator["default"].wrap(function (_context) {
141
140
  while (1) switch (_context.prev = _context.next) {
142
141
  case 0:
143
- _context.next = 2;
142
+ _context.next = 1;
144
143
  return this._rtmClient.login(this._config.token, this._config.userId);
145
- case 2:
144
+ case 1:
146
145
  case "end":
147
146
  return _context.stop();
148
147
  }
@@ -157,12 +156,12 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
157
156
  key: "logout",
158
157
  value: function () {
159
158
  var _logout = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
160
- return _regenerator["default"].wrap(function _callee2$(_context2) {
159
+ return _regenerator["default"].wrap(function (_context2) {
161
160
  while (1) switch (_context2.prev = _context2.next) {
162
161
  case 0:
163
- _context2.next = 2;
162
+ _context2.next = 1;
164
163
  return this._rtmClient.logout();
165
- case 2:
164
+ case 1:
166
165
  case "end":
167
166
  return _context2.stop();
168
167
  }
@@ -216,10 +215,10 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
216
215
  key: "sendPeerMessage",
217
216
  value: function () {
218
217
  var _sendPeerMessage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(payload, cmd, guaranteedDelivery, receiverId) {
219
- return _regenerator["default"].wrap(function _callee3$(_context3) {
218
+ return _regenerator["default"].wrap(function (_context3) {
220
219
  while (1) switch (_context3.prev = _context3.next) {
221
220
  case 0:
222
- _context3.next = 2;
221
+ _context3.next = 1;
223
222
  return this._apiService.sendCustomPeerMessage({
224
223
  toUserUuid: receiverId,
225
224
  waitForAck: guaranteedDelivery,
@@ -228,7 +227,7 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
228
227
  data: payload
229
228
  }
230
229
  });
231
- case 2:
230
+ case 1:
232
231
  case "end":
233
232
  return _context3.stop();
234
233
  }
@@ -242,23 +241,12 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
242
241
  }, {
243
242
  key: "setParameters",
244
243
  value: function setParameters(parameters) {
245
- var _this = this;
246
244
  try {
247
- this._setupRteIpList(parameters);
245
+ // TODO: need a private parameter class to handle all parameters
246
+ this._setRteIpList(parameters);
247
+ this._setRtcRtmParameters(parameters);
248
248
  this._updateApDetector(parameters);
249
- var _ref = parameters,
250
- rtc = _ref.rtc,
251
- rtm = _ref.rtm;
252
- if (rtc) {
253
- rtc.forEach(function (param) {
254
- _this._rtcClient.setParameters(param);
255
- });
256
- }
257
- if (rtm) {
258
- rtm.forEach(function (param) {
259
- _this._rtmClient.setParameters(param);
260
- });
261
- }
249
+ this._pluginManager.updateParameters(parameters);
262
250
  } catch (e) {
263
251
  this.logger.warn('setParameters failed', e);
264
252
  }
@@ -273,7 +261,7 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
273
261
  value: function release() {
274
262
  this._pluginManager.callRelease();
275
263
  this._monitor.release();
276
- (0, _imports.restoreConsoleHijack)();
264
+ // restoreConsoleHijack();
277
265
  }
278
266
  }, {
279
267
  key: "addObserver",
@@ -324,21 +312,21 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
324
312
  }, {
325
313
  key: "_handlePeerMessageReceived",
326
314
  value: function _handlePeerMessageReceived(userId, message) {
327
- var _this2 = this;
328
- var _ref2 = JSON.parse(message),
329
- list = _ref2.list,
330
- fromRoomUuid = _ref2.fromRoomUuid;
315
+ var _this = this;
316
+ var _ref = JSON.parse(message),
317
+ list = _ref.list,
318
+ fromRoomUuid = _ref.fromRoomUuid;
331
319
  if (fromRoomUuid !== undefined) {
332
320
  return;
333
321
  }
334
- list.forEach(function (_ref3) {
335
- var cmd = _ref3.cmd,
336
- ts = _ref3.ts,
337
- _ref3$data = _ref3.data,
338
- payload = _ref3$data.payload,
339
- fromUser = _ref3$data.fromUser;
322
+ list.forEach(function (_ref2) {
323
+ var cmd = _ref2.cmd,
324
+ ts = _ref2.ts,
325
+ _ref2$data = _ref2.data,
326
+ payload = _ref2$data.payload,
327
+ fromUser = _ref2$data.fromUser;
340
328
  if (cmd === _type3.AgoraRteServerMessageCmd.MESSAGE_EXTENSION) {
341
- _this2._observable.notifyObservers('onPeerMessageReceived', {
329
+ _this._observable.notifyObservers('onPeerMessageReceived', {
342
330
  payload: payload,
343
331
  timestamp: ts,
344
332
  senderId: fromUser.userUuid,
@@ -347,9 +335,36 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
347
335
  }
348
336
  });
349
337
  }
338
+
339
+ // TODO: need a private parameter class to handle all parameters
340
+ }, {
341
+ key: "_initializeParameters",
342
+ value: function _initializeParameters(parameters) {
343
+ this._setRteIpList(parameters);
344
+ this._setRtcRtmParameters(parameters);
345
+ this._updateApDetector(parameters);
346
+ }
347
+ }, {
348
+ key: "_setRtcRtmParameters",
349
+ value: function _setRtcRtmParameters(parameters) {
350
+ var _this2 = this;
351
+ var _ref3 = parameters,
352
+ rtc = _ref3.rtc,
353
+ rtm = _ref3.rtm;
354
+ if (rtc) {
355
+ rtc.forEach(function (param) {
356
+ _this2._rtcClient.setParameters(param);
357
+ });
358
+ }
359
+ if (rtm) {
360
+ rtm.forEach(function (param) {
361
+ _this2._rtmClient.setParameters(param);
362
+ });
363
+ }
364
+ }
350
365
  }, {
351
- key: "_setupRteIpList",
352
- value: function _setupRteIpList(parameters) {
366
+ key: "_setRteIpList",
367
+ value: function _setRteIpList(parameters) {
353
368
  var rteIpList = (0, _parameters.getRteIpList)(parameters);
354
369
  if (rteIpList) {
355
370
  this.logger.info("setup fixed service domain list: ".concat(JSON.stringify(rteIpList)));
@@ -362,22 +377,22 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
362
377
  }, {
363
378
  key: "_updateApDetector",
364
379
  value: function _updateApDetector(parameters) {
365
- this.logger.info("update ap detector");
366
- var externalRtcConfig = (0, _imports.isElectron)() ? (0, _parameters.getRtcExternaApConfig)(parameters) : (0, _parameters.getRtcWebExternaApConfig)(parameters);
367
- var internalRtcConfig = (0, _imports.isElectron)() ? (0, _parameters.getRtcInternaApConfig)(parameters) : (0, _parameters.getRtcWebInternaApConfig)(parameters);
368
- var apDetectTimeout = Number((0, _parameters.getApDetectTimeout)(parameters));
369
- var apDetectIsRedetect = (0, _parameters.getApDetectIsRedetect)(parameters);
370
- var paramTimeout = Number.isNaN(apDetectTimeout) ? 0 : apDetectTimeout;
371
- var paramIsRedetect = typeof apDetectIsRedetect === 'boolean' ? !!apDetectIsRedetect : true;
372
- this.logger.info("create ap detector instance: external=".concat(JSON.stringify(externalRtcConfig), ", internal=").concat(JSON.stringify(internalRtcConfig), ", timeout=").concat(paramTimeout, ", isRedetect=").concat(paramIsRedetect));
373
- if (this._validCfg(externalRtcConfig) || this._validCfg(internalRtcConfig)) {
374
- this._apDetector.setConfig(paramTimeout, paramIsRedetect, internalRtcConfig, externalRtcConfig);
380
+ var externalRtcConfig = null;
381
+ var internalRtcConfig = null;
382
+ if ((0, _imports.isElectron)()) {
383
+ externalRtcConfig = (0, _parameters.getRtcExternaApConfig)(parameters);
384
+ internalRtcConfig = (0, _parameters.getRtcInternaApConfig)(parameters);
385
+ } else {
386
+ externalRtcConfig = (0, _parameters.getRtcWebExternaApConfig)(parameters);
387
+ internalRtcConfig = (0, _parameters.getRtcWebInternaApConfig)(parameters);
375
388
  }
376
- }
377
- }, {
378
- key: "_validCfg",
379
- value: function _validCfg(cfg) {
380
- return cfg && Array.isArray(cfg === null || cfg === void 0 ? void 0 : cfg.serverList) && cfg.serverList.length > 0;
389
+ if (externalRtcConfig == null && internalRtcConfig == null) {
390
+ this.logger.warn('externalRtcConfig and internalRtcConfig are both null, not update ap detector config');
391
+ return;
392
+ }
393
+ var paramTimeout = (0, _parameters.getApDetectTimeout)(parameters);
394
+ var paramIsRedetect = (0, _parameters.getApDetectIsRedetect)(parameters);
395
+ this._apDetector.setConfig(paramTimeout, paramIsRedetect, internalRtcConfig, externalRtcConfig);
381
396
  }
382
397
  }, {
383
398
  key: "_createDefaultApDetector",
@@ -391,7 +406,7 @@ var AgoraRteEngine = exports.AgoraRteEngine = /*#__PURE__*/function () {
391
406
  }]);
392
407
  }();
393
408
  _AgoraRteEngine = AgoraRteEngine;
394
- var _applyDecs$e = _applyDecs(_AgoraRteEngine, [[_imports.trace, 2, "login"], [_imports.trace, 2, "logout"], [_imports.trace, 2, "createScene"], [_imports.trace, 2, "sendPeerMessage"], [_imports.trace, 2, "setParameters"], [_imports.trace, 2, "renewUserToken"], [_imports.trace, 2, "release"], [[_imports.trace, _imports.bound], 2, "_updateApDetector"]], []).e;
409
+ var _applyDecs$e = _applyDecs(_AgoraRteEngine, [[_imports.trace, 2, "login"], [_imports.trace, 2, "logout"], [_imports.trace, 2, "createScene"], [_imports.trace, 2, "sendPeerMessage"], [_imports.trace, 2, "setParameters"], [_imports.trace, 2, "renewUserToken"], [_imports.trace, 2, "release"], [_imports.bound, 2, "_updateApDetector"]], []).e;
395
410
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
396
411
  _initProto = _applyDecs$e2[0];
397
412
  _applyDecs$e;
@@ -3,12 +3,14 @@ export interface AgoraRtePlugin {
3
3
  get name(): string;
4
4
  onInitialize: (config: AgoraRteEngineConfig) => void;
5
5
  onRelease: () => void;
6
+ onParametersUpdated?: (parameters: Record<string, unknown>) => void;
6
7
  }
7
8
  declare class AgoraRtePluginManager {
8
9
  private _plugins;
9
10
  registerPlugin(plugin: AgoraRtePlugin): void;
10
11
  callInitialize(config: AgoraRteEngineConfig): void;
11
12
  callRelease(): void;
13
+ updateParameters(parameters: Record<string, unknown>): void;
12
14
  }
13
15
  export declare const getPluginManager: () => AgoraRtePluginManager;
14
16
  export declare const registerPlugin: (plugin: AgoraRtePlugin) => void;
@@ -12,7 +12,6 @@ require("core-js/modules/es.function.name.js");
12
12
  require("core-js/modules/es.object.to-string.js");
13
13
  require("core-js/modules/es.set.js");
14
14
  require("core-js/modules/es.string.iterator.js");
15
- require("core-js/modules/esnext.async-iterator.for-each.js");
16
15
  require("core-js/modules/esnext.iterator.constructor.js");
17
16
  require("core-js/modules/esnext.iterator.for-each.js");
18
17
  require("core-js/modules/esnext.set.add-all.js");
@@ -68,6 +67,15 @@ var AgoraRtePluginManager = /*#__PURE__*/function () {
68
67
  plugin.onRelease();
69
68
  });
70
69
  }
70
+ }, {
71
+ key: "updateParameters",
72
+ value: function updateParameters(parameters) {
73
+ this._plugins.forEach(function (plugin) {
74
+ if (typeof plugin.onParametersUpdated === 'function') {
75
+ plugin.onParametersUpdated(parameters);
76
+ }
77
+ });
78
+ }
71
79
  }]);
72
80
  }();
73
81
  var pluginManager;
@@ -15,6 +15,8 @@ export declare class AgoraRteAudioEffectEnhancer {
15
15
  disableStereoMode(): number;
16
16
  enableOriginalSoundMode(): number;
17
17
  disableOriginalSoundMode(): number;
18
+ enableAGC(): number;
19
+ disableAGC(): number;
18
20
  }
19
21
  export declare class AgoraRteVideoEffectEnhancer {
20
22
  private _rtcClient;
@@ -69,6 +69,16 @@ var AgoraRteAudioEffectEnhancer = exports.AgoraRteAudioEffectEnhancer = /*#__PUR
69
69
  value: function disableOriginalSoundMode() {
70
70
  return this._rtcClient.captureEnhancement.disableOriginalSoundMode(this._deviceId);
71
71
  }
72
+ }, {
73
+ key: "enableAGC",
74
+ value: function enableAGC() {
75
+ return this._rtcClient.captureEnhancement.enableAGC();
76
+ }
77
+ }, {
78
+ key: "disableAGC",
79
+ value: function disableAGC() {
80
+ return this._rtcClient.captureEnhancement.disableAGC();
81
+ }
72
82
  }]);
73
83
  }();
74
84
  var AgoraRteVideoEffectEnhancer = exports.AgoraRteVideoEffectEnhancer = /*#__PURE__*/function () {