agora-electron-sdk 4.3.2 → 4.4.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/gulpfile.js +3 -1
  2. package/js/AgoraSdk.js +4 -4
  3. package/js/Private/AgoraBase.js +367 -326
  4. package/js/Private/AgoraMediaBase.js +265 -76
  5. package/js/Private/AgoraMediaPlayerTypes.js +12 -30
  6. package/js/Private/IAgoraH265Transcoder.js +2 -5
  7. package/js/Private/IAgoraLog.js +2 -5
  8. package/js/Private/IAgoraMediaEngine.js +2 -5
  9. package/js/Private/IAgoraMediaPlayer.js +4 -10
  10. package/js/Private/IAgoraMediaRecorder.js +2 -5
  11. package/js/Private/IAgoraMediaStreamingSource.js +2 -5
  12. package/js/Private/IAgoraMusicContentCenter.js +21 -68
  13. package/js/Private/IAgoraRhythmPlayer.js +2 -5
  14. package/js/Private/IAgoraRtcEngine.js +76 -130
  15. package/js/Private/IAgoraRtcEngineEx.js +5 -28
  16. package/js/Private/IAgoraSpatialAudio.js +6 -15
  17. package/js/Private/IAudioDeviceManager.js +2 -5
  18. package/js/Private/impl/AgoraMediaBaseImpl.js +11 -14
  19. package/js/Private/impl/IAgoraH265TranscoderImpl.js +43 -46
  20. package/js/Private/impl/IAgoraMediaEngineImpl.js +155 -172
  21. package/js/Private/impl/IAgoraMediaPlayerImpl.js +534 -546
  22. package/js/Private/impl/IAgoraMediaRecorderImpl.js +26 -29
  23. package/js/Private/impl/IAgoraMusicContentCenterImpl.js +218 -251
  24. package/js/Private/impl/IAgoraRtcEngineExImpl.js +434 -436
  25. package/js/Private/impl/IAgoraRtcEngineImpl.js +2445 -2423
  26. package/js/Private/impl/IAgoraSpatialAudioImpl.js +167 -170
  27. package/js/Private/impl/IAudioDeviceManagerImpl.js +232 -235
  28. package/js/Private/internal/AgoraH265TranscoderInternal.js +33 -57
  29. package/js/Private/internal/AgoraMediaBaseInternal.js +9 -28
  30. package/js/Private/internal/AudioDeviceManagerInternal.js +24 -44
  31. package/js/Private/internal/IrisApiEngine.js +94 -145
  32. package/js/Private/internal/LocalSpatialAudioEngineInternal.js +3 -23
  33. package/js/Private/internal/MediaEngineInternal.js +69 -94
  34. package/js/Private/internal/MediaPlayerInternal.js +105 -125
  35. package/js/Private/internal/MediaRecorderInternal.js +37 -64
  36. package/js/Private/internal/MusicContentCenterInternal.js +92 -129
  37. package/js/Private/internal/RtcEngineExInternal.js +213 -243
  38. package/js/Private/ti/AgoraBase-ti.js +2 -2
  39. package/js/Private/ti/AgoraMediaBase-ti.js +2 -2
  40. package/js/Private/ti/AgoraMediaPlayerTypes-ti.js +1 -1
  41. package/js/Private/ti/IAgoraH265Transcoder-ti.js +2 -2
  42. package/js/Private/ti/IAgoraLog-ti.js +1 -1
  43. package/js/Private/ti/IAgoraMediaEngine-ti.js +1 -1
  44. package/js/Private/ti/IAgoraMediaPlayer-ti.js +2 -2
  45. package/js/Private/ti/IAgoraMediaPlayerSource-ti.js +2 -2
  46. package/js/Private/ti/IAgoraMediaRecorder-ti.js +1 -1
  47. package/js/Private/ti/IAgoraMediaStreamingSource-ti.js +1 -1
  48. package/js/Private/ti/IAgoraMusicContentCenter-ti.js +2 -2
  49. package/js/Private/ti/IAgoraRhythmPlayer-ti.js +1 -1
  50. package/js/Private/ti/IAgoraRtcEngine-ti.js +7 -7
  51. package/js/Private/ti/IAgoraRtcEngineEx-ti.js +1 -1
  52. package/js/Private/ti/IAgoraSpatialAudio-ti.js +1 -1
  53. package/js/Private/ti/IAudioDeviceManager-ti.js +1 -1
  54. package/js/Renderer/AgoraView.js +100 -145
  55. package/js/Renderer/IRenderer.js +43 -53
  56. package/js/Renderer/IRendererManager.js +106 -132
  57. package/js/Renderer/RendererCache.js +63 -96
  58. package/js/Renderer/RendererManager.js +35 -69
  59. package/js/Renderer/WebGLRenderer/index.js +77 -106
  60. package/js/Renderer/YUVCanvasRenderer/index.js +18 -40
  61. package/js/Utils.js +45 -64
  62. package/package.json +9 -7
  63. package/scripts/checkElectron.js +41 -0
  64. package/scripts/downloadPrebuild.js +56 -24
  65. package/scripts/synclib.js +6 -6
  66. package/ts/Private/AgoraBase.ts +269 -4
  67. package/ts/Private/AgoraMediaBase.ts +343 -1
  68. package/ts/Private/IAgoraMediaEngine.ts +3 -3
  69. package/ts/Private/IAgoraRtcEngine.ts +130 -119
  70. package/ts/Private/IAgoraRtcEngineEx.ts +14 -9
  71. package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +30 -0
  72. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +181 -61
  73. package/ts/Private/internal/IrisApiEngine.ts +3 -7
  74. package/ts/Private/internal/MediaEngineInternal.ts +0 -1
  75. package/ts/Private/internal/RtcEngineExInternal.ts +8 -4
  76. package/ts/Private/ti/IAgoraRtcEngine-ti.ts +5 -5
  77. package/ts/Renderer/IRenderer.ts +1 -2
  78. package/ts/Renderer/IRendererManager.ts +21 -12
  79. package/ts/Utils.ts +15 -0
  80. package/types/Private/AgoraBase.d.ts +264 -8
  81. package/types/Private/AgoraBase.d.ts.map +1 -1
  82. package/types/Private/AgoraMediaBase.d.ts +336 -1
  83. package/types/Private/AgoraMediaBase.d.ts.map +1 -1
  84. package/types/Private/IAgoraMediaEngine.d.ts +3 -3
  85. package/types/Private/IAgoraRtcEngine.d.ts +106 -116
  86. package/types/Private/IAgoraRtcEngine.d.ts.map +1 -1
  87. package/types/Private/IAgoraRtcEngineEx.d.ts +10 -10
  88. package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -1
  89. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts +3 -1
  90. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -1
  91. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +13 -5
  92. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -1
  93. package/types/Private/internal/IrisApiEngine.d.ts.map +1 -1
  94. package/types/Private/internal/MediaEngineInternal.d.ts.map +1 -1
  95. package/types/Private/internal/RtcEngineExInternal.d.ts +1 -0
  96. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
  97. package/types/Renderer/IRenderer.d.ts.map +1 -1
  98. package/types/Renderer/IRendererManager.d.ts.map +1 -1
  99. package/types/Utils.d.ts +4 -0
  100. package/types/Utils.d.ts.map +1 -1
