agora-electron-sdk 4.2.6-build.1-dev.1 → 4.2.6-build.1-dev.2

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 (89) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/js/Private/AgoraBase.js +0 -8
  3. package/js/Private/AgoraMediaBase.js +1 -18
  4. package/js/Private/IAgoraRtcEngine.js +10 -1
  5. package/js/Private/impl/IAgoraMediaPlayerImpl.js +0 -18
  6. package/js/Private/impl/IAgoraRtcEngineImpl.js +0 -14
  7. package/js/Private/internal/IrisApiEngine.js +7 -7
  8. package/js/Private/internal/MediaPlayerInternal.js +20 -19
  9. package/js/Private/internal/RtcEngineExInternal.js +77 -91
  10. package/js/Private/ti/IAgoraRtcEngine-ti.js +0 -1
  11. package/js/Renderer/AgoraView.js +28 -14
  12. package/js/Renderer/IRenderer.js +89 -22
  13. package/js/Renderer/IRendererManager.js +225 -0
  14. package/js/Renderer/RendererCache.js +172 -0
  15. package/js/Renderer/RendererManager.js +49 -438
  16. package/js/Renderer/WebGLRenderer/index.js +219 -389
  17. package/js/Renderer/YUVCanvasRenderer/index.js +28 -170
  18. package/js/Types.js +6 -6
  19. package/js/Utils.js +37 -88
  20. package/package.json +4 -3
  21. package/ts/Private/AgoraBase.ts +2 -10
  22. package/ts/Private/AgoraMediaBase.ts +7 -45
  23. package/ts/Private/AgoraMediaPlayerTypes.ts +0 -4
  24. package/ts/Private/IAgoraLog.ts +1 -1
  25. package/ts/Private/IAgoraMediaEngine.ts +1 -1
  26. package/ts/Private/IAgoraMediaPlayer.ts +1 -9
  27. package/ts/Private/IAgoraRtcEngine.ts +26 -35
  28. package/ts/Private/IAgoraRtcEngineEx.ts +3 -3
  29. package/ts/Private/IAudioDeviceManager.ts +1 -1
  30. package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +0 -29
  31. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +0 -20
  32. package/ts/Private/impl/IAudioDeviceManagerImpl.ts +1 -1
  33. package/ts/Private/internal/IrisApiEngine.ts +8 -13
  34. package/ts/Private/internal/MediaPlayerInternal.ts +18 -27
  35. package/ts/Private/internal/RtcEngineExInternal.ts +65 -128
  36. package/ts/Private/ti/IAgoraRtcEngine-ti.ts +0 -1
  37. package/ts/Renderer/AgoraView.ts +29 -19
  38. package/ts/Renderer/IRenderer.ts +96 -34
  39. package/ts/Renderer/IRendererManager.ts +268 -19
  40. package/ts/Renderer/RendererCache.ts +171 -0
  41. package/ts/Renderer/RendererManager.ts +64 -576
  42. package/ts/Renderer/WebGLRenderer/index.ts +387 -505
  43. package/ts/Renderer/YUVCanvasRenderer/index.ts +41 -220
  44. package/ts/Types.ts +17 -185
  45. package/ts/Utils.ts +36 -100
  46. package/types/Private/AgoraBase.d.ts +2 -10
  47. package/types/Private/AgoraBase.d.ts.map +1 -1
  48. package/types/Private/AgoraMediaBase.d.ts +8 -45
  49. package/types/Private/AgoraMediaBase.d.ts.map +1 -1
  50. package/types/Private/AgoraMediaPlayerTypes.d.ts +0 -4
  51. package/types/Private/AgoraMediaPlayerTypes.d.ts.map +1 -1
  52. package/types/Private/IAgoraLog.d.ts +1 -1
  53. package/types/Private/IAgoraMediaEngine.d.ts +1 -1
  54. package/types/Private/IAgoraMediaPlayer.d.ts +1 -5
  55. package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -1
  56. package/types/Private/IAgoraRtcEngine.d.ts +25 -33
  57. package/types/Private/IAgoraRtcEngine.d.ts.map +1 -1
  58. package/types/Private/IAgoraRtcEngineEx.d.ts +3 -3
  59. package/types/Private/IAudioDeviceManager.d.ts +1 -1
  60. package/types/Private/IAudioDeviceManager.d.ts.map +1 -1
  61. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts +0 -2
  62. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +1 -1
  63. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +0 -2
  64. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -1
  65. package/types/Private/impl/IAudioDeviceManagerImpl.d.ts +1 -1
  66. package/types/Private/impl/IAudioDeviceManagerImpl.d.ts.map +1 -1
  67. package/types/Private/internal/IrisApiEngine.d.ts.map +1 -1
  68. package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -1
  69. package/types/Private/internal/RtcEngineExInternal.d.ts +2 -3
  70. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
  71. package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -1
  72. package/types/Renderer/AgoraView.d.ts +4 -4
  73. package/types/Renderer/AgoraView.d.ts.map +1 -1
  74. package/types/Renderer/IRenderer.d.ts +13 -16
  75. package/types/Renderer/IRenderer.d.ts.map +1 -1
  76. package/types/Renderer/IRendererManager.d.ts +50 -12
  77. package/types/Renderer/IRendererManager.d.ts.map +1 -1
  78. package/types/Renderer/RendererCache.d.ts +36 -0
  79. package/types/Renderer/RendererCache.d.ts.map +1 -0
  80. package/types/Renderer/RendererManager.d.ts +14 -132
  81. package/types/Renderer/RendererManager.d.ts.map +1 -1
  82. package/types/Renderer/WebGLRenderer/index.d.ts +22 -44
  83. package/types/Renderer/WebGLRenderer/index.d.ts.map +1 -1
  84. package/types/Renderer/YUVCanvasRenderer/index.d.ts +4 -11
  85. package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -1
  86. package/types/Types.d.ts +11 -178
  87. package/types/Types.d.ts.map +1 -1
  88. package/types/Utils.d.ts +3 -20
  89. package/types/Utils.d.ts.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,11 +1,34 @@
1
1
 
2
2
 
3
- ## [4.2.6-build.1-dev.1](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.4...v4.2.6-build.1-dev.1) (2023-11-16)
3
+ ## [4.2.6-build.1-dev.2](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.6...v4.2.6-build.1-dev.2) (2023-12-06)
4
+
5
+
6
+ ### Features
7
+
8
+ * optimize for renderer ([#1132](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1132)) ([d0098c1](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/d0098c1c9f6d44dbfa6b790cf127b070d2201ac8))
9
+ * support alpha buffer ([a377169](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/a377169f3efd64d8afa8faf68836c674064b4896))
10
+
11
+ ## [4.2.6](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.4...v4.2.6) (2023-11-22)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * jira CSD-60920 render issue after ([#1110](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1110)) ([5730d86](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/5730d86d136539d79f50b1e92ba9ec5049196488))
17
+ * jira CSD-61288 renderer issue ([#1114](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1114)) ([fe50880](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/fe50880466cf763dc5111bbff6cd5bcd2566ca21))
18
+ * use `setTimeout` intead of `setInterval` ([#1097](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1097)) ([9df0579](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/9df057989846e5e7e5fb4a00c6a1208f5728b9d8))
19
+
20
+
21
+ ### Features
22
+
23
+ * suppot native 4.2.6 ([#1104](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1104)) ([e8be60b](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/e8be60bc762db3aac50d025a674664fb9e21c0bd)), closes [#1102](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1102)
24
+
25
+ ## [4.2.6-rc.1](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.4...v4.2.6-rc.1) (2023-11-21)
4
26
 
5
27
 
6
28
  ### Bug Fixes
7
29
 
8
30
  * jira CSD-60920 render issue after ([#1110](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1110)) ([5730d86](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/5730d86d136539d79f50b1e92ba9ec5049196488))
31
+ * jira CSD-61288 CSD-60920 renderer issue ([341491d](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/341491dfac72e1614df5ad32f0b40198d6a046dd))
9
32
  * use `setTimeout` intead of `setInterval` ([#1097](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1097)) ([9df0579](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/9df057989846e5e7e5fb4a00c6a1208f5728b9d8))
10
33
 
11
34
 
@@ -1710,14 +1710,6 @@ var LocalVideoStreamError;
1710
1710
  * 10: (macOS and Windows only) The SDK cannot find the video device in the video device list. Check whether the ID of the video device is valid.
1711
1711
  */
1712
1712
  LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorDeviceInvalidId"] = 10] = "LocalVideoStreamErrorDeviceInvalidId";
1713
- /**
1714
- * @ignore
1715
- */
1716
- LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorDeviceInterrupt"] = 14] = "LocalVideoStreamErrorDeviceInterrupt";
1717
- /**
1718
- * @ignore
1719
- */
1720
- LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorDeviceFatalError"] = 15] = "LocalVideoStreamErrorDeviceFatalError";
1721
1713
  /**
1722
1714
  * 101: The current video capture device is unavailable due to excessive system pressure.
1723
1715
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RecorderInfo = exports.MediaRecorderConfiguration = exports.RecorderErrorCode = exports.RecorderState = exports.MediaRecorderStreamType = exports.MediaRecorderContainerFormat = exports.ExternalVideoSourceType = exports.VideoFrameProcessMode = exports.UserAudioSpectrumInfo = exports.AudioSpectrumData = exports.AudioParams = exports.AudioFramePosition = exports.AudioFrame = exports.AudioFrameType = exports.VideoModulePosition = exports.MediaPlayerSourceType = exports.VideoFrame = exports.ExternalVideoFrame = exports.VideoBufferType = exports.EglContextType = exports.CameraVideoSourceType = exports.RenderModeType = exports.VideoPixelFormat = exports.AudioDualMonoMode = exports.AudioPcmFrame = exports.AudioEncodedFrameInfo = exports.PacketOptions = exports.ContentInspectConfig = exports.ContentInspectModule = exports.ContentInspectType = exports.ContentInspectResult = exports.MediaSourceType = exports.AudioDeviceInfo = exports.RawAudioFrameOpModeType = exports.AudioParameters = exports.BytesPerSample = exports.AudioRoute = exports.VideoSourceType = void 0;
3
+ exports.RecorderInfo = exports.MediaRecorderConfiguration = exports.RecorderErrorCode = exports.RecorderState = exports.MediaRecorderStreamType = exports.MediaRecorderContainerFormat = exports.ExternalVideoSourceType = exports.VideoFrameProcessMode = exports.UserAudioSpectrumInfo = exports.AudioSpectrumData = exports.AudioParams = exports.AudioFramePosition = exports.AudioFrame = exports.AudioFrameType = exports.VideoModulePosition = exports.MediaPlayerSourceType = exports.VideoFrame = exports.ExternalVideoFrame = exports.VideoBufferType = exports.EglContextType = exports.CameraVideoSourceType = exports.RenderModeType = exports.VideoPixelFormat = exports.AudioDualMonoMode = exports.AudioPcmFrame = exports.AudioEncodedFrameInfo = exports.PacketOptions = exports.ContentInspectConfig = exports.ContentInspectModule = exports.ContentInspectType = exports.ContentInspectResult = exports.MediaSourceType = exports.RawAudioFrameOpModeType = exports.AudioParameters = exports.BytesPerSample = exports.AudioRoute = exports.VideoSourceType = void 0;
4
4
  require("./extension/AgoraMediaBaseExtension");
5
5
  /**
6
6
  * The type of the video source.
@@ -129,14 +129,6 @@ var AudioRoute;
129
129
  * 9: The audio route is Apple AirPlay. (For macOS only)
130
130
  */
131
131
  AudioRoute[AudioRoute["RouteAirplay"] = 9] = "RouteAirplay";
132
- /**
133
- * @ignore
134
- */
135
- AudioRoute[AudioRoute["RouteVirtual"] = 10] = "RouteVirtual";
136
- /**
137
- * @ignore
138
- */
139
- AudioRoute[AudioRoute["RouteContinuity"] = 11] = "RouteContinuity";
140
132
  })(AudioRoute = exports.AudioRoute || (exports.AudioRoute = {}));
141
133
  /**
142
134
  * @ignore
@@ -171,15 +163,6 @@ var RawAudioFrameOpModeType;
171
163
  */
172
164
  RawAudioFrameOpModeType[RawAudioFrameOpModeType["RawAudioFrameOpModeReadWrite"] = 2] = "RawAudioFrameOpModeReadWrite";
173
165
  })(RawAudioFrameOpModeType = exports.RawAudioFrameOpModeType || (exports.RawAudioFrameOpModeType = {}));
174
- /**
175
- * The AudioDeviceInfo class that contains the ID and device name of the audio devices.
176
- */
177
- var AudioDeviceInfo = /** @class */ (function () {
178
- function AudioDeviceInfo() {
179
- }
180
- return AudioDeviceInfo;
181
- }());
182
- exports.AudioDeviceInfo = AudioDeviceInfo;
183
166
  /**
184
167
  * Media source type.
185
168
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VideoDeviceInfo = exports.SDKBuildInfo = exports.VideoProfileType = exports.MediaDeviceStateType = exports.QualityReportFormatType = exports.IRtcEngine = exports.ExtensionInfo = exports.DirectCdnStreamingMediaOptions = exports.DirectCdnStreamingStats = exports.DirectCdnStreamingState = exports.DirectCdnStreamingError = exports.Metadata = exports.MaxMetadataSizeType = exports.MetadataType = exports.RtcEngineContext = exports.IVideoDeviceManager = exports.LeaveChannelOptions = exports.FeatureType = exports.ProxyType = exports.ChannelMediaOptions = exports.ImageTrackOptions = exports.AdvancedAudioOptions = exports.ScreenCaptureSourceInfo = exports.ScreenCaptureSourceType = exports.ThumbImageBuffer = exports.Size = exports.ScreenCaptureConfiguration = exports.CameraCapturerConfiguration = exports.CloudProxyType = exports.CameraDirection = exports.PublisherConfiguration = exports.RtmpStreamLifeCycleType = exports.InjectStreamConfig = exports.VideoCompositingLayout = exports.Region = exports.RemoteVideoStats = exports.RemoteAudioStats = exports.LocalVideoStats = exports.PriorityType = exports.StreamFallbackOptions = exports.AudioReverbType = exports.AudioEqualizationBandFrequency = exports.InjectStreamStatus = exports.AudioMixingReasonType = exports.AudioMixingStateType = exports.MediaDeviceType = void 0;
3
+ exports.AudioDeviceInfo = exports.VideoDeviceInfo = exports.SDKBuildInfo = exports.VideoProfileType = exports.MediaDeviceStateType = exports.QualityReportFormatType = exports.IRtcEngine = exports.ExtensionInfo = exports.DirectCdnStreamingMediaOptions = exports.DirectCdnStreamingStats = exports.DirectCdnStreamingState = exports.DirectCdnStreamingError = exports.Metadata = exports.MaxMetadataSizeType = exports.MetadataType = exports.RtcEngineContext = exports.IVideoDeviceManager = exports.LeaveChannelOptions = exports.FeatureType = exports.ProxyType = exports.ChannelMediaOptions = exports.ImageTrackOptions = exports.AdvancedAudioOptions = exports.ScreenCaptureSourceInfo = exports.ScreenCaptureSourceType = exports.ThumbImageBuffer = exports.Size = exports.ScreenCaptureConfiguration = exports.CameraCapturerConfiguration = exports.CloudProxyType = exports.CameraDirection = exports.PublisherConfiguration = exports.RtmpStreamLifeCycleType = exports.InjectStreamConfig = exports.VideoCompositingLayout = exports.Region = exports.RemoteVideoStats = exports.RemoteAudioStats = exports.LocalVideoStats = exports.PriorityType = exports.StreamFallbackOptions = exports.AudioReverbType = exports.AudioEqualizationBandFrequency = exports.InjectStreamStatus = exports.AudioMixingReasonType = exports.AudioMixingStateType = exports.MediaDeviceType = void 0;
4
4
  require("./extension/IAgoraRtcEngineExtension");
5
5
  /**
6
6
  * Media device types.
@@ -1017,3 +1017,12 @@ var VideoDeviceInfo = /** @class */ (function () {
1017
1017
  return VideoDeviceInfo;
1018
1018
  }());
1019
1019
  exports.VideoDeviceInfo = VideoDeviceInfo;
1020
+ /**
1021
+ * The AudioDeviceInfo class that contains the ID and device name of the audio devices.
1022
+ */
1023
+ var AudioDeviceInfo = /** @class */ (function () {
1024
+ function AudioDeviceInfo() {
1025
+ }
1026
+ return AudioDeviceInfo;
1027
+ }());
1028
+ exports.AudioDeviceInfo = AudioDeviceInfo;
@@ -212,24 +212,6 @@ var IMediaPlayerImpl = /** @class */ (function () {
212
212
  IMediaPlayerImpl.prototype.getApiTypeFromSelectAudioTrack = function (index) {
213
213
  return 'MediaPlayer_selectAudioTrack';
214
214
  };
215
- IMediaPlayerImpl.prototype.selectMultiAudioTrack = function (playoutTrackIndex, publishTrackIndex) {
216
- var apiType = this.getApiTypeFromSelectMultiAudioTrack(playoutTrackIndex, publishTrackIndex);
217
- var jsonParams = {
218
- playoutTrackIndex: playoutTrackIndex,
219
- publishTrackIndex: publishTrackIndex,
220
- toJSON: function () {
221
- return {
222
- playoutTrackIndex: playoutTrackIndex,
223
- publishTrackIndex: publishTrackIndex,
224
- };
225
- },
226
- };
227
- var jsonResults = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams);
228
- return jsonResults.result;
229
- };
230
- IMediaPlayerImpl.prototype.getApiTypeFromSelectMultiAudioTrack = function (playoutTrackIndex, publishTrackIndex) {
231
- return 'MediaPlayer_selectMultiAudioTrack';
232
- };
233
215
  IMediaPlayerImpl.prototype.setPlayerOptionInInt = function (key, value) {
234
216
  var apiType = this.getApiTypeFromSetPlayerOptionInInt(key, value);
235
217
  var jsonParams = {
@@ -340,11 +340,6 @@ function processIRtcEngineEventHandler(handler, event, jsonParams) {
340
340
  handler.onAudioRoutingChanged(jsonParams.routing);
341
341
  }
342
342
  break;
343
- case 'onAudioRoutingChanged':
344
- if (handler.onAudioRoutingChanged !== undefined) {
345
- handler.onAudioRoutingChanged(jsonParams.deviceType, jsonParams.routing);
346
- }
347
- break;
348
343
  case 'onChannelMediaRelayStateChanged':
349
344
  if (handler.onChannelMediaRelayStateChanged !== undefined) {
350
345
  handler.onChannelMediaRelayStateChanged(jsonParams.state, jsonParams.code);
@@ -689,15 +684,6 @@ var IRtcEngineImpl = /** @class */ (function () {
689
684
  IRtcEngineImpl.prototype.getApiTypeFromQueryCodecCapability = function () {
690
685
  return 'RtcEngine_queryCodecCapability';
691
686
  };
692
- IRtcEngineImpl.prototype.queryDeviceScore = function () {
693
- var apiType = this.getApiTypeFromQueryDeviceScore();
694
- var jsonParams = {};
695
- var jsonResults = IrisApiEngine_1.callIrisApi.call(this, apiType, jsonParams);
696
- return jsonResults.result;
697
- };
698
- IRtcEngineImpl.prototype.getApiTypeFromQueryDeviceScore = function () {
699
- return 'RtcEngine_queryDeviceScore';
700
- };
701
687
  IRtcEngineImpl.prototype.preloadChannel = function (token, channelId, uid) {
702
688
  var apiType = this.getApiTypeFromPreloadChannel(token, channelId, uid);
703
689
  var jsonParams = {
@@ -262,7 +262,7 @@ function handleEvent() {
262
262
  }
263
263
  var event = _b[0], data = _b[1], buffers = _b[2];
264
264
  if (isDebuggable()) {
265
- console.info('onEvent', event, data, buffers);
265
+ (0, Utils_1.logInfo)('onEvent', event, data, buffers);
266
266
  }
267
267
  var _event = event;
268
268
  var processor = Object.values(exports.EVENT_PROCESSORS).find(function (it) {
@@ -395,30 +395,30 @@ function callIrisApi(funcName, params) {
395
395
  var retObj = json_bigint_1.default.parse(ret);
396
396
  if (isDebuggable()) {
397
397
  if (typeof retObj.result === 'number' && retObj.result < 0) {
398
- console.error('callApi', funcName, json_bigint_1.default.stringify(params), ret);
398
+ (0, Utils_1.logError)('callApi', funcName, json_bigint_1.default.stringify(params), ret);
399
399
  }
400
400
  else {
401
- console.debug('callApi', funcName, json_bigint_1.default.stringify(params), ret);
401
+ (0, Utils_1.logDebug)('callApi', funcName, json_bigint_1.default.stringify(params), ret);
402
402
  }
403
403
  }
404
404
  return retObj;
405
405
  }
406
406
  else {
407
407
  if (isDebuggable()) {
408
- console.error('callApi', funcName, json_bigint_1.default.stringify(params), callApiReturnCode);
408
+ (0, Utils_1.logError)('callApi', funcName, json_bigint_1.default.stringify(params), callApiReturnCode);
409
409
  }
410
410
  else {
411
- console.warn('callApi', funcName, json_bigint_1.default.stringify(params), callApiReturnCode);
411
+ (0, Utils_1.logWarn)('callApi', funcName, json_bigint_1.default.stringify(params), callApiReturnCode);
412
412
  }
413
413
  return { result: callApiReturnCode };
414
414
  }
415
415
  }
416
416
  catch (e) {
417
417
  if (isDebuggable()) {
418
- console.error('callApi', funcName, json_bigint_1.default.stringify(params), e);
418
+ (0, Utils_1.logError)('callApi', funcName, json_bigint_1.default.stringify(params), e);
419
419
  }
420
420
  else {
421
- console.warn('callApi', funcName, json_bigint_1.default.stringify(params), e);
421
+ (0, Utils_1.logWarn)('callApi', funcName, json_bigint_1.default.stringify(params), e);
422
422
  }
423
423
  }
424
424
  return {};
@@ -71,7 +71,7 @@ var MediaPlayerInternal = /** @class */ (function (_super) {
71
71
  _d[eventType] = undefined,
72
72
  _d))) {
73
73
  if (((_m = MediaPlayerInternal._audio_spectrum_observers.get(this._mediaPlayerId)) === null || _m === void 0 ? void 0 : _m.length) === 0) {
74
- console.error('Please call `registerMediaPlayerAudioSpectrumObserver` before you want to receive event by `addListener`');
74
+ (0, Utils_1.logError)('Please call `registerMediaPlayerAudioSpectrumObserver` before you want to receive event by `addListener`');
75
75
  return false;
76
76
  }
77
77
  }
@@ -188,27 +188,28 @@ var MediaPlayerInternal = /** @class */ (function (_super) {
188
188
  return 'MediaPlayer_setPlayerOption2';
189
189
  };
190
190
  MediaPlayerInternal.prototype.setView = function (view) {
191
- var _a, _b;
192
- (0, Utils_1.logWarn)('Also can use other api setupLocalVideo');
193
- return ((_b = (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setupVideo({
194
- videoSourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceMediaPlayer,
195
- uid: this._mediaPlayerId,
191
+ if (!Utils_1.AgoraEnv.AgoraRendererManager)
192
+ return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
193
+ var renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer({
194
+ sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceMediaPlayer,
195
+ mediaPlayerId: this._mediaPlayerId,
196
196
  view: view,
197
- })) !== null && _b !== void 0 ? _b : -AgoraBase_1.ErrorCodeType.ErrNotInitialized);
197
+ });
198
+ if (!renderer)
199
+ return -AgoraBase_1.ErrorCodeType.ErrFailed;
200
+ return AgoraBase_1.ErrorCodeType.ErrOk;
198
201
  };
199
202
  MediaPlayerInternal.prototype.setRenderMode = function (renderMode) {
200
- var _a, _b;
201
- (0, Utils_1.logWarn)('Also can use other api setRenderOption or setRenderOptionByConfig');
202
- return ((_b = (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setRenderOptionByConfig({
203
- videoSourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceMediaPlayer,
204
- uid: this._mediaPlayerId,
205
- rendererOptions: {
206
- contentMode: renderMode === AgoraMediaBase_1.RenderModeType.RenderModeFit
207
- ? AgoraMediaBase_1.RenderModeType.RenderModeFit
208
- : AgoraMediaBase_1.RenderModeType.RenderModeHidden,
209
- mirror: true,
210
- },
211
- })) !== null && _b !== void 0 ? _b : -AgoraBase_1.ErrorCodeType.ErrNotInitialized);
203
+ if (!Utils_1.AgoraEnv.AgoraRendererManager)
204
+ return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
205
+ var renderer = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
206
+ sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceMediaPlayer,
207
+ mediaPlayerId: this._mediaPlayerId,
208
+ renderMode: renderMode,
209
+ });
210
+ if (!renderer)
211
+ return -AgoraBase_1.ErrorCodeType.ErrFailed;
212
+ return AgoraBase_1.ErrorCodeType.ErrOk;
212
213
  };
213
214
  MediaPlayerInternal._source_observers = new Map();
214
215
  MediaPlayerInternal._audio_frame_observers = new Map();
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
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
+ };
17
28
  var __importDefault = (this && this.__importDefault) || function (mod) {
18
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
30
  };
@@ -48,7 +59,6 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
48
59
  return _this;
49
60
  }
50
61
  RtcEngineExInternal.prototype.initialize = function (context) {
51
- var _a;
52
62
  if (Utils_1.AgoraEnv.webEnvReady) {
53
63
  // @ts-ignore
54
64
  window.AgoraEnv = Utils_1.AgoraEnv;
@@ -57,7 +67,6 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
57
67
  Utils_1.AgoraEnv.AgoraRendererManager = new RendererManager();
58
68
  }
59
69
  }
60
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.enableRender();
61
70
  var ret = _super.prototype.initialize.call(this, context);
62
71
  IrisApiEngine_1.callIrisApi.call(this, 'RtcEngine_setAppType', {
63
72
  appType: 3,
@@ -68,7 +77,7 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
68
77
  var _a;
69
78
  if (sync === void 0) { sync = false; }
70
79
  Utils_1.AgoraEnv.AgoraElectronBridge.ReleaseRenderer();
71
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.clear();
80
+ (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.release();
72
81
  Utils_1.AgoraEnv.AgoraRendererManager = undefined;
73
82
  this._audio_device_manager.release();
74
83
  this._video_device_manager.release();
@@ -99,7 +108,7 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
99
108
  _b[eventType] = undefined,
100
109
  _b))) {
101
110
  if (RtcEngineExInternal._direct_cdn_streaming_event_handler.length === 0) {
102
- console.error('Please call `startDirectCdnStreaming` before you want to receive event by `addListener`');
111
+ (0, Utils_1.logError)('Please call `startDirectCdnStreaming` before you want to receive event by `addListener`');
103
112
  return false;
104
113
  }
105
114
  }
@@ -107,7 +116,7 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
107
116
  _c[eventType] = undefined,
108
117
  _c))) {
109
118
  if (RtcEngineExInternal._metadata_observer.length === 0) {
110
- console.error('Please call `registerMediaMetadataObserver` before you want to receive event by `addListener`');
119
+ (0, Utils_1.logError)('Please call `registerMediaMetadataObserver` before you want to receive event by `addListener`');
111
120
  return false;
112
121
  }
113
122
  }
@@ -115,7 +124,7 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
115
124
  _d[eventType] = undefined,
116
125
  _d))) {
117
126
  if (RtcEngineExInternal._audio_encoded_frame_observers.length === 0) {
118
- console.error('Please call `registerAudioEncodedFrameObserver` before you want to receive event by `addListener`');
127
+ (0, Utils_1.logError)('Please call `registerAudioEncodedFrameObserver` before you want to receive event by `addListener`');
119
128
  return false;
120
129
  }
121
130
  }
@@ -213,7 +222,7 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
213
222
  };
214
223
  RtcEngineExInternal.prototype.getApiTypeFromJoinChannel = function (token, channelId, uid, options) {
215
224
  if (Utils_1.AgoraEnv.AgoraRendererManager) {
216
- Utils_1.AgoraEnv.AgoraRendererManager.defaultRenderConfig.channelId = channelId;
225
+ Utils_1.AgoraEnv.AgoraRendererManager.defaultChannelId = channelId;
217
226
  }
218
227
  return 'RtcEngine_joinChannel2';
219
228
  };
@@ -266,7 +275,7 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
266
275
  };
267
276
  RtcEngineExInternal.prototype.getApiTypeFromJoinChannelWithUserAccount = function (token, channelId, userAccount, options) {
268
277
  if (Utils_1.AgoraEnv.AgoraRendererManager) {
269
- Utils_1.AgoraEnv.AgoraRendererManager.defaultRenderConfig.channelId = channelId;
278
+ Utils_1.AgoraEnv.AgoraRendererManager.defaultChannelId = channelId;
270
279
  }
271
280
  return options === undefined
272
281
  ? 'RtcEngine_joinChannelWithUserAccount'
@@ -358,108 +367,85 @@ var RtcEngineExInternal = /** @class */ (function (_super) {
358
367
  return screenCaptureSources;
359
368
  };
360
369
  RtcEngineExInternal.prototype.setupLocalVideo = function (canvas) {
361
- var _a, _b;
362
- var _c = canvas.sourceType, sourceType = _c === void 0 ? AgoraMediaBase_1.VideoSourceType.VideoSourceCamera : _c, uid = canvas.uid, mediaPlayerId = canvas.mediaPlayerId, view = canvas.view, renderMode = canvas.renderMode, mirrorMode = canvas.mirrorMode;
363
- if (sourceType === AgoraMediaBase_1.VideoSourceType.VideoSourceMediaPlayer &&
364
- mediaPlayerId !== undefined) {
365
- uid = mediaPlayerId;
366
- }
367
- return ((_b = (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setupLocalVideo({
368
- videoSourceType: sourceType,
369
- channelId: '',
370
- uid: uid,
371
- view: view,
372
- rendererOptions: {
373
- contentMode: renderMode,
374
- mirror: mirrorMode === AgoraBase_1.VideoMirrorModeType.VideoMirrorModeEnabled,
375
- },
376
- })) !== null && _b !== void 0 ? _b : -AgoraBase_1.ErrorCodeType.ErrNotInitialized);
370
+ if (!Utils_1.AgoraEnv.AgoraRendererManager)
371
+ return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
372
+ var renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer(canvas);
373
+ if (!renderer)
374
+ return -AgoraBase_1.ErrorCodeType.ErrFailed;
375
+ return AgoraBase_1.ErrorCodeType.ErrOk;
377
376
  };
378
377
  RtcEngineExInternal.prototype.setupRemoteVideo = function (canvas) {
379
- var _a, _b, _c, _d;
380
- var _e = canvas.sourceType, sourceType = _e === void 0 ? AgoraMediaBase_1.VideoSourceType.VideoSourceRemote : _e, uid = canvas.uid, view = canvas.view, renderMode = canvas.renderMode, mirrorMode = canvas.mirrorMode;
381
- return ((_d = (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setupRemoteVideo({
382
- videoSourceType: sourceType,
383
- channelId: (_c = (_b = Utils_1.AgoraEnv.AgoraRendererManager) === null || _b === void 0 ? void 0 : _b.defaultRenderConfig) === null || _c === void 0 ? void 0 : _c.channelId,
384
- uid: uid,
385
- view: view,
386
- rendererOptions: {
387
- contentMode: renderMode,
388
- mirror: mirrorMode === AgoraBase_1.VideoMirrorModeType.VideoMirrorModeEnabled,
389
- },
390
- })) !== null && _d !== void 0 ? _d : -AgoraBase_1.ErrorCodeType.ErrNotInitialized);
378
+ if (!Utils_1.AgoraEnv.AgoraRendererManager)
379
+ return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
380
+ var renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer(canvas);
381
+ if (!renderer)
382
+ return -AgoraBase_1.ErrorCodeType.ErrFailed;
383
+ return AgoraBase_1.ErrorCodeType.ErrOk;
391
384
  };
392
385
  RtcEngineExInternal.prototype.setupRemoteVideoEx = function (canvas, connection) {
393
- var _a, _b;
394
- var _c = canvas.sourceType, sourceType = _c === void 0 ? AgoraMediaBase_1.VideoSourceType.VideoSourceRemote : _c, uid = canvas.uid, view = canvas.view, renderMode = canvas.renderMode, mirrorMode = canvas.mirrorMode;
395
- var channelId = connection.channelId;
396
- return ((_b = (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setupRemoteVideo({
397
- videoSourceType: sourceType,
398
- channelId: channelId,
399
- uid: uid,
400
- view: view,
401
- rendererOptions: {
402
- contentMode: renderMode,
403
- mirror: mirrorMode === AgoraBase_1.VideoMirrorModeType.VideoMirrorModeEnabled,
404
- },
405
- })) !== null && _b !== void 0 ? _b : -AgoraBase_1.ErrorCodeType.ErrNotInitialized);
386
+ if (!Utils_1.AgoraEnv.AgoraRendererManager)
387
+ return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
388
+ var renderer = Utils_1.AgoraEnv.AgoraRendererManager.addOrRemoveRenderer(__assign(__assign({}, canvas), connection));
389
+ if (!renderer)
390
+ return -AgoraBase_1.ErrorCodeType.ErrFailed;
391
+ return AgoraBase_1.ErrorCodeType.ErrOk;
406
392
  };
407
393
  RtcEngineExInternal.prototype.setLocalRenderMode = function (renderMode, mirrorMode) {
408
- var _a, _b;
409
394
  if (mirrorMode === void 0) { mirrorMode = AgoraBase_1.VideoMirrorModeType.VideoMirrorModeAuto; }
410
- return ((_b = (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setRenderOptionByConfig({
411
- videoSourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceCamera,
412
- channelId: '',
413
- uid: 0,
414
- rendererOptions: {
415
- contentMode: renderMode,
416
- mirror: mirrorMode === AgoraBase_1.VideoMirrorModeType.VideoMirrorModeEnabled,
417
- },
418
- })) !== null && _b !== void 0 ? _b : -AgoraBase_1.ErrorCodeType.ErrNotInitialized);
395
+ if (!Utils_1.AgoraEnv.AgoraRendererManager)
396
+ return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
397
+ var result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
398
+ sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceCamera,
399
+ renderMode: renderMode,
400
+ mirrorMode: mirrorMode,
401
+ });
402
+ if (!result)
403
+ return -AgoraBase_1.ErrorCodeType.ErrFailed;
404
+ return AgoraBase_1.ErrorCodeType.ErrOk;
419
405
  };
420
406
  RtcEngineExInternal.prototype.setRemoteRenderMode = function (uid, renderMode, mirrorMode) {
421
- var _a, _b, _c;
422
- return ((_c = (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setRenderOptionByConfig({
423
- videoSourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceRemote,
424
- channelId: (_b = Utils_1.AgoraEnv.AgoraRendererManager) === null || _b === void 0 ? void 0 : _b.defaultRenderConfig.channelId,
407
+ if (!Utils_1.AgoraEnv.AgoraRendererManager)
408
+ return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
409
+ var result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
410
+ sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceRemote,
425
411
  uid: uid,
426
- rendererOptions: {
427
- contentMode: renderMode,
428
- mirror: mirrorMode === AgoraBase_1.VideoMirrorModeType.VideoMirrorModeEnabled,
429
- },
430
- })) !== null && _c !== void 0 ? _c : -AgoraBase_1.ErrorCodeType.ErrNotInitialized);
412
+ renderMode: renderMode,
413
+ mirrorMode: mirrorMode,
414
+ });
415
+ if (!result)
416
+ return -AgoraBase_1.ErrorCodeType.ErrFailed;
417
+ return AgoraBase_1.ErrorCodeType.ErrOk;
431
418
  };
432
419
  RtcEngineExInternal.prototype.setRemoteRenderModeEx = function (uid, renderMode, mirrorMode, connection) {
433
- var _a, _b;
434
- var channelId = connection.channelId;
435
- return ((_b = (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setRenderOptionByConfig({
436
- videoSourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceRemote,
437
- channelId: channelId,
438
- uid: uid,
439
- rendererOptions: {
440
- contentMode: renderMode,
441
- mirror: mirrorMode === AgoraBase_1.VideoMirrorModeType.VideoMirrorModeEnabled,
442
- },
443
- })) !== null && _b !== void 0 ? _b : -AgoraBase_1.ErrorCodeType.ErrNotInitialized);
420
+ if (!Utils_1.AgoraEnv.AgoraRendererManager)
421
+ return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
422
+ var result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext(__assign(__assign({ sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceRemote }, connection), { uid: uid, renderMode: renderMode, mirrorMode: mirrorMode }));
423
+ if (!result)
424
+ return -AgoraBase_1.ErrorCodeType.ErrFailed;
425
+ return AgoraBase_1.ErrorCodeType.ErrOk;
444
426
  };
445
427
  RtcEngineExInternal.prototype.setLocalVideoMirrorMode = function (mirrorMode) {
446
- var _a, _b;
447
- return ((_b = (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setRenderOptionByConfig({
448
- videoSourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceCamera,
449
- channelId: '',
450
- uid: 0,
451
- rendererOptions: {
452
- mirror: mirrorMode === AgoraBase_1.VideoMirrorModeType.VideoMirrorModeEnabled,
453
- },
454
- })) !== null && _b !== void 0 ? _b : -AgoraBase_1.ErrorCodeType.ErrNotInitialized);
428
+ if (!Utils_1.AgoraEnv.AgoraRendererManager)
429
+ return -AgoraBase_1.ErrorCodeType.ErrNotInitialized;
430
+ var result = Utils_1.AgoraEnv.AgoraRendererManager.setRendererContext({
431
+ sourceType: AgoraMediaBase_1.VideoSourceType.VideoSourceCamera,
432
+ mirrorMode: mirrorMode,
433
+ });
434
+ if (!result)
435
+ return -AgoraBase_1.ErrorCodeType.ErrFailed;
436
+ return AgoraBase_1.ErrorCodeType.ErrOk;
455
437
  };
456
438
  RtcEngineExInternal.prototype.destroyRendererByView = function (view) {
457
439
  var _a;
458
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.destroyRendererByView(view);
440
+ (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.removeRendererFromCache({ view: view });
459
441
  };
460
- RtcEngineExInternal.prototype.destroyRendererByConfig = function (videoSourceType, channelId, uid) {
442
+ RtcEngineExInternal.prototype.destroyRendererByConfig = function (sourceType, channelId, uid) {
461
443
  var _a;
462
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.destroyRenderersByConfig(videoSourceType, channelId, uid);
444
+ (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.removeRendererFromCache({
445
+ sourceType: sourceType,
446
+ channelId: channelId,
447
+ uid: uid,
448
+ });
463
449
  };
464
450
  RtcEngineExInternal._event_handlers = [];
465
451
  RtcEngineExInternal._direct_cdn_streaming_event_handler = [];
@@ -97,7 +97,6 @@ exports.IRtcEngineEventHandler = t.iface([], {
97
97
  "onRtmpStreamingEvent": t.opt(t.func("void", t.param("url", "string"), t.param("eventCode", "RtmpStreamingEvent"))),
98
98
  "onTranscodingUpdated": t.opt(t.func("void")),
99
99
  "onAudioRoutingChanged": t.opt(t.func("void", t.param("routing", "number"))),
100
- "onAudioRoutingChanged": t.opt(t.func("void", t.param("deviceType", "number"), t.param("routing", "number"))),
101
100
  "onChannelMediaRelayStateChanged": t.opt(t.func("void", t.param("state", "ChannelMediaRelayState"), t.param("code", "ChannelMediaRelayError"))),
102
101
  "onChannelMediaRelayEvent": t.opt(t.func("void", t.param("code", "ChannelMediaRelayEvent"))),
103
102
  "onLocalPublishFallbackToAudioOnly": t.opt(t.func("void", t.param("isFallbackOrRecover", "boolean"))),
@@ -15,6 +15,7 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ var AgoraBase_1 = require("../Private/AgoraBase");
18
19
  var AgoraMediaBase_1 = require("../Private/AgoraMediaBase");
19
20
  var Utils_1 = require("../Utils");
20
21
  var VIDEO_SOURCE_TYPE_STRING = 'video-source-type';
@@ -35,22 +36,29 @@ var AgoraView = /** @class */ (function (_super) {
35
36
  var _this = _super.call(this) || this;
36
37
  _this.isConnectedCallback = false;
37
38
  _this.initializeRender = function () {
38
- var _a, _b;
39
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.destroyRendererByView(_this);
40
- (_b = Utils_1.AgoraEnv.AgoraRendererManager) === null || _b === void 0 ? void 0 : _b.setupVideo({
41
- videoSourceType: _this.videoSourceType,
39
+ var _a;
40
+ var _b = _this, channelId = _b.channelId, uid = _b.uid, sourceType = _b.sourceType, renderMode = _b.renderMode, renderMirror = _b.renderMirror;
41
+ (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.addOrRemoveRenderer({
42
+ sourceType: sourceType,
42
43
  view: _this,
43
- uid: _this.uid,
44
- channelId: _this.channelId,
45
- rendererOptions: {
46
- mirror: _this.renderMirror,
47
- contentMode: _this.renderContentMode,
48
- },
44
+ uid: uid,
45
+ channelId: channelId,
46
+ renderMode: renderMode,
47
+ mirrorMode: renderMirror
48
+ ? AgoraBase_1.VideoMirrorModeType.VideoMirrorModeEnabled
49
+ : AgoraBase_1.VideoMirrorModeType.VideoMirrorModeDisabled,
50
+ setupMode: AgoraBase_1.VideoViewSetupMode.VideoViewSetupReplace,
49
51
  });
50
52
  };
51
53
  _this.destroyRender = function () {
52
54
  var _a;
53
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.destroyRendererByView(_this);
55
+ var _b = _this, channelId = _b.channelId, uid = _b.uid, sourceType = _b.sourceType;
56
+ (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.removeRendererFromCache({
57
+ channelId: channelId,
58
+ uid: uid,
59
+ sourceType: sourceType,
60
+ view: _this,
61
+ });
54
62
  };
55
63
  return _this;
56
64
  }
@@ -61,7 +69,7 @@ var AgoraView = /** @class */ (function (_super) {
61
69
  enumerable: false,
62
70
  configurable: true
63
71
  });
64
- Object.defineProperty(AgoraView.prototype, "videoSourceType", {
72
+ Object.defineProperty(AgoraView.prototype, "sourceType", {
65
73
  get: function () {
66
74
  var number = Number(this.getAttribute(VIDEO_SOURCE_TYPE_STRING));
67
75
  return isNaN(number) ? 0 : number;
@@ -108,7 +116,7 @@ var AgoraView = /** @class */ (function (_super) {
108
116
  enumerable: false,
109
117
  configurable: true
110
118
  });
111
- Object.defineProperty(AgoraView.prototype, "renderContentMode", {
119
+ Object.defineProperty(AgoraView.prototype, "renderMode", {
112
120
  get: function () {
113
121
  var number = Number(this.getAttribute(RENDERER_CONTENT_MODE_STRING) ||
114
122
  AgoraMediaBase_1.RenderModeType.RenderModeFit);
@@ -154,7 +162,13 @@ var AgoraView = /** @class */ (function (_super) {
154
162
  RENDERER_MIRROR_STRING,
155
163
  ].includes(attrName);
156
164
  if (isSetRenderOption) {
157
- (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setRenderOption(this, this.renderContentMode, this.renderMirror);
165
+ (_a = Utils_1.AgoraEnv.AgoraRendererManager) === null || _a === void 0 ? void 0 : _a.setRendererContext({
166
+ view: this,
167
+ renderMode: this.renderMode,
168
+ mirrorMode: this.renderMirror
169
+ ? AgoraBase_1.VideoMirrorModeType.VideoMirrorModeEnabled
170
+ : AgoraBase_1.VideoMirrorModeType.VideoMirrorModeDisabled,
171
+ });
158
172
  return;
159
173
  }
160
174
  var isNeedReInitialize = observedAttributes.includes(attrName);