@@ -1,94 +1,61 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
29
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
30
4
  };
31
5
  Object.defineProperty(exports, "__esModule", { value: true });
32
6
  exports.RtcEngineExInternal = void 0;
33
- var ts_interface_checker_1 = require("ts-interface-checker");
34
- var Utils_1 = require("../../Utils");
35
- var AgoraBase_1 = require("../AgoraBase");
36
- var AgoraMediaBase_1 = require("../AgoraMediaBase");
37
- var IAgoraRtcEngineExImpl_1 = require("../impl/IAgoraRtcEngineExImpl");
38
- var IAgoraRtcEngineImpl_1 = require("../impl/IAgoraRtcEngineImpl");
39
- var AgoraBase_ti_1 = __importDefault(require("../ti/AgoraBase-ti"));
40
- var AgoraMediaBase_ti_1 = __importDefault(require("../ti/AgoraMediaBase-ti"));
41
- var IAgoraRtcEngine_ti_1 = __importDefault(require("../ti/IAgoraRtcEngine-ti"));
42
- var AgoraH265TranscoderInternal_1 = require("./AgoraH265TranscoderInternal");
43
- var AudioDeviceManagerInternal_1 = require("./AudioDeviceManagerInternal");
44
- var IrisApiEngine_1 = require("./IrisApiEngine");
45
- var LocalSpatialAudioEngineInternal_1 = require("./LocalSpatialAudioEngineInternal");
46
- var MediaEngineInternal_1 = require("./MediaEngineInternal");
47
- var MediaPlayerInternal_1 = require("./MediaPlayerInternal");
48
- var MediaRecorderInternal_1 = require("./MediaRecorderInternal");
49
- var MusicContentCenterInternal_1 = require("./MusicContentCenterInternal");
50
- var checkers = (0, ts_interface_checker_1.createCheckers)(AgoraBase_ti_1.default, AgoraMediaBase_ti_1.default, IAgoraRtcEngine_ti_1.default);
51
- var RtcEngineExInternal = /** @class */ (function (_super) {
52
- __extends(RtcEngineExInternal, _super);
53
- function RtcEngineExInternal() {
54
- var _this = _super !== null && _super.apply(this, arguments) || this;
55
- _this._audio_device_manager = new AudioDeviceManagerInternal_1.AudioDeviceManagerInternal();
56
- _this._video_device_manager = new IAgoraRtcEngineImpl_1.IVideoDeviceManagerImpl();
57
- _this._media_engine = new MediaEngineInternal_1.MediaEngineInternal();
58
- _this._music_content_center = new MusicContentCenterInternal_1.MusicContentCenterInternal();
59
- _this._local_spatial_audio_engine = new LocalSpatialAudioEngineInternal_1.LocalSpatialAudioEngineInternal();
60
- _this._h265_transcoder = new AgoraH265TranscoderInternal_1.H265TranscoderInternal();
61
- return _this;
62
- }
63
- RtcEngineExInternal.prototype.initialize = function (context) {
7
+ const ts_interface_checker_1 = require("ts-interface-checker");
8
+ const RendererManager_1 = require("../../Renderer/RendererManager");
9
+ const Utils_1 = require("../../Utils");
10
+ const AgoraBase_1 = require("../AgoraBase");
11
+ const AgoraMediaBase_1 = require("../AgoraMediaBase");
12
+ const IAgoraRtcEngineExImpl_1 = require("../impl/IAgoraRtcEngineExImpl");
13
+ const IAgoraRtcEngineImpl_1 = require("../impl/IAgoraRtcEngineImpl");
14
+ const AgoraBase_ti_1 = __importDefault(require("../ti/AgoraBase-ti"));
15
+ const AgoraMediaBase_ti_1 = __importDefault(require("../ti/AgoraMediaBase-ti"));
16
+ const IAgoraRtcEngine_ti_1 = __importDefault(require("../ti/IAgoraRtcEngine-ti"));
17
+ const AgoraH265TranscoderInternal_1 = require("./AgoraH265TranscoderInternal");
18
+ const AudioDeviceManagerInternal_1 = require("./AudioDeviceManagerInternal");
19
+ const IrisApiEngine_1 = require("./IrisApiEngine");
20
+ const LocalSpatialAudioEngineInternal_1 = require("./LocalSpatialAudioEngineInternal");
21
+ const MediaEngineInternal_1 = require("./MediaEngineInternal");
22
+ const MediaPlayerInternal_1 = require("./MediaPlayerInternal");
23
+ const MediaRecorderInternal_1 = require("./MediaRecorderInternal");
24
+ const MusicContentCenterInternal_1 = require("./MusicContentCenterInternal");
25
+ const checkers = (0, ts_interface_checker_1.createCheckers)(AgoraBase_ti_1.default, AgoraMediaBase_ti_1.default, IAgoraRtcEngine_ti_1.default);
26
+ class RtcEngineExInternal extends IAgoraRtcEngineExImpl_1.IRtcEngineExImpl {
27
+ constructor() {
28
+ super(...arguments);
29
+ this._audio_device_manager = new AudioDeviceManagerInternal_1.AudioDeviceManagerInternal();
30
+ this._video_device_manager = new IAgoraRtcEngineImpl_1.IVideoDeviceManagerImpl();
31
+ this._media_engine = new MediaEngineInternal_1.MediaEngineInternal();
32
+ this._music_content_center = new MusicContentCenterInternal_1.MusicContentCenterInternal();
33
+ this._local_spatial_audio_engine = new LocalSpatialAudioEngineInternal_1.LocalSpatialAudioEngineInternal();
34
+ this._h265_transcoder = new AgoraH265TranscoderInternal_1.H265TranscoderInternal();
35
+ }
36
+ initialize(context) {
64
37
  if (Utils_1.AgoraEnv.webEnvReady) {
65
38
  // @ts-ignore
66
39
  window.AgoraEnv = Utils_1.AgoraEnv;
67
40
  if (Utils_1.AgoraEnv.AgoraRendererManager === undefined) {
68
- var RendererManager = require('../../Renderer/RendererManager').RendererManager;
69
- Utils_1.AgoraEnv.AgoraRendererManager = new RendererManager();
41
+ Utils_1.AgoraEnv.AgoraRendererManager = new RendererManager_1.RendererManager();
70
42
  }
71
43
  }
72
- var ret = _super.prototype.initialize.call(this, context);
44
+ const ret = super.initialize(context);
73
45
  IrisApiEngine_1.callIrisApi.call(this, 'RtcEngine_setAppType', {
74
46
  appType: 3,
75
47
  });
76
48
  return ret;
77
- };
78
- RtcEngineExInternal.prototype.release = function (sync) {
79
- var _this = this;
80
- var _a;
81
- if (sync === void 0) { sync = false; }
49
+ }
50
+ release(sync = false) {
82
51
  Utils_1.AgoraEnv.AgoraElectronBridge.ReleaseRenderer();
83
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.release();
52
+ Utils_1.AgoraEnv.AgoraRendererManager?.release();
84
53
  Utils_1.AgoraEnv.AgoraRendererManager = undefined;
85
- this._audio_device_manager.release();
86
- this._video_device_manager.release();
87
54
  this._media_engine.release();
88
55
  this._local_spatial_audio_engine.release();
89
56
  RtcEngineExInternal._event_handlers = [];
90
- RtcEngineExInternal._event_handlers.map(function (it) {
91
- _super.prototype.unregisterEventHandler.call(_this, it);
57
+ RtcEngineExInternal._event_handlers.map((it) => {
58
+ super.unregisterEventHandler(it);
92
59
  });
93
60
  RtcEngineExInternal._direct_cdn_streaming_event_handler = [];
94
61
  RtcEngineExInternal._metadata_observer = [];
@@ -101,224 +68,222 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
101
68
  MediaRecorderInternal_1.MediaRecorderInternal._observers.clear();
102
69
  this._h265_transcoder.release();
103
70
  this.removeAllListeners();
104
- _super.prototype.release.call(this, sync);
105
- };
106
- RtcEngineExInternal.prototype._addListenerPreCheck = function (eventType) {
107
- var _a, _b, _c, _d, _e;
108
- var _f, _g, _h, _j, _k;
109
- if ((_f = checkers.IRtcEngineEventHandler) === null || _f === void 0 ? void 0 : _f.strictTest((_a = {}, _a[eventType] = undefined, _a))) {
71
+ super.release(sync);
72
+ }
73
+ _addListenerPreCheck(eventType) {
74
+ if (checkers.IRtcEngineEventHandler?.strictTest({ [eventType]: undefined })) {
110
75
  if (RtcEngineExInternal._event_handlers.length === 0) {
111
76
  this.registerEventHandler({});
112
77
  }
113
78
  }
114
- if ((_g = checkers.IDirectCdnStreamingEventHandler) === null || _g === void 0 ? void 0 : _g.strictTest((_b = {},
115
- _b[eventType] = undefined,
116
- _b))) {
79
+ if (checkers.IDirectCdnStreamingEventHandler?.strictTest({
80
+ [eventType]: undefined,
81
+ })) {
117
82
  if (RtcEngineExInternal._direct_cdn_streaming_event_handler.length === 0) {
118
83
  (0, Utils_1.logError)('Please call `startDirectCdnStreaming` before you want to receive event by `addListener`');
119
84
  return false;
120
85
  }
121
86
  }
122
- if ((_h = checkers.IMetadataObserver) === null || _h === void 0 ? void 0 : _h.strictTest((_c = {},
123
- _c[eventType] = undefined,
124
- _c))) {
87
+ if (checkers.IMetadataObserver?.strictTest({
88
+ [eventType]: undefined,
89
+ })) {
125
90
  if (RtcEngineExInternal._metadata_observer.length === 0) {
126
91
  (0, Utils_1.logError)('Please call `registerMediaMetadataObserver` before you want to receive event by `addListener`');
127
92
  return false;
128
93
  }
129
94
  }
130
- if ((_j = checkers.IAudioEncodedFrameObserver) === null || _j === void 0 ? void 0 : _j.strictTest((_d = {},
131
- _d[eventType] = undefined,
132
- _d))) {
95
+ if (checkers.IAudioEncodedFrameObserver?.strictTest({
96
+ [eventType]: undefined,
97
+ })) {
133
98
  if (RtcEngineExInternal._audio_encoded_frame_observers.length === 0) {
134
99
  (0, Utils_1.logError)('Please call `registerAudioEncodedFrameObserver` before you want to receive event by `addListener`');
135
100
  return false;
136
101
  }
137
102
  }
138
- if ((_k = checkers.IAudioSpectrumObserver) === null || _k === void 0 ? void 0 : _k.strictTest((_e = {},
139
- _e[eventType] = undefined,
140
- _e))) {
103
+ if (checkers.IAudioSpectrumObserver?.strictTest({
104
+ [eventType]: undefined,
105
+ })) {
141
106
  if (RtcEngineExInternal._audio_spectrum_observers.length === 0) {
142
107
  this.registerAudioSpectrumObserver({});
143
108
  }
144
109
  }
145
110
  return true;
146
- };
147
- RtcEngineExInternal.prototype.addListener = function (eventType, listener) {
111
+ }
112
+ addListener(eventType, listener) {
148
113
  this._addListenerPreCheck(eventType);
149
- var callback = function (eventProcessor, data) {
114
+ const callback = (eventProcessor, data) => {
150
115
  if (eventProcessor.type(data) !== IrisApiEngine_1.EVENT_TYPE.IRtcEngine) {
151
116
  return;
152
117
  }
153
- eventProcessor.func.map(function (it) {
154
- var _a;
155
- it((_a = {}, _a[eventType] = listener, _a), eventType, data);
118
+ eventProcessor.func.map((it) => {
119
+ it({ [eventType]: listener }, eventType, data);
156
120
  });
157
121
  };
158
122
  // @ts-ignore
159
123
  listener.agoraCallback = callback;
160
124
  IrisApiEngine_1.DeviceEventEmitter.addListener(eventType, callback);
161
- };
162
- RtcEngineExInternal.prototype.removeListener = function (eventType, listener) {
163
- var _a;
125
+ }
126
+ removeListener(eventType, listener) {
164
127
  IrisApiEngine_1.DeviceEventEmitter.removeListener(eventType,
165
128
  // @ts-ignore
166
- (_a = listener === null || listener === void 0 ? void 0 : listener.agoraCallback) !== null && _a !== void 0 ? _a : listener);
167
- };
168
- RtcEngineExInternal.prototype.removeAllListeners = function (eventType) {
129
+ listener?.agoraCallback ?? listener);
130
+ }
131
+ removeAllListeners(eventType) {
169
132
  IrisApiEngine_1.DeviceEventEmitter.removeAllListeners(eventType);
170
- };
171
- RtcEngineExInternal.prototype.getVersion = function () {
172
- var apiType = 'RtcEngine_getVersion_915cb25';
173
- var jsonParams = {};
174
- var jsonResults = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams);
133
+ }
134
+ getVersion() {
135
+ const apiType = 'RtcEngine_getVersion_915cb25';
136
+ const jsonParams = {};
137
+ const jsonResults = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams);
175
138
  return {
176
139
  build: jsonResults.build,
177
140
  version: jsonResults.result,
178
141
  };
179
- };
180
- RtcEngineExInternal.prototype.registerEventHandler = function (eventHandler) {
142
+ }
143
+ registerEventHandler(eventHandler) {
181
144
  // only call iris when no event handler registered
182
- var callIris = RtcEngineExInternal._event_handlers.length === 0;
183
- if (!RtcEngineExInternal._event_handlers.find(function (value) { return value === eventHandler; })) {
145
+ let callIris = RtcEngineExInternal._event_handlers.length === 0;
146
+ if (!RtcEngineExInternal._event_handlers.find((value) => value === eventHandler)) {
184
147
  RtcEngineExInternal._event_handlers.push(eventHandler);
185
148
  }
186
- return callIris ? _super.prototype.registerEventHandler.call(this, eventHandler) : true;
187
- };
188
- RtcEngineExInternal.prototype.unregisterEventHandler = function (eventHandler) {
149
+ return callIris ? super.registerEventHandler(eventHandler) : true;
150
+ }
151
+ unregisterEventHandler(eventHandler) {
189
152
  RtcEngineExInternal._event_handlers =
190
- RtcEngineExInternal._event_handlers.filter(function (value) { return value !== eventHandler; });
153
+ RtcEngineExInternal._event_handlers.filter((value) => value !== eventHandler);
191
154
  // only call iris when no event handler registered
192
- var callIris = RtcEngineExInternal._event_handlers.length === 0;
193
- return callIris ? _super.prototype.unregisterEventHandler.call(this, eventHandler) : true;
194
- };
195
- RtcEngineExInternal.prototype.createMediaPlayer = function () {
155
+ let callIris = RtcEngineExInternal._event_handlers.length === 0;
156
+ return callIris ? super.unregisterEventHandler(eventHandler) : true;
157
+ }
158
+ createMediaPlayer() {
196
159
  // @ts-ignore
197
- var mediaPlayerId = _super.prototype.createMediaPlayer.call(this);
160
+ const mediaPlayerId = super.createMediaPlayer();
198
161
  return new MediaPlayerInternal_1.MediaPlayerInternal(mediaPlayerId);
199
- };
200
- RtcEngineExInternal.prototype.destroyMediaPlayer = function (mediaPlayer) {
201
- var _a;
202
- var ret = _super.prototype.destroyMediaPlayer.call(this, mediaPlayer);
203
- (_a = mediaPlayer.release) === null || _a === void 0 ? void 0 : _a.call(mediaPlayer);
162
+ }
163
+ destroyMediaPlayer(mediaPlayer) {
164
+ const ret = super.destroyMediaPlayer(mediaPlayer);
165
+ mediaPlayer.release?.call(mediaPlayer);
204
166
  return ret;
205
- };
206
- RtcEngineExInternal.prototype.createMediaRecorder = function (info) {
167
+ }
168
+ createMediaRecorder(info) {
207
169
  // @ts-ignore
208
- var nativeHandle = _super.prototype.createMediaRecorder.call(this, info);
170
+ const nativeHandle = super.createMediaRecorder(info);
209
171
  return new MediaRecorderInternal_1.MediaRecorderInternal(nativeHandle);
210
- };
211
- RtcEngineExInternal.prototype.destroyMediaRecorder = function (mediaRecorder) {
212
- var _a;
213
- var ret = _super.prototype.destroyMediaRecorder.call(this, mediaRecorder);
214
- (_a = mediaRecorder.release) === null || _a === void 0 ? void 0 : _a.call(mediaRecorder);
172
+ }
173
+ destroyMediaRecorder(mediaRecorder) {
174
+ const ret = super.destroyMediaRecorder(mediaRecorder);
175
+ mediaRecorder.release?.call(mediaRecorder);
215
176
  return ret;
216
- };
217
- RtcEngineExInternal.prototype.startDirectCdnStreaming = function (eventHandler, publishUrl, options) {
218
- if (!RtcEngineExInternal._direct_cdn_streaming_event_handler.find(function (value) { return value === eventHandler; })) {
177
+ }
178
+ startDirectCdnStreaming(eventHandler, publishUrl, options) {
179
+ if (!RtcEngineExInternal._direct_cdn_streaming_event_handler.find((value) => value === eventHandler)) {
219
180
  RtcEngineExInternal._direct_cdn_streaming_event_handler.push(eventHandler);
220
181
  }
221
- return _super.prototype.startDirectCdnStreaming.call(this, eventHandler, publishUrl, options);
222
- };
223
- RtcEngineExInternal.prototype.registerMediaMetadataObserver = function (observer, type) {
224
- if (!RtcEngineExInternal._metadata_observer.find(function (value) { return value === observer; })) {
182
+ return super.startDirectCdnStreaming(eventHandler, publishUrl, options);
183
+ }
184
+ registerMediaMetadataObserver(observer, type) {
185
+ if (!RtcEngineExInternal._metadata_observer.find((value) => value === observer)) {
225
186
  RtcEngineExInternal._metadata_observer.push(observer);
226
187
  }
227
- return _super.prototype.registerMediaMetadataObserver.call(this, observer, type);
228
- };
229
- RtcEngineExInternal.prototype.unregisterMediaMetadataObserver = function (observer, type) {
188
+ return super.registerMediaMetadataObserver(observer, type);
189
+ }
190
+ unregisterMediaMetadataObserver(observer, type) {
230
191
  RtcEngineExInternal._metadata_observer =
231
- RtcEngineExInternal._metadata_observer.filter(function (value) { return value !== observer; });
232
- return _super.prototype.unregisterMediaMetadataObserver.call(this, observer, type);
233
- };
234
- RtcEngineExInternal.prototype.getApiTypeFromJoinChannel = function (token, channelId, uid, options) {
192
+ RtcEngineExInternal._metadata_observer.filter((value) => value !== observer);
193
+ return super.unregisterMediaMetadataObserver(observer, type);
194
+ }
195
+ getApiTypeFromJoinChannel(token, channelId, uid, options) {
235
196
  if (Utils_1.AgoraEnv.AgoraRendererManager) {
236
197
  Utils_1.AgoraEnv.AgoraRendererManager.defaultChannelId = channelId;
237
198
  }
238
199
  return options === undefined
239
200
  ? 'RtcEngine_joinChannel_f097389'
240
201
  : 'RtcEngine_joinChannel_cdbb747';
241
- };
242
- RtcEngineExInternal.prototype.getApiTypeFromLeaveChannel = function (options) {
202
+ }
203
+ getApiTypeFromLeaveChannel(options) {
243
204
  return options === undefined
244
205
  ? 'RtcEngine_leaveChannel'
245
206
  : 'RtcEngine_leaveChannel_2c0e3aa';
246
- };
247
- RtcEngineExInternal.prototype.getApiTypeFromLeaveChannelEx = function (connection, options) {
207
+ }
208
+ getApiTypeFromLeaveChannelEx(connection, options) {
248
209
  return options === undefined
249
210
  ? 'RtcEngineEx_leaveChannelEx_c81e1a4'
250
211
  : 'RtcEngineEx_leaveChannelEx_b03ee9a';
251
- };
252
- RtcEngineExInternal.prototype.getApiTypeFromSetClientRole = function (role, options) {
212
+ }
213
+ getApiTypeFromSetClientRole(role, options) {
253
214
  return options === undefined
254
215
  ? 'RtcEngine_setClientRole_3426fa6'
255
216
  : 'RtcEngine_setClientRole_b46cc48';
256
- };
257
- RtcEngineExInternal.prototype.getApiTypeFromEnableDualStreamMode = function (enabled, streamConfig) {
217
+ }
218
+ getApiTypeFromEnableDualStreamMode(enabled, streamConfig) {
258
219
  return streamConfig === undefined
259
220
  ? 'RtcEngine_enableDualStreamMode_5039d15'
260
221
  : 'RtcEngine_enableDualStreamMode_9822d8a';
261
- };
262
- RtcEngineExInternal.prototype.getApiTypeFromSetDualStreamMode = function (mode, streamConfig) {
222
+ }
223
+ getApiTypeFromSetDualStreamMode(mode, streamConfig) {
263
224
  return streamConfig === undefined
264
225
  ? 'RtcEngine_setDualStreamMode_3a7f662'
265
226
  : 'RtcEngine_setDualStreamMode_b3a4f6c';
266
- };
267
- RtcEngineExInternal.prototype.getApiTypeFromJoinChannelWithUserAccount = function (token, channelId, userAccount, options) {
227
+ }
228
+ getApiTypeFromJoinChannelWithUserAccount(token, channelId, userAccount, options) {
268
229
  if (Utils_1.AgoraEnv.AgoraRendererManager) {
269
230
  Utils_1.AgoraEnv.AgoraRendererManager.defaultChannelId = channelId;
270
231
  }
271
232
  return options === undefined
272
233
  ? 'RtcEngine_joinChannelWithUserAccount_0e4f59e'
273
234
  : 'RtcEngine_joinChannelWithUserAccount_4685af9';
274
- };
275
- RtcEngineExInternal.prototype.getAudioDeviceManager = function () {
235
+ }
236
+ getAudioDeviceManager() {
276
237
  return this._audio_device_manager;
277
- };
278
- RtcEngineExInternal.prototype.getVideoDeviceManager = function () {
238
+ }
239
+ getVideoDeviceManager() {
279
240
  return this._video_device_manager;
280
- };
281
- RtcEngineExInternal.prototype.getMediaEngine = function () {
241
+ }
242
+ getMediaEngine() {
282
243
  return this._media_engine;
283
- };
284
- RtcEngineExInternal.prototype.getMusicContentCenter = function () {
244
+ }
245
+ getMusicContentCenter() {
285
246
  return this._music_content_center;
286
- };
287
- RtcEngineExInternal.prototype.getLocalSpatialAudioEngine = function () {
247
+ }
248
+ getLocalSpatialAudioEngine() {
288
249
  return this._local_spatial_audio_engine;
289
- };
290
- RtcEngineExInternal.prototype.getH265Transcoder = function () {
250
+ }
251
+ getH265Transcoder() {
291
252
  return this._h265_transcoder;
292
- };
293
- RtcEngineExInternal.prototype.registerAudioEncodedFrameObserver = function (config, observer) {
294
- if (!RtcEngineExInternal._audio_encoded_frame_observers.find(function (value) { return value === observer; })) {
253
+ }
254
+ getNativeHandle() {
255
+ let result = super.getNativeHandle();
256
+ return (0, Utils_1.parseIntPtr2Number)(result);
257
+ }
258
+ registerAudioEncodedFrameObserver(config, observer) {
259
+ if (!RtcEngineExInternal._audio_encoded_frame_observers.find((value) => value === observer)) {
295
260
  RtcEngineExInternal._audio_encoded_frame_observers.push(observer);
296
261
  }
297
- return _super.prototype.registerAudioEncodedFrameObserver.call(this, config, observer);
298
- };
299
- RtcEngineExInternal.prototype.unregisterAudioEncodedFrameObserver = function (observer) {
262
+ return super.registerAudioEncodedFrameObserver(config, observer);
263
+ }
264
+ unregisterAudioEncodedFrameObserver(observer) {
300
265
  RtcEngineExInternal._audio_encoded_frame_observers =
301
- RtcEngineExInternal._audio_encoded_frame_observers.filter(function (value) { return value !== observer; });
302
- return _super.prototype.unregisterAudioEncodedFrameObserver.call(this, observer);
303
- };
304
- RtcEngineExInternal.prototype.registerAudioSpectrumObserver = function (observer) {
305
- if (!RtcEngineExInternal._audio_spectrum_observers.find(function (value) { return value === observer; })) {
266
+ RtcEngineExInternal._audio_encoded_frame_observers.filter((value) => value !== observer);
267
+ return super.unregisterAudioEncodedFrameObserver(observer);
268
+ }
269
+ registerAudioSpectrumObserver(observer) {
270
+ if (!RtcEngineExInternal._audio_spectrum_observers.find((value) => value === observer)) {
306
271
  RtcEngineExInternal._audio_spectrum_observers.push(observer);
307
272
  }
308
- return _super.prototype.registerAudioSpectrumObserver.call(this, observer);
309
- };
310
- RtcEngineExInternal.prototype.unregisterAudioSpectrumObserver = function (observer) {
273
+ return super.registerAudioSpectrumObserver(observer);
274
+ }
275
+ unregisterAudioSpectrumObserver(observer) {
311
276
  RtcEngineExInternal._audio_spectrum_observers =
312
- RtcEngineExInternal._audio_spectrum_observers.filter(function (value) { return value !== observer; });
313
- return _super.prototype.unregisterAudioSpectrumObserver.call(this, observer);
314
- };
315
- RtcEngineExInternal.prototype.getScreenCaptureSources = function (thumbSize, iconSize, includeScreen) {
316
- var apiType = this.getApiTypeFromGetScreenCaptureSources(thumbSize, iconSize, includeScreen);
317
- var jsonParams = {
277
+ RtcEngineExInternal._audio_spectrum_observers.filter((value) => value !== observer);
278
+ return super.unregisterAudioSpectrumObserver(observer);
279
+ }
280
+ getScreenCaptureSources(thumbSize, iconSize, includeScreen) {
281
+ const apiType = this.getApiTypeFromGetScreenCaptureSources(thumbSize, iconSize, includeScreen);
282
+ const jsonParams = {
318
283
  thumbSize: thumbSize,
319
284
  iconSize: iconSize,
320
285
  includeScreen: includeScreen,
321
- toJSON: function () {
286
+ toJSON: () => {
322
287
  return {
323
288
  thumbSize: thumbSize,
324
289
  iconSize: iconSize,
@@ -326,114 +291,119 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
326
291
  };
327
292
  },
328
293
  };
329
- var _a = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams), result = _a.result, sources = _a.sources;
330
- var screenCaptureSources = result.map(function (value) {
331
- var _a, _b, _c, _d;
332
- if (!((_a = value.thumbImage) === null || _a === void 0 ? void 0 : _a.buffer) || !((_b = value.thumbImage) === null || _b === void 0 ? void 0 : _b.length)) {
294
+ const { result, sources } = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams);
295
+ const screenCaptureSources = result.map((value) => {
296
+ if (!value.thumbImage?.buffer || !value.thumbImage?.length) {
333
297
  value.thumbImage.buffer = undefined;
334
298
  }
335
299
  else {
336
300
  value.thumbImage.buffer = Utils_1.AgoraEnv.AgoraElectronBridge.GetBuffer(value.thumbImage.buffer, value.thumbImage.length);
337
301
  }
338
- if (!((_c = value.iconImage) === null || _c === void 0 ? void 0 : _c.buffer) || !((_d = value.iconImage) === null || _d === void 0 ? void 0 : _d.length)) {
302
+ if (!value.iconImage?.buffer || !value.iconImage?.length) {
339
303
  value.iconImage.buffer = undefined;
340
304
  }
341
305
  else {
342
306
  value.iconImage.buffer = Utils_1.AgoraEnv.AgoraElectronBridge.GetBuffer(value.iconImage.buffer, value.iconImage.length);
343
307
  }
308
+ value.sourceDisplayId = (0, Utils_1.parseIntPtr2Number)(value.sourceDisplayId);
344
309
  return value;
345
310
  });
346
311
  IrisApiEngine_1.callIrisApi.call(this, 'RtcEngine_releaseScreenCaptureSources', {
347
- sources: sources,
312
+ sources,
348
313
  });
349
314
  return screenCaptureSources;
350
- };
351
- RtcEngineExInternal.prototype.setupLocalVideo = function (canvas) {
315
+ }
316
+ setupLocalVideo(canvas) {
352
317
  if (!Utils_1.AgoraEnv.AgoraRendererManager)
353
318
  return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
354
- var renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer(canvas);
319
+ const renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer(canvas);
355
320
  if (!renderer)
356
321
  return -AgoraBase_1.ErrorCodeType.ErrFailed;
357
322
  return AgoraBase_1.ErrorCodeType.ErrOk;
358
- };
359
- RtcEngineExInternal.prototype.setupRemoteVideo = function (canvas) {
323
+ }
324
+ setupRemoteVideo(canvas) {
360
325
  if (!Utils_1.AgoraEnv.AgoraRendererManager)
361
326
  return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
362
- var renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer(canvas);
327
+ const renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer(canvas);
363
328
  if (!renderer)
364
329
  return -AgoraBase_1.ErrorCodeType.ErrFailed;
365
330
  return AgoraBase_1.ErrorCodeType.ErrOk;
366
- };
367
- RtcEngineExInternal.prototype.setupRemoteVideoEx = function (canvas, connection) {
331
+ }
332
+ setupRemoteVideoEx(canvas, connection) {
368
333
  if (!Utils_1.AgoraEnv.AgoraRendererManager)
369
334
  return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
370
- var renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer(__assign(__assign({}, canvas), connection));
335
+ const renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer({
336
+ ...canvas,
337
+ ...connection,
338
+ });
371
339
  if (!renderer)
372
340
  return -AgoraBase_1.ErrorCodeType.ErrFailed;
373
341
  return AgoraBase_1.ErrorCodeType.ErrOk;
374
- };
375
- RtcEngineExInternal.prototype.setLocalRenderMode = function (renderMode, mirrorMode) {
376
- if (mirrorMode === void 0) { mirrorMode = AgoraBase_1.VideoMirrorModeType.VideoMirrorModeAuto; }
342
+ }
343
+ setLocalRenderMode(renderMode, mirrorMode = AgoraBase_1.VideoMirrorModeType.VideoMirrorModeAuto) {
377
344
  if (!Utils_1.AgoraEnv.AgoraRendererManager)
378
345
  return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
379
- var result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
346
+ const result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
380
347
  sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceCamera,
381
- renderMode: renderMode,
382
- mirrorMode: mirrorMode,
348
+ renderMode,
349
+ mirrorMode,
383
350
  });
384
351
  if (!result)
385
352
  return -AgoraBase_1.ErrorCodeType.ErrFailed;
386
353
  return AgoraBase_1.ErrorCodeType.ErrOk;
387
- };
388
- RtcEngineExInternal.prototype.setRemoteRenderMode = function (uid, renderMode, mirrorMode) {
354
+ }
355
+ setRemoteRenderMode(uid, renderMode, mirrorMode) {
389
356
  if (!Utils_1.AgoraEnv.AgoraRendererManager)
390
357
  return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
391
- var result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
358
+ const result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
392
359
  sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceRemote,
393
- uid: uid,
394
- renderMode: renderMode,
395
- mirrorMode: mirrorMode,
360
+ uid,
361
+ renderMode,
362
+ mirrorMode,
396
363
  });
397
364
  if (!result)
398
365
  return -AgoraBase_1.ErrorCodeType.ErrFailed;
399
366
  return AgoraBase_1.ErrorCodeType.ErrOk;
400
- };
401
- RtcEngineExInternal.prototype.setRemoteRenderModeEx = function (uid, renderMode, mirrorMode, connection) {
367
+ }
368
+ setRemoteRenderModeEx(uid, renderMode, mirrorMode, connection) {
402
369
  if (!Utils_1.AgoraEnv.AgoraRendererManager)
403
370
  return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
404
- var result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext(__assign(__assign({ sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceRemote }, connection), { uid: uid, renderMode: renderMode, mirrorMode: mirrorMode }));
371
+ const result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
372
+ sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceRemote,
373
+ ...connection,
374
+ uid,
375
+ renderMode,
376
+ mirrorMode,
377
+ });
405
378
  if (!result)
406
379
  return -AgoraBase_1.ErrorCodeType.ErrFailed;
407
380
  return AgoraBase_1.ErrorCodeType.ErrOk;
408
- };
409
- RtcEngineExInternal.prototype.setLocalVideoMirrorMode = function (mirrorMode) {
381
+ }
382
+ setLocalVideoMirrorMode(mirrorMode) {
410
383
  if (!Utils_1.AgoraEnv.AgoraRendererManager)
411
384
  return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
412
- var result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
385
+ const result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
413
386
  sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceCamera,
414
- mirrorMode: mirrorMode,
387
+ mirrorMode,
415
388
  });
416
389
  if (!result)
417
390
  return -AgoraBase_1.ErrorCodeType.ErrFailed;
418
391
  return AgoraBase_1.ErrorCodeType.ErrOk;
419
- };
420
- RtcEngineExInternal.prototype.destroyRendererByView = function (view) {
421
- var _a;
422
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.removeRendererFromCache({ view: view });
423
- };
424
- RtcEngineExInternal.prototype.destroyRendererByConfig = function (sourceType, channelId, uid) {
425
- var _a;
426
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.removeRendererFromCache({
427
- sourceType: sourceType,
428
- channelId: channelId,
429
- uid: uid,
392
+ }
393
+ destroyRendererByView(view) {
394
+ Utils_1.AgoraEnv.AgoraRendererManager?.removeRendererFromCache({ view });
395
+ }
396
+ destroyRendererByConfig(sourceType, channelId, uid) {
397
+ Utils_1.AgoraEnv.AgoraRendererManager?.removeRendererFromCache({
398
+ sourceType,
399
+ channelId,
400
+ uid,
430
401
  });
431
- };
432
- RtcEngineExInternal._event_handlers = [];
433
- RtcEngineExInternal._direct_cdn_streaming_event_handler = [];
434
- RtcEngineExInternal._metadata_observer = [];
435
- RtcEngineExInternal._audio_encoded_frame_observers = [];
436
- RtcEngineExInternal._audio_spectrum_observers = [];
437
- return RtcEngineExInternal;
438
- }(IAgoraRtcEngineExImpl_1.IRtcEngineExImpl));
402
+ }
403
+ }
439
404
  exports.RtcEngineExInternal = RtcEngineExInternal;
405
+ RtcEngineExInternal._event_handlers = [];
406
+ RtcEngineExInternal._direct_cdn_streaming_event_handler = [];
407
+ RtcEngineExInternal._metadata_observer = [];
408
+ RtcEngineExInternal._audio_encoded_frame_observers = [];
409
+ RtcEngineExInternal._audio_spectrum_observers = [];