agora-electron-sdk 4.5.3-dev.3 → 4.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/js/Private/internal/AgoraH265TranscoderInternal.js +3 -5
- package/js/Private/internal/IrisApiEngine.js +71 -14
- package/js/Private/internal/MediaEngineInternal.js +3 -5
- package/js/Private/internal/MediaPlayerInternal.js +3 -5
- package/js/Private/internal/MediaRecorderInternal.js +5 -6
- package/js/Private/internal/MusicContentCenterInternal.js +3 -5
- package/js/Private/internal/RtcEngineExInternal.js +45 -22
- package/js/Renderer/RendererCache.js +3 -18
- package/package.json +5 -5
- package/ts/Private/internal/AgoraH265TranscoderInternal.ts +8 -6
- package/ts/Private/internal/IrisApiEngine.ts +104 -14
- package/ts/Private/internal/MediaEngineInternal.ts +8 -6
- package/ts/Private/internal/MediaPlayerInternal.ts +8 -6
- package/ts/Private/internal/MediaRecorderInternal.ts +10 -7
- package/ts/Private/internal/MusicContentCenterInternal.ts +8 -6
- package/ts/Private/internal/RtcEngineExInternal.ts +57 -26
- package/ts/Renderer/RendererCache.ts +3 -22
- package/types/Private/internal/AgoraH265TranscoderInternal.d.ts.map +1 -1
- package/types/Private/internal/IrisApiEngine.d.ts +4 -0
- package/types/Private/internal/IrisApiEngine.d.ts.map +1 -1
- package/types/Private/internal/MediaEngineInternal.d.ts.map +1 -1
- package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -1
- package/types/Private/internal/MediaRecorderInternal.d.ts.map +1 -1
- package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -1
- package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -1
- package/types/Renderer/RendererCache.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## [4.5.3](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.5.3-dev.3...v4.5.3) (2026-04-28)
|
|
4
|
+
|
|
3
5
|
## [4.5.3-dev.3](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.5.3-dev.2...v4.5.3-dev.3) (2026-04-03)
|
|
4
6
|
|
|
5
7
|
## [4.5.3-dev.2](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.5.3-dev.1...v4.5.3-dev.2) (2026-04-03)
|
|
@@ -36,15 +36,13 @@ class H265TranscoderInternal extends IAgoraH265TranscoderImpl_1.IH265TranscoderI
|
|
|
36
36
|
};
|
|
37
37
|
// @ts-ignore
|
|
38
38
|
listener.agoraCallback = callback;
|
|
39
|
-
IrisApiEngine_1.
|
|
39
|
+
(0, IrisApiEngine_1.addScopedEventListener)(this, eventType, listener, callback);
|
|
40
40
|
}
|
|
41
41
|
removeListener(eventType, listener) {
|
|
42
|
-
IrisApiEngine_1.
|
|
43
|
-
// @ts-ignore
|
|
44
|
-
listener?.agoraCallback ?? listener);
|
|
42
|
+
(0, IrisApiEngine_1.removeScopedEventListener)(this, eventType, listener);
|
|
45
43
|
}
|
|
46
44
|
removeAllListeners(eventType) {
|
|
47
|
-
IrisApiEngine_1.
|
|
45
|
+
(0, IrisApiEngine_1.removeAllScopedEventListeners)(this, eventType);
|
|
48
46
|
}
|
|
49
47
|
registerTranscoderObserver(observer) {
|
|
50
48
|
if (!H265TranscoderInternal._h265_transcoder_observers.find((value) => value === observer)) {
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.emitEvent = exports.callIrisApi = exports.EVENT_PROCESSORS = exports.EVENT_TYPE = exports.isDebuggable = exports.setDebuggable = exports.AgoraElectronBridge = exports.DeviceEventEmitter = void 0;
|
|
6
|
+
exports.emitEvent = exports.callIrisApi = exports.EVENT_PROCESSORS = exports.EVENT_TYPE = exports.isDebuggable = exports.setDebuggable = exports.AgoraElectronBridge = exports.removeAllScopedEventListeners = exports.removeScopedEventListener = exports.addScopedEventListener = exports.DeviceEventEmitter = void 0;
|
|
7
7
|
const eventemitter3_1 = __importDefault(require("eventemitter3"));
|
|
8
8
|
const json_bigint_1 = __importDefault(require("json-bigint"));
|
|
9
9
|
const JSON = (0, json_bigint_1.default)({ storeAsString: true });
|
|
@@ -26,6 +26,76 @@ const MusicContentCenterInternal_1 = require("./MusicContentCenterInternal");
|
|
|
26
26
|
const RtcEngineExInternal_1 = require("./RtcEngineExInternal");
|
|
27
27
|
// @ts-ignore
|
|
28
28
|
exports.DeviceEventEmitter = new eventemitter3_1.default();
|
|
29
|
+
const ScopedDeviceEventListeners = new WeakMap();
|
|
30
|
+
function getScopedListenerMap(owner) {
|
|
31
|
+
let scopedListeners = ScopedDeviceEventListeners.get(owner);
|
|
32
|
+
if (scopedListeners === undefined) {
|
|
33
|
+
scopedListeners = new Map();
|
|
34
|
+
ScopedDeviceEventListeners.set(owner, scopedListeners);
|
|
35
|
+
}
|
|
36
|
+
return scopedListeners;
|
|
37
|
+
}
|
|
38
|
+
function cleanupScopedListenerMap(owner, scopedListeners) {
|
|
39
|
+
if (scopedListeners.size === 0) {
|
|
40
|
+
ScopedDeviceEventListeners.delete(owner);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function addScopedEventListener(owner, eventType, listener, callback) {
|
|
44
|
+
const scopedListeners = getScopedListenerMap(owner);
|
|
45
|
+
const listeners = scopedListeners.get(eventType) ?? [];
|
|
46
|
+
listeners.push({ listener, callback });
|
|
47
|
+
scopedListeners.set(eventType, listeners);
|
|
48
|
+
exports.DeviceEventEmitter.addListener(eventType, callback);
|
|
49
|
+
}
|
|
50
|
+
exports.addScopedEventListener = addScopedEventListener;
|
|
51
|
+
function removeScopedEventListener(owner, eventType, listener) {
|
|
52
|
+
if (listener === undefined) {
|
|
53
|
+
removeAllScopedEventListeners(owner, eventType);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const scopedListeners = ScopedDeviceEventListeners.get(owner);
|
|
57
|
+
if (scopedListeners === undefined) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const listeners = scopedListeners.get(eventType) ?? [];
|
|
61
|
+
const index = listeners.findIndex((record) => record.listener === listener);
|
|
62
|
+
if (index === -1) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const [record] = listeners.splice(index, 1);
|
|
66
|
+
exports.DeviceEventEmitter.removeListener(eventType, record.callback);
|
|
67
|
+
if (listeners.length === 0) {
|
|
68
|
+
scopedListeners.delete(eventType);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
scopedListeners.set(eventType, listeners);
|
|
72
|
+
}
|
|
73
|
+
cleanupScopedListenerMap(owner, scopedListeners);
|
|
74
|
+
}
|
|
75
|
+
exports.removeScopedEventListener = removeScopedEventListener;
|
|
76
|
+
function removeAllScopedEventListeners(owner, eventType) {
|
|
77
|
+
const scopedListeners = ScopedDeviceEventListeners.get(owner);
|
|
78
|
+
if (scopedListeners === undefined) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (eventType !== undefined) {
|
|
82
|
+
const listeners = scopedListeners.get(eventType) ?? [];
|
|
83
|
+
listeners.forEach((record) => {
|
|
84
|
+
exports.DeviceEventEmitter.removeListener(eventType, record.callback);
|
|
85
|
+
});
|
|
86
|
+
scopedListeners.delete(eventType);
|
|
87
|
+
cleanupScopedListenerMap(owner, scopedListeners);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
scopedListeners.forEach((listeners, currentEventType) => {
|
|
91
|
+
listeners.forEach((record) => {
|
|
92
|
+
exports.DeviceEventEmitter.removeListener(currentEventType, record.callback);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
scopedListeners.clear();
|
|
96
|
+
ScopedDeviceEventListeners.delete(owner);
|
|
97
|
+
}
|
|
98
|
+
exports.removeAllScopedEventListeners = removeAllScopedEventListeners;
|
|
29
99
|
const AgoraNode = require('../../../build/Release/agora_node_ext');
|
|
30
100
|
exports.AgoraElectronBridge = new AgoraNode.AgoraElectronBridge();
|
|
31
101
|
exports.AgoraElectronBridge.OnEvent('call_back_with_buffer', (...params) => {
|
|
@@ -201,19 +271,6 @@ exports.EVENT_PROCESSORS = {
|
|
|
201
271
|
case 'onStreamMessageEx':
|
|
202
272
|
data.data = buffers[0];
|
|
203
273
|
break;
|
|
204
|
-
case 'onLocalVideoStats':
|
|
205
|
-
if (data) {
|
|
206
|
-
let rendererManager = Utils_1.AgoraEnv.AgoraRendererManager;
|
|
207
|
-
if (rendererManager) {
|
|
208
|
-
let sourceType = data.sourceType;
|
|
209
|
-
let connection = data.connection;
|
|
210
|
-
let rendererCaches = rendererManager.getRendererCachesBySourceType(sourceType);
|
|
211
|
-
rendererCaches.forEach((cache) => {
|
|
212
|
-
cache.setCallbackContext(connection, sourceType);
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
break;
|
|
217
274
|
case 'onRemoteVideoStats':
|
|
218
275
|
if (data) {
|
|
219
276
|
let rendererManager = Utils_1.AgoraEnv.AgoraRendererManager;
|
|
@@ -104,15 +104,13 @@ class MediaEngineInternal extends IAgoraMediaEngineImpl_1.IMediaEngineImpl {
|
|
|
104
104
|
};
|
|
105
105
|
// @ts-ignore
|
|
106
106
|
listener.agoraCallback = callback;
|
|
107
|
-
IrisApiEngine_1.
|
|
107
|
+
(0, IrisApiEngine_1.addScopedEventListener)(this, eventType, listener, callback);
|
|
108
108
|
}
|
|
109
109
|
removeListener(eventType, listener) {
|
|
110
|
-
IrisApiEngine_1.
|
|
111
|
-
// @ts-ignore
|
|
112
|
-
listener?.agoraCallback ?? listener);
|
|
110
|
+
(0, IrisApiEngine_1.removeScopedEventListener)(this, eventType, listener);
|
|
113
111
|
}
|
|
114
112
|
removeAllListeners(eventType) {
|
|
115
|
-
IrisApiEngine_1.
|
|
113
|
+
(0, IrisApiEngine_1.removeAllScopedEventListeners)(this, eventType);
|
|
116
114
|
}
|
|
117
115
|
}
|
|
118
116
|
exports.MediaEngineInternal = MediaEngineInternal;
|
|
@@ -77,15 +77,13 @@ class MediaPlayerInternal extends IAgoraMediaPlayerImpl_1.IMediaPlayerImpl {
|
|
|
77
77
|
};
|
|
78
78
|
// @ts-ignore
|
|
79
79
|
listener.agoraCallback = callback;
|
|
80
|
-
IrisApiEngine_1.
|
|
80
|
+
(0, IrisApiEngine_1.addScopedEventListener)(this, eventType, listener, callback);
|
|
81
81
|
}
|
|
82
82
|
removeListener(eventType, listener) {
|
|
83
|
-
IrisApiEngine_1.
|
|
84
|
-
// @ts-ignore
|
|
85
|
-
listener?.agoraCallback ?? listener);
|
|
83
|
+
(0, IrisApiEngine_1.removeScopedEventListener)(this, eventType, listener);
|
|
86
84
|
}
|
|
87
85
|
removeAllListeners(eventType) {
|
|
88
|
-
IrisApiEngine_1.
|
|
86
|
+
(0, IrisApiEngine_1.removeAllScopedEventListeners)(this, eventType);
|
|
89
87
|
}
|
|
90
88
|
getMediaPlayerId() {
|
|
91
89
|
return this._mediaPlayerId;
|
|
@@ -24,7 +24,8 @@ class MediaRecorderInternal extends IAgoraMediaRecorderImpl_1.IMediaRecorderImpl
|
|
|
24
24
|
}
|
|
25
25
|
setMediaRecorderObserver(callback) {
|
|
26
26
|
const key = this._nativeHandle;
|
|
27
|
-
|
|
27
|
+
const currentObserver = MediaRecorderInternal._observers.get(key);
|
|
28
|
+
if (currentObserver === callback) {
|
|
28
29
|
return AgoraBase_1.ErrorCodeType.ErrOk;
|
|
29
30
|
}
|
|
30
31
|
MediaRecorderInternal._observers.set(key, callback);
|
|
@@ -55,15 +56,13 @@ class MediaRecorderInternal extends IAgoraMediaRecorderImpl_1.IMediaRecorderImpl
|
|
|
55
56
|
};
|
|
56
57
|
// @ts-ignore
|
|
57
58
|
listener.agoraCallback = callback;
|
|
58
|
-
IrisApiEngine_1.
|
|
59
|
+
(0, IrisApiEngine_1.addScopedEventListener)(this, eventType, listener, callback);
|
|
59
60
|
}
|
|
60
61
|
removeListener(eventType, listener) {
|
|
61
|
-
IrisApiEngine_1.
|
|
62
|
-
// @ts-ignore
|
|
63
|
-
listener?.agoraCallback ?? listener);
|
|
62
|
+
(0, IrisApiEngine_1.removeScopedEventListener)(this, eventType, listener);
|
|
64
63
|
}
|
|
65
64
|
removeAllListeners(eventType) {
|
|
66
|
-
IrisApiEngine_1.
|
|
65
|
+
(0, IrisApiEngine_1.removeAllScopedEventListeners)(this, eventType);
|
|
67
66
|
}
|
|
68
67
|
}
|
|
69
68
|
exports.MediaRecorderInternal = MediaRecorderInternal;
|
|
@@ -34,15 +34,13 @@ class MusicContentCenterInternal extends IAgoraMusicContentCenterImpl_1.IMusicCo
|
|
|
34
34
|
};
|
|
35
35
|
// @ts-ignore
|
|
36
36
|
listener.agoraCallback = callback;
|
|
37
|
-
IrisApiEngine_1.
|
|
37
|
+
(0, IrisApiEngine_1.addScopedEventListener)(this, eventType, listener, callback);
|
|
38
38
|
}
|
|
39
39
|
removeListener(eventType, listener) {
|
|
40
|
-
IrisApiEngine_1.
|
|
41
|
-
// @ts-ignore
|
|
42
|
-
listener?.agoraCallback ?? listener);
|
|
40
|
+
(0, IrisApiEngine_1.removeScopedEventListener)(this, eventType, listener);
|
|
43
41
|
}
|
|
44
42
|
removeAllListeners(eventType) {
|
|
45
|
-
IrisApiEngine_1.
|
|
43
|
+
(0, IrisApiEngine_1.removeAllScopedEventListeners)(this, eventType);
|
|
46
44
|
}
|
|
47
45
|
registerEventHandler(eventHandler) {
|
|
48
46
|
if (!MusicContentCenterInternal._event_handlers.find((value) => value === eventHandler)) {
|
|
@@ -69,38 +69,62 @@ class RtcEngineExInternal extends IAgoraRtcEngineExImpl_1.IRtcEngineExImpl {
|
|
|
69
69
|
try {
|
|
70
70
|
this.performanceIntervalFunc = setInterval(() => {
|
|
71
71
|
let rendererManager = Utils_1.AgoraEnv.AgoraRendererManager;
|
|
72
|
-
let
|
|
72
|
+
let remoteCounters = [];
|
|
73
|
+
let localCounters = [];
|
|
73
74
|
if (rendererManager) {
|
|
74
75
|
rendererManager.getRendererCaches().forEach((cache) => {
|
|
75
|
-
const isRemote = cache.callbackContext
|
|
76
|
+
const isRemote = cache.callbackContext?.sourceType ===
|
|
76
77
|
AgoraMediaBase_1.VideoSourceType.VideoSourceRemote;
|
|
77
|
-
if (
|
|
78
|
-
(cache.callbackContext.connection?.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
if (isRemote) {
|
|
79
|
+
if (cache.callbackContext.connection?.channelId &&
|
|
80
|
+
cache.callbackContext.connection?.localUid) {
|
|
81
|
+
let counter = remoteCounters.find((counter) => counter.connection.channelId ===
|
|
82
|
+
cache.callbackContext.connection.channelId &&
|
|
83
|
+
counter.connection.localUid ===
|
|
84
|
+
cache.callbackContext.connection.localUid);
|
|
85
|
+
let data = {
|
|
86
|
+
counters: [
|
|
87
|
+
{
|
|
88
|
+
counterId: this.VideoRemoteRenderMeanFpsCounterId,
|
|
89
|
+
value: Math.floor(cache.actualFps),
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
counterId: this.VideoRemoteRenderDrawCostCounterId,
|
|
93
|
+
value: Math.floor(cache.avgFrameInterval),
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
uid: cache.cacheContext.uid,
|
|
97
|
+
};
|
|
98
|
+
if (!counter) {
|
|
99
|
+
remoteCounters.push({
|
|
100
|
+
data: [data],
|
|
101
|
+
connection: cache.callbackContext.connection,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
counter.data.push(data);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
let counter = localCounters.find((counter) => counter.videoSourceType === cache.cacheContext.sourceType);
|
|
83
111
|
let data = {
|
|
84
112
|
counters: [
|
|
85
113
|
{
|
|
86
|
-
counterId:
|
|
87
|
-
? this.VideoRemoteRenderMeanFpsCounterId
|
|
88
|
-
: this.VideoLocalRenderMeanFpsCounterId,
|
|
114
|
+
counterId: this.VideoLocalRenderMeanFpsCounterId,
|
|
89
115
|
value: Math.floor(cache.actualFps),
|
|
90
116
|
},
|
|
91
117
|
{
|
|
92
|
-
counterId:
|
|
93
|
-
? this.VideoRemoteRenderDrawCostCounterId
|
|
94
|
-
: this.VideoLocalRenderDrawCostCounterId,
|
|
118
|
+
counterId: this.VideoLocalRenderDrawCostCounterId,
|
|
95
119
|
value: Math.floor(cache.avgFrameInterval),
|
|
96
120
|
},
|
|
97
121
|
],
|
|
98
|
-
uid:
|
|
122
|
+
uid: cache.cacheContext.uid,
|
|
99
123
|
};
|
|
100
124
|
if (!counter) {
|
|
101
|
-
|
|
125
|
+
localCounters.push({
|
|
102
126
|
data: [data],
|
|
103
|
-
|
|
127
|
+
videoSourceType: cache.cacheContext.sourceType,
|
|
104
128
|
});
|
|
105
129
|
}
|
|
106
130
|
else {
|
|
@@ -109,6 +133,7 @@ class RtcEngineExInternal extends IAgoraRtcEngineExImpl_1.IRtcEngineExImpl {
|
|
|
109
133
|
}
|
|
110
134
|
});
|
|
111
135
|
}
|
|
136
|
+
const counters = [...remoteCounters, ...localCounters];
|
|
112
137
|
counters.forEach((counter) => {
|
|
113
138
|
this.setParameters(JSON.stringify({ 'rtc.report.argus_counters': counter }));
|
|
114
139
|
});
|
|
@@ -201,15 +226,13 @@ class RtcEngineExInternal extends IAgoraRtcEngineExImpl_1.IRtcEngineExImpl {
|
|
|
201
226
|
};
|
|
202
227
|
// @ts-ignore
|
|
203
228
|
listener.agoraCallback = callback;
|
|
204
|
-
IrisApiEngine_2.
|
|
229
|
+
(0, IrisApiEngine_2.addScopedEventListener)(this, eventType, listener, callback);
|
|
205
230
|
}
|
|
206
231
|
removeListener(eventType, listener) {
|
|
207
|
-
IrisApiEngine_2.
|
|
208
|
-
// @ts-ignore
|
|
209
|
-
listener?.agoraCallback ?? listener);
|
|
232
|
+
(0, IrisApiEngine_2.removeScopedEventListener)(this, eventType, listener);
|
|
210
233
|
}
|
|
211
234
|
removeAllListeners(eventType) {
|
|
212
|
-
IrisApiEngine_2.
|
|
235
|
+
(0, IrisApiEngine_2.removeAllScopedEventListeners)(this, eventType);
|
|
213
236
|
}
|
|
214
237
|
getVersion() {
|
|
215
238
|
const apiType = 'RtcEngine_getVersion_915cb25';
|
|
@@ -104,11 +104,6 @@ class RendererCache extends IRendererCache_1.IRendererCache {
|
|
|
104
104
|
this.videoFrame.alphaBuffer = Buffer.alloc(this.videoFrame.width * this.videoFrame.height);
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
if (hasMoreFrame) {
|
|
108
|
-
this.renderers.forEach((renderer) => {
|
|
109
|
-
renderer.drawFrame(this.cacheContext.uid, this.videoFrame);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
107
|
return { hasMoreFrame, needRender };
|
|
113
108
|
}
|
|
114
109
|
addRenderer(renderer) {
|
|
@@ -207,22 +202,12 @@ class RendererCache extends IRendererCache_1.IRendererCache {
|
|
|
207
202
|
}
|
|
208
203
|
// 记录当前时间作为本次循环的开始时间
|
|
209
204
|
this._lastRenderTime = currentTime;
|
|
210
|
-
//
|
|
211
|
-
//
|
|
212
|
-
|
|
213
|
-
let { hasMoreFrame, needRender } = this.fetchVideoFrame();
|
|
205
|
+
// Fetch at most one frame per tick and render it once. When frames pile
|
|
206
|
+
// up, favor UI responsiveness over draining the entire backlog.
|
|
207
|
+
const { needRender } = this.fetchVideoFrame();
|
|
214
208
|
if (needRender) {
|
|
215
209
|
this.renderFrame();
|
|
216
210
|
}
|
|
217
|
-
// 如果hasMoreFrame为true,表示还有更多帧需要获取
|
|
218
|
-
while (hasMoreFrame) {
|
|
219
|
-
// 获取下一帧
|
|
220
|
-
let { hasMoreFrame: nextHasMoreFrame, needRender } = this.fetchVideoFrame();
|
|
221
|
-
hasMoreFrame = nextHasMoreFrame;
|
|
222
|
-
if (needRender) {
|
|
223
|
-
this.renderFrame();
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
211
|
// 安排下一帧
|
|
227
212
|
this._renderingTimer = window.setTimeout(renderingLooper, 0);
|
|
228
213
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agora-electron-sdk",
|
|
3
|
-
"version": "4.5.3
|
|
3
|
+
"version": "4.5.3",
|
|
4
4
|
"description": "agora-electron-sdk",
|
|
5
5
|
"main": "js/AgoraSdk",
|
|
6
6
|
"types": "types/AgoraSdk.d.ts",
|
|
@@ -160,9 +160,9 @@
|
|
|
160
160
|
"pify": "^4.0.1"
|
|
161
161
|
},
|
|
162
162
|
"agora_electron": {
|
|
163
|
-
"iris_sdk_win": "https://download.agora.io/sdk/release/iris_4.5.3-
|
|
164
|
-
"iris_sdk_mac": "https://download.agora.io/sdk/release/iris_4.5.3-
|
|
165
|
-
"native_sdk_win": "https://download.agora.io/sdk/release/
|
|
166
|
-
"native_sdk_mac": "https://download.agora.io/sdk/release/
|
|
163
|
+
"iris_sdk_win": "https://download.agora.io/sdk/release/iris_4.5.3-build.1_DCG_Windows_Video_Standalone_20260428_1050_31959.zip",
|
|
164
|
+
"iris_sdk_mac": "https://download.agora.io/sdk/release/iris_4.5.3-build.1_DCG_Mac_Video_Standalone_20260428_1052_32896.zip",
|
|
165
|
+
"native_sdk_win": "https://download.agora.io/sdk/release/Agora_Native_SDK_for_Windows_rel.v4.5.3.70_32091_FULL_20260416_1933_1076734.zip",
|
|
166
|
+
"native_sdk_mac": "https://download.agora.io/sdk/release/Agora_Native_SDK_for_Mac_rel.v4.5.3.70_27430_FULL_20260416_1933_1076735.zip"
|
|
167
167
|
}
|
|
168
168
|
}
|
|
@@ -9,9 +9,11 @@ import IAgoraH265TranscoderTI from '../ti/IAgoraH265Transcoder-ti';
|
|
|
9
9
|
const checkers = createCheckers(IAgoraH265TranscoderTI);
|
|
10
10
|
|
|
11
11
|
import {
|
|
12
|
-
DeviceEventEmitter,
|
|
13
12
|
EVENT_TYPE,
|
|
14
13
|
EventProcessor,
|
|
14
|
+
addScopedEventListener,
|
|
15
|
+
removeAllScopedEventListeners,
|
|
16
|
+
removeScopedEventListener,
|
|
15
17
|
} from './IrisApiEngine';
|
|
16
18
|
|
|
17
19
|
export class H265TranscoderInternal extends IH265TranscoderImpl {
|
|
@@ -52,24 +54,24 @@ export class H265TranscoderInternal extends IH265TranscoderImpl {
|
|
|
52
54
|
};
|
|
53
55
|
// @ts-ignore
|
|
54
56
|
listener!.agoraCallback = callback;
|
|
55
|
-
|
|
57
|
+
addScopedEventListener(this, eventType, listener as Function, callback);
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
removeListener<EventType extends keyof IH265TranscoderEvent>(
|
|
59
61
|
eventType: EventType,
|
|
60
62
|
listener?: IH265TranscoderEvent[EventType]
|
|
61
63
|
) {
|
|
62
|
-
|
|
64
|
+
removeScopedEventListener(
|
|
65
|
+
this,
|
|
63
66
|
eventType,
|
|
64
|
-
|
|
65
|
-
listener?.agoraCallback ?? listener
|
|
67
|
+
listener as Function | undefined
|
|
66
68
|
);
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
removeAllListeners<EventType extends keyof IH265TranscoderEvent>(
|
|
70
72
|
eventType?: EventType
|
|
71
73
|
) {
|
|
72
|
-
|
|
74
|
+
removeAllScopedEventListeners(this, eventType);
|
|
73
75
|
}
|
|
74
76
|
|
|
75
77
|
override registerTranscoderObserver(
|
|
@@ -71,6 +71,110 @@ import { VideoEffectObjectInternal } from './VideoEffectObjectInternal';
|
|
|
71
71
|
// @ts-ignore
|
|
72
72
|
export const DeviceEventEmitter: EventEmitter = new EventEmitter();
|
|
73
73
|
|
|
74
|
+
type DeviceEventListener = (...args: any[]) => void;
|
|
75
|
+
type ListenerRecord = {
|
|
76
|
+
listener: Function;
|
|
77
|
+
callback: DeviceEventListener;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const ScopedDeviceEventListeners = new WeakMap<
|
|
81
|
+
object,
|
|
82
|
+
Map<string, ListenerRecord[]>
|
|
83
|
+
>();
|
|
84
|
+
|
|
85
|
+
function getScopedListenerMap(owner: object): Map<string, ListenerRecord[]> {
|
|
86
|
+
let scopedListeners = ScopedDeviceEventListeners.get(owner);
|
|
87
|
+
if (scopedListeners === undefined) {
|
|
88
|
+
scopedListeners = new Map<string, ListenerRecord[]>();
|
|
89
|
+
ScopedDeviceEventListeners.set(owner, scopedListeners);
|
|
90
|
+
}
|
|
91
|
+
return scopedListeners;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function cleanupScopedListenerMap(
|
|
95
|
+
owner: object,
|
|
96
|
+
scopedListeners: Map<string, ListenerRecord[]>
|
|
97
|
+
) {
|
|
98
|
+
if (scopedListeners.size === 0) {
|
|
99
|
+
ScopedDeviceEventListeners.delete(owner);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export function addScopedEventListener(
|
|
104
|
+
owner: object,
|
|
105
|
+
eventType: string,
|
|
106
|
+
listener: Function,
|
|
107
|
+
callback: DeviceEventListener
|
|
108
|
+
) {
|
|
109
|
+
const scopedListeners = getScopedListenerMap(owner);
|
|
110
|
+
const listeners = scopedListeners.get(eventType) ?? [];
|
|
111
|
+
|
|
112
|
+
listeners.push({ listener, callback });
|
|
113
|
+
scopedListeners.set(eventType, listeners);
|
|
114
|
+
DeviceEventEmitter.addListener(eventType, callback);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export function removeScopedEventListener(
|
|
118
|
+
owner: object,
|
|
119
|
+
eventType: string,
|
|
120
|
+
listener?: Function
|
|
121
|
+
) {
|
|
122
|
+
if (listener === undefined) {
|
|
123
|
+
removeAllScopedEventListeners(owner, eventType);
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const scopedListeners = ScopedDeviceEventListeners.get(owner);
|
|
128
|
+
if (scopedListeners === undefined) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const listeners = scopedListeners.get(eventType) ?? [];
|
|
133
|
+
const index = listeners.findIndex((record) => record.listener === listener);
|
|
134
|
+
|
|
135
|
+
if (index === -1) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
const [record] = listeners.splice(index, 1);
|
|
140
|
+
DeviceEventEmitter.removeListener(eventType, record!.callback);
|
|
141
|
+
|
|
142
|
+
if (listeners.length === 0) {
|
|
143
|
+
scopedListeners.delete(eventType);
|
|
144
|
+
} else {
|
|
145
|
+
scopedListeners.set(eventType, listeners);
|
|
146
|
+
}
|
|
147
|
+
cleanupScopedListenerMap(owner, scopedListeners);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export function removeAllScopedEventListeners(
|
|
151
|
+
owner: object,
|
|
152
|
+
eventType?: string
|
|
153
|
+
) {
|
|
154
|
+
const scopedListeners = ScopedDeviceEventListeners.get(owner);
|
|
155
|
+
if (scopedListeners === undefined) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (eventType !== undefined) {
|
|
160
|
+
const listeners = scopedListeners.get(eventType) ?? [];
|
|
161
|
+
listeners.forEach((record) => {
|
|
162
|
+
DeviceEventEmitter.removeListener(eventType, record.callback);
|
|
163
|
+
});
|
|
164
|
+
scopedListeners.delete(eventType);
|
|
165
|
+
cleanupScopedListenerMap(owner, scopedListeners);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
scopedListeners.forEach((listeners, currentEventType) => {
|
|
170
|
+
listeners.forEach((record) => {
|
|
171
|
+
DeviceEventEmitter.removeListener(currentEventType, record.callback);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
scopedListeners.clear();
|
|
175
|
+
ScopedDeviceEventListeners.delete(owner);
|
|
176
|
+
}
|
|
177
|
+
|
|
74
178
|
const AgoraNode = require('../../../build/Release/agora_node_ext');
|
|
75
179
|
export const AgoraElectronBridge: IAgoraElectronBridge =
|
|
76
180
|
new AgoraNode.AgoraElectronBridge();
|
|
@@ -345,20 +449,6 @@ export const EVENT_PROCESSORS: EventProcessors = {
|
|
|
345
449
|
case 'onStreamMessageEx':
|
|
346
450
|
data.data = buffers[0];
|
|
347
451
|
break;
|
|
348
|
-
case 'onLocalVideoStats':
|
|
349
|
-
if (data) {
|
|
350
|
-
let rendererManager = AgoraEnv.AgoraRendererManager;
|
|
351
|
-
if (rendererManager) {
|
|
352
|
-
let sourceType = (data as any).sourceType;
|
|
353
|
-
let connection = (data as any).connection;
|
|
354
|
-
let rendererCaches =
|
|
355
|
-
rendererManager.getRendererCachesBySourceType(sourceType);
|
|
356
|
-
rendererCaches.forEach((cache) => {
|
|
357
|
-
cache.setCallbackContext(connection, sourceType);
|
|
358
|
-
});
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
break;
|
|
362
452
|
case 'onRemoteVideoStats':
|
|
363
453
|
if (data) {
|
|
364
454
|
let rendererManager = AgoraEnv.AgoraRendererManager;
|
|
@@ -12,9 +12,11 @@ import AgoraMediaBaseTI from '../ti/AgoraMediaBase-ti';
|
|
|
12
12
|
const checkers = createCheckers(AgoraMediaBaseTI);
|
|
13
13
|
|
|
14
14
|
import {
|
|
15
|
-
DeviceEventEmitter,
|
|
16
15
|
EVENT_TYPE,
|
|
17
16
|
EventProcessor,
|
|
17
|
+
addScopedEventListener,
|
|
18
|
+
removeAllScopedEventListeners,
|
|
19
|
+
removeScopedEventListener,
|
|
18
20
|
} from './IrisApiEngine';
|
|
19
21
|
|
|
20
22
|
export class MediaEngineInternal extends IMediaEngineImpl {
|
|
@@ -168,23 +170,23 @@ export class MediaEngineInternal extends IMediaEngineImpl {
|
|
|
168
170
|
};
|
|
169
171
|
// @ts-ignore
|
|
170
172
|
listener!.agoraCallback = callback;
|
|
171
|
-
|
|
173
|
+
addScopedEventListener(this, eventType, listener as Function, callback);
|
|
172
174
|
}
|
|
173
175
|
|
|
174
176
|
removeListener<EventType extends keyof IMediaEngineEvent>(
|
|
175
177
|
eventType: EventType,
|
|
176
178
|
listener?: IMediaEngineEvent[EventType]
|
|
177
179
|
) {
|
|
178
|
-
|
|
180
|
+
removeScopedEventListener(
|
|
181
|
+
this,
|
|
179
182
|
eventType,
|
|
180
|
-
|
|
181
|
-
listener?.agoraCallback ?? listener
|
|
183
|
+
listener as Function | undefined
|
|
182
184
|
);
|
|
183
185
|
}
|
|
184
186
|
|
|
185
187
|
removeAllListeners<EventType extends keyof IMediaEngineEvent>(
|
|
186
188
|
eventType?: EventType
|
|
187
189
|
) {
|
|
188
|
-
|
|
190
|
+
removeAllScopedEventListeners(this, eventType);
|
|
189
191
|
}
|
|
190
192
|
}
|
|
@@ -23,9 +23,11 @@ const checkers = createCheckers(
|
|
|
23
23
|
);
|
|
24
24
|
|
|
25
25
|
import {
|
|
26
|
-
DeviceEventEmitter,
|
|
27
26
|
EVENT_TYPE,
|
|
28
27
|
EventProcessor,
|
|
28
|
+
addScopedEventListener,
|
|
29
|
+
removeAllScopedEventListeners,
|
|
30
|
+
removeScopedEventListener,
|
|
29
31
|
} from './IrisApiEngine';
|
|
30
32
|
|
|
31
33
|
export class MediaPlayerInternal extends IMediaPlayerImpl {
|
|
@@ -131,24 +133,24 @@ export class MediaPlayerInternal extends IMediaPlayerImpl {
|
|
|
131
133
|
};
|
|
132
134
|
// @ts-ignore
|
|
133
135
|
listener!.agoraCallback = callback;
|
|
134
|
-
|
|
136
|
+
addScopedEventListener(this, eventType, listener as Function, callback);
|
|
135
137
|
}
|
|
136
138
|
|
|
137
139
|
removeListener<EventType extends keyof IMediaPlayerEvent>(
|
|
138
140
|
eventType: EventType,
|
|
139
141
|
listener?: IMediaPlayerEvent[EventType]
|
|
140
142
|
) {
|
|
141
|
-
|
|
143
|
+
removeScopedEventListener(
|
|
144
|
+
this,
|
|
142
145
|
eventType,
|
|
143
|
-
|
|
144
|
-
listener?.agoraCallback ?? listener
|
|
146
|
+
listener as Function | undefined
|
|
145
147
|
);
|
|
146
148
|
}
|
|
147
149
|
|
|
148
150
|
removeAllListeners<EventType extends keyof IMediaPlayerEvent>(
|
|
149
151
|
eventType?: EventType
|
|
150
152
|
) {
|
|
151
|
-
|
|
153
|
+
removeAllScopedEventListeners(this, eventType);
|
|
152
154
|
}
|
|
153
155
|
|
|
154
156
|
override getMediaPlayerId(): number {
|
|
@@ -8,9 +8,11 @@ import AgoraMediaBaseTI from '../ti/AgoraMediaBase-ti';
|
|
|
8
8
|
const checkers = createCheckers(AgoraMediaBaseTI);
|
|
9
9
|
|
|
10
10
|
import {
|
|
11
|
-
DeviceEventEmitter,
|
|
12
11
|
EVENT_TYPE,
|
|
13
12
|
EventProcessor,
|
|
13
|
+
addScopedEventListener,
|
|
14
|
+
removeAllScopedEventListeners,
|
|
15
|
+
removeScopedEventListener,
|
|
14
16
|
} from './IrisApiEngine';
|
|
15
17
|
|
|
16
18
|
export class MediaRecorderInternal extends IMediaRecorderImpl {
|
|
@@ -36,7 +38,8 @@ export class MediaRecorderInternal extends IMediaRecorderImpl {
|
|
|
36
38
|
|
|
37
39
|
override setMediaRecorderObserver(callback: IMediaRecorderObserver): number {
|
|
38
40
|
const key = this._nativeHandle;
|
|
39
|
-
|
|
41
|
+
const currentObserver = MediaRecorderInternal._observers.get(key);
|
|
42
|
+
if (currentObserver === callback) {
|
|
40
43
|
return ErrorCodeType.ErrOk;
|
|
41
44
|
}
|
|
42
45
|
MediaRecorderInternal._observers.set(key, callback);
|
|
@@ -78,23 +81,23 @@ export class MediaRecorderInternal extends IMediaRecorderImpl {
|
|
|
78
81
|
};
|
|
79
82
|
// @ts-ignore
|
|
80
83
|
listener!.agoraCallback = callback;
|
|
81
|
-
|
|
84
|
+
addScopedEventListener(this, eventType, listener as Function, callback);
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
removeListener<EventType extends keyof IMediaRecorderEvent>(
|
|
85
88
|
eventType: EventType,
|
|
86
89
|
listener?: IMediaRecorderEvent[EventType]
|
|
87
90
|
) {
|
|
88
|
-
|
|
91
|
+
removeScopedEventListener(
|
|
92
|
+
this,
|
|
89
93
|
eventType,
|
|
90
|
-
|
|
91
|
-
listener?.agoraCallback ?? listener
|
|
94
|
+
listener as Function | undefined
|
|
92
95
|
);
|
|
93
96
|
}
|
|
94
97
|
|
|
95
98
|
removeAllListeners<EventType extends keyof IMediaRecorderEvent>(
|
|
96
99
|
eventType?: EventType
|
|
97
100
|
) {
|
|
98
|
-
|
|
101
|
+
removeAllScopedEventListeners(this, eventType);
|
|
99
102
|
}
|
|
100
103
|
}
|
|
@@ -17,9 +17,11 @@ import IAgoraMusicContentCenterTI from '../ti/IAgoraMusicContentCenter-ti';
|
|
|
17
17
|
const checkers = createCheckers(IAgoraMusicContentCenterTI);
|
|
18
18
|
|
|
19
19
|
import {
|
|
20
|
-
DeviceEventEmitter,
|
|
21
20
|
EVENT_TYPE,
|
|
22
21
|
EventProcessor,
|
|
22
|
+
addScopedEventListener,
|
|
23
|
+
removeAllScopedEventListeners,
|
|
24
|
+
removeScopedEventListener,
|
|
23
25
|
} from './IrisApiEngine';
|
|
24
26
|
import { MediaPlayerInternal } from './MediaPlayerInternal';
|
|
25
27
|
|
|
@@ -56,24 +58,24 @@ export class MusicContentCenterInternal extends IMusicContentCenterImpl {
|
|
|
56
58
|
};
|
|
57
59
|
// @ts-ignore
|
|
58
60
|
listener!.agoraCallback = callback;
|
|
59
|
-
|
|
61
|
+
addScopedEventListener(this, eventType, listener as Function, callback);
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
removeListener<EventType extends keyof IMusicContentCenterEvent>(
|
|
63
65
|
eventType: EventType,
|
|
64
66
|
listener?: IMusicContentCenterEvent[EventType]
|
|
65
67
|
) {
|
|
66
|
-
|
|
68
|
+
removeScopedEventListener(
|
|
69
|
+
this,
|
|
67
70
|
eventType,
|
|
68
|
-
|
|
69
|
-
listener?.agoraCallback ?? listener
|
|
71
|
+
listener as Function | undefined
|
|
70
72
|
);
|
|
71
73
|
}
|
|
72
74
|
|
|
73
75
|
removeAllListeners<EventType extends keyof IMusicContentCenterEvent>(
|
|
74
76
|
eventType?: EventType
|
|
75
77
|
) {
|
|
76
|
-
|
|
78
|
+
removeAllScopedEventListeners(this, eventType);
|
|
77
79
|
}
|
|
78
80
|
|
|
79
81
|
override registerEventHandler(
|
|
@@ -64,10 +64,12 @@ import IAgoraRtcEngineTI from '../ti/IAgoraRtcEngine-ti';
|
|
|
64
64
|
import { H265TranscoderInternal } from './AgoraH265TranscoderInternal';
|
|
65
65
|
import { AudioDeviceManagerInternal } from './AudioDeviceManagerInternal';
|
|
66
66
|
import {
|
|
67
|
-
DeviceEventEmitter,
|
|
68
67
|
EVENT_TYPE,
|
|
69
68
|
EventProcessor,
|
|
69
|
+
addScopedEventListener,
|
|
70
70
|
callIrisApi,
|
|
71
|
+
removeAllScopedEventListeners,
|
|
72
|
+
removeScopedEventListener,
|
|
71
73
|
} from './IrisApiEngine';
|
|
72
74
|
import { LocalSpatialAudioEngineInternal } from './LocalSpatialAudioEngineInternal';
|
|
73
75
|
import { MediaEngineInternal } from './MediaEngineInternal';
|
|
@@ -133,47 +135,75 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
133
135
|
try {
|
|
134
136
|
this.performanceIntervalFunc = setInterval(() => {
|
|
135
137
|
let rendererManager = AgoraEnv.AgoraRendererManager;
|
|
136
|
-
let
|
|
138
|
+
let remoteCounters: {
|
|
137
139
|
data: PerformanceCounter[];
|
|
138
140
|
connection: RtcConnection;
|
|
139
141
|
}[] = [];
|
|
142
|
+
let localCounters: {
|
|
143
|
+
data: PerformanceCounter[];
|
|
144
|
+
videoSourceType: VideoSourceType | undefined;
|
|
145
|
+
}[] = [];
|
|
140
146
|
if (rendererManager) {
|
|
141
147
|
rendererManager.getRendererCaches().forEach((cache) => {
|
|
142
148
|
const isRemote =
|
|
143
|
-
cache.callbackContext
|
|
149
|
+
cache.callbackContext?.sourceType ===
|
|
144
150
|
VideoSourceType.VideoSourceRemote;
|
|
145
|
-
if (
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
151
|
+
if (isRemote) {
|
|
152
|
+
if (
|
|
153
|
+
cache.callbackContext.connection?.channelId &&
|
|
154
|
+
cache.callbackContext.connection?.localUid
|
|
155
|
+
) {
|
|
156
|
+
let counter = remoteCounters.find(
|
|
157
|
+
(counter) =>
|
|
158
|
+
counter.connection.channelId ===
|
|
159
|
+
cache.callbackContext.connection.channelId &&
|
|
160
|
+
counter.connection.localUid ===
|
|
161
|
+
cache.callbackContext.connection.localUid
|
|
162
|
+
);
|
|
163
|
+
let data: PerformanceCounter = {
|
|
164
|
+
counters: [
|
|
165
|
+
{
|
|
166
|
+
counterId: this.VideoRemoteRenderMeanFpsCounterId,
|
|
167
|
+
value: Math.floor(cache.actualFps),
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
counterId: this.VideoRemoteRenderDrawCostCounterId,
|
|
171
|
+
value: Math.floor(cache.avgFrameInterval),
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
uid: cache.cacheContext.uid!,
|
|
175
|
+
};
|
|
176
|
+
if (!counter) {
|
|
177
|
+
remoteCounters.push({
|
|
178
|
+
data: [data],
|
|
179
|
+
connection: cache.callbackContext.connection,
|
|
180
|
+
});
|
|
181
|
+
} else {
|
|
182
|
+
counter.data.push(data);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
} else {
|
|
186
|
+
let counter = localCounters.find(
|
|
150
187
|
(counter) =>
|
|
151
|
-
counter.
|
|
152
|
-
cache.callbackContext.connection.channelId &&
|
|
153
|
-
counter.connection.localUid ===
|
|
154
|
-
cache.callbackContext.connection.localUid
|
|
188
|
+
counter.videoSourceType === cache.cacheContext.sourceType
|
|
155
189
|
);
|
|
156
190
|
let data: PerformanceCounter = {
|
|
157
191
|
counters: [
|
|
158
192
|
{
|
|
159
|
-
counterId:
|
|
160
|
-
? this.VideoRemoteRenderMeanFpsCounterId
|
|
161
|
-
: this.VideoLocalRenderMeanFpsCounterId,
|
|
193
|
+
counterId: this.VideoLocalRenderMeanFpsCounterId,
|
|
162
194
|
value: Math.floor(cache.actualFps),
|
|
163
195
|
},
|
|
164
196
|
{
|
|
165
|
-
counterId:
|
|
166
|
-
? this.VideoRemoteRenderDrawCostCounterId
|
|
167
|
-
: this.VideoLocalRenderDrawCostCounterId,
|
|
197
|
+
counterId: this.VideoLocalRenderDrawCostCounterId,
|
|
168
198
|
value: Math.floor(cache.avgFrameInterval),
|
|
169
199
|
},
|
|
170
200
|
],
|
|
171
|
-
uid:
|
|
201
|
+
uid: cache.cacheContext.uid!,
|
|
172
202
|
};
|
|
173
203
|
if (!counter) {
|
|
174
|
-
|
|
204
|
+
localCounters.push({
|
|
175
205
|
data: [data],
|
|
176
|
-
|
|
206
|
+
videoSourceType: cache.cacheContext.sourceType,
|
|
177
207
|
});
|
|
178
208
|
} else {
|
|
179
209
|
counter.data.push(data);
|
|
@@ -181,6 +211,7 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
181
211
|
}
|
|
182
212
|
});
|
|
183
213
|
}
|
|
214
|
+
const counters = [...remoteCounters, ...localCounters];
|
|
184
215
|
counters.forEach((counter) => {
|
|
185
216
|
this.setParameters(
|
|
186
217
|
JSON.stringify({ 'rtc.report.argus_counters': counter })
|
|
@@ -300,24 +331,24 @@ export class RtcEngineExInternal extends IRtcEngineExImpl {
|
|
|
300
331
|
};
|
|
301
332
|
// @ts-ignore
|
|
302
333
|
listener!.agoraCallback = callback;
|
|
303
|
-
|
|
334
|
+
addScopedEventListener(this, eventType, listener as Function, callback);
|
|
304
335
|
}
|
|
305
336
|
|
|
306
337
|
removeListener<EventType extends keyof IRtcEngineEvent>(
|
|
307
338
|
eventType: EventType,
|
|
308
339
|
listener?: IRtcEngineEvent[EventType]
|
|
309
340
|
) {
|
|
310
|
-
|
|
341
|
+
removeScopedEventListener(
|
|
342
|
+
this,
|
|
311
343
|
eventType,
|
|
312
|
-
|
|
313
|
-
listener?.agoraCallback ?? listener
|
|
344
|
+
listener as Function | undefined
|
|
314
345
|
);
|
|
315
346
|
}
|
|
316
347
|
|
|
317
348
|
removeAllListeners<EventType extends keyof IRtcEngineEvent>(
|
|
318
349
|
eventType?: EventType
|
|
319
350
|
) {
|
|
320
|
-
|
|
351
|
+
removeAllScopedEventListeners(this, eventType);
|
|
321
352
|
}
|
|
322
353
|
|
|
323
354
|
override getVersion(): SDKBuildInfo {
|
|
@@ -135,12 +135,6 @@ export class RendererCache extends IRendererCache {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
if (hasMoreFrame) {
|
|
139
|
-
this.renderers.forEach((renderer) => {
|
|
140
|
-
renderer.drawFrame(this.cacheContext.uid!, this.videoFrame);
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
|
|
144
138
|
return { hasMoreFrame, needRender };
|
|
145
139
|
}
|
|
146
140
|
|
|
@@ -270,26 +264,13 @@ export class RendererCache extends IRendererCache {
|
|
|
270
264
|
|
|
271
265
|
// 记录当前时间作为本次循环的开始时间
|
|
272
266
|
this._lastRenderTime = currentTime;
|
|
273
|
-
|
|
274
|
-
//
|
|
275
|
-
|
|
276
|
-
// 因为fetchVideoFrame总是会获取一帧数据(如果有的话)
|
|
277
|
-
let { hasMoreFrame, needRender } = this.fetchVideoFrame();
|
|
267
|
+
// Fetch at most one frame per tick and render it once. When frames pile
|
|
268
|
+
// up, favor UI responsiveness over draining the entire backlog.
|
|
269
|
+
const { needRender } = this.fetchVideoFrame();
|
|
278
270
|
if (needRender) {
|
|
279
271
|
this.renderFrame();
|
|
280
272
|
}
|
|
281
273
|
|
|
282
|
-
// 如果hasMoreFrame为true,表示还有更多帧需要获取
|
|
283
|
-
while (hasMoreFrame) {
|
|
284
|
-
// 获取下一帧
|
|
285
|
-
let { hasMoreFrame: nextHasMoreFrame, needRender } =
|
|
286
|
-
this.fetchVideoFrame();
|
|
287
|
-
hasMoreFrame = nextHasMoreFrame;
|
|
288
|
-
if (needRender) {
|
|
289
|
-
this.renderFrame();
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
|
|
293
274
|
// 安排下一帧
|
|
294
275
|
this._renderingTimer = window.setTimeout(renderingLooper, 0);
|
|
295
276
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgoraH265TranscoderInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/AgoraH265TranscoderInternal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"AgoraH265TranscoderInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/AgoraH265TranscoderInternal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAcvE,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,MAAM,CAAC,0BAA0B,EAAE,uBAAuB,EAAE,CAAM;IAElE,OAAO;IAKP,oBAAoB,CAAC,SAAS,SAAS,MAAM,oBAAoB,EAC/D,SAAS,EAAE,SAAS,GACnB,OAAO;IAaV,WAAW,CAAC,SAAS,SAAS,MAAM,oBAAoB,EACtD,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,oBAAoB,CAAC,SAAS,CAAC,GACxC,IAAI;IAeP,cAAc,CAAC,SAAS,SAAS,MAAM,oBAAoB,EACzD,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC;IAS5C,kBAAkB,CAAC,SAAS,SAAS,MAAM,oBAAoB,EAC7D,SAAS,CAAC,EAAE,SAAS;IAKd,0BAA0B,CACjC,QAAQ,EAAE,uBAAuB,GAChC,MAAM;IAWA,4BAA4B,CACnC,QAAQ,EAAE,uBAAuB,GAChC,MAAM;CAOV"}
|
|
@@ -8,6 +8,10 @@ import { IMediaPlayerSourceObserver } from '../IAgoraMediaPlayerSource';
|
|
|
8
8
|
import { IMusicContentCenterEventHandler } from '../IAgoraMusicContentCenter';
|
|
9
9
|
import { IDirectCdnStreamingEventHandler, IMetadataObserver, IRtcEngineEventHandler } from '../IAgoraRtcEngine';
|
|
10
10
|
export declare const DeviceEventEmitter: EventEmitter;
|
|
11
|
+
type DeviceEventListener = (...args: any[]) => void;
|
|
12
|
+
export declare function addScopedEventListener(owner: object, eventType: string, listener: Function, callback: DeviceEventListener): void;
|
|
13
|
+
export declare function removeScopedEventListener(owner: object, eventType: string, listener?: Function): void;
|
|
14
|
+
export declare function removeAllScopedEventListeners(owner: object, eventType?: string): void;
|
|
11
15
|
export declare const AgoraElectronBridge: IAgoraElectronBridge;
|
|
12
16
|
/**
|
|
13
17
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisApiEngine.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/IrisApiEngine.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAKzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAGL,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAEL,8BAA8B,EAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EACL,+BAA+B,EAEhC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,+BAA+B,EAC/B,iBAAiB,EACjB,sBAAsB,EAEvB,MAAM,oBAAoB,CAAC;AAmC5B,eAAO,MAAM,kBAAkB,EAAE,YAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"IrisApiEngine.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/IrisApiEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaEngineInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/MediaEngineInternal.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"MediaEngineInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/MediaEngineInternal.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAYjE,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,CAAM;IAC1D,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,CAAM;IAC1D,MAAM,CAAC,8BAA8B,EAAE,0BAA0B,EAAE,CAAM;IACzE,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,CAAM;IAE7C,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAWjE,4BAA4B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAQnE,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAWjE,4BAA4B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAQnE,iCAAiC,CACxC,QAAQ,EAAE,0BAA0B,GACnC,MAAM;IAWA,mCAAmC,CAC1C,QAAQ,EAAE,0BAA0B,GACnC,MAAM;IAQA,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM;IAW7D,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM;IAQ/D,OAAO;IAQhB,oBAAoB,CAAC,SAAS,SAAS,MAAM,iBAAiB,EAC5D,SAAS,EAAE,SAAS,GACnB,OAAO;IAwCV,WAAW,CAAC,SAAS,SAAS,MAAM,iBAAiB,EACnD,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAgBxC,cAAc,CAAC,SAAS,SAAS,MAAM,iBAAiB,EACtD,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC;IASzC,kBAAkB,CAAC,SAAS,SAAS,MAAM,iBAAiB,EAC1D,SAAS,CAAC,EAAE,SAAS;CAIxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaPlayerInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/MediaPlayerInternal.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"MediaPlayerInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/MediaPlayerInternal.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkBjE,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAG/D;IACJ,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAG5D;IACJ,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,8BAA8B,EAAE,CAAC,CACtB;IACtD,MAAM,CAAC,yBAAyB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CACzB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,aAAa,EAAE,MAAM;IAKjC,OAAO;IAQP,oBAAoB,CAAC,SAAS,SAAS,MAAM,iBAAiB,EAC5D,SAAS,EAAE,SAAS,GACnB,OAAO;IAuDV,WAAW,CAAC,SAAS,SAAS,MAAM,iBAAiB,EACnD,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,GACrC,IAAI;IAkBP,cAAc,CAAC,SAAS,SAAS,MAAM,iBAAiB,EACtD,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC;IASzC,kBAAkB,CAAC,SAAS,SAAS,MAAM,iBAAiB,EAC1D,SAAS,CAAC,EAAE,SAAS;IAKd,gBAAgB,IAAI,MAAM;IAI1B,4BAA4B,CACnC,QAAQ,EAAE,0BAA0B,GACnC,MAAM;IAcA,8BAA8B,CACrC,QAAQ,EAAE,0BAA0B,GACnC,MAAM;IAYA,0BAA0B,CACjC,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,GAAE,uBAA6E,GAClF,MAAM;IAiBA,4BAA4B,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM;IAYlE,0BAA0B,CACjC,QAAQ,EAAE,8BAA8B,GACvC,MAAM;IAiBA,4BAA4B,CACnC,QAAQ,EAAE,8BAA8B,GACvC,MAAM;IAYA,wCAAwC,CAC/C,QAAQ,EAAE,sBAAsB,EAChC,YAAY,EAAE,MAAM,GACnB,MAAM;IAoBA,0CAA0C,CACjD,QAAQ,EAAE,sBAAsB,GAC/B,MAAM;IAYA,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAWlC,aAAa,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM;CAU3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaRecorderInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/MediaRecorderInternal.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"MediaRecorderInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/MediaRecorderInternal.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAYrE,qBAAa,qBAAsB,SAAQ,kBAAkB;IAC3D,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAGlD;IACJ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,YAAY,EAAE,MAAM;IAKhC,OAAO;IAKP,IAAI,YAAY,IAAI,MAAM,CAEzB;IAEQ,wBAAwB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM;IAU3E,oBAAoB,CAAC,SAAS,SAAS,MAAM,mBAAmB,EAC9D,SAAS,EAAE,SAAS,GACnB,OAAO;IAeV,WAAW,CAAC,SAAS,SAAS,MAAM,mBAAmB,EACrD,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,mBAAmB,CAAC,SAAS,CAAC,GACvC,IAAI;IAkBP,cAAc,CAAC,SAAS,SAAS,MAAM,mBAAmB,EACxD,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC;IAS3C,kBAAkB,CAAC,SAAS,SAAS,MAAM,mBAAmB,EAC5D,SAAS,CAAC,EAAE,SAAS;CAIxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MusicContentCenterInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/MusicContentCenterInternal.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,+BAA+B,EAC/B,YAAY,EACZ,KAAK,EACL,eAAe,EACf,aAAa,EACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EACL,uBAAuB,EAEvB,mBAAmB,EACpB,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"MusicContentCenterInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/MusicContentCenterInternal.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,+BAA+B,EAC/B,YAAY,EACZ,KAAK,EACL,eAAe,EACf,aAAa,EACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EACL,uBAAuB,EAEvB,mBAAmB,EACpB,MAAM,sCAAsC,CAAC;AAW9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,0BAA2B,SAAQ,uBAAuB;IACrE,MAAM,CAAC,eAAe,EAAE,+BAA+B,EAAE,CAAM;IAE/D,oBAAoB,CAAC,SAAS,SAAS,MAAM,wBAAwB,EACnE,SAAS,EAAE,SAAS,GACnB,OAAO;IAaV,WAAW,CAAC,SAAS,SAAS,MAAM,wBAAwB,EAC1D,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAC5C,IAAI;IAeP,cAAc,CAAC,SAAS,SAAS,MAAM,wBAAwB,EAC7D,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,wBAAwB,CAAC,SAAS,CAAC;IAShD,kBAAkB,CAAC,SAAS,SAAS,MAAM,wBAAwB,EACjE,SAAS,CAAC,EAAE,SAAS;IAKd,oBAAoB,CAC3B,YAAY,EAAE,+BAA+B,GAC5C,MAAM;IAWA,sBAAsB,IAAI,MAAM;IAKhC,OAAO;IAMP,iBAAiB,IAAI,YAAY;CAK3C;AAeD,qBAAa,mBACX,SAAQ,mBACR,YAAW,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,aAAa,EAAE,MAAM;IAMjC,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAIxC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;CAG9D;AAuCD,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;gBAEvC,eAAe,EAAE,eAAe;IAKnC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAI9B,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,MAAM;IAIrB,QAAQ,IAAI,MAAM;CAG5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RtcEngineExInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/RtcEngineExInternal.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,+BAA+B,EAC/B,iBAAiB,EACjB,cAAc,EAEd,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,uBAAuB,EACvB,IAAI,EACL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"RtcEngineExInternal.d.ts","sourceRoot":"","sources":["../../../ts/Private/internal/RtcEngineExInternal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RendererCache.d.ts","sourceRoot":"","sources":["../../ts/Renderer/RendererCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,aAAc,SAAQ,cAAc;IAC/C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAU;IAG1B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,eAAe,CAAa;IAGpC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,cAAc,CAAe;gBAEzB,OAAO,EAAE,eAAe;IAkBpC;;OAEG;IACH,IAAW,eAAe,IAAI,UAAU,GAAG,SAAS,CAEnD;IAED,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,YAAY;IAQX,IAAI,IAAI,IAAI;IAEd,eAAe,IAAI;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"RendererCache.d.ts","sourceRoot":"","sources":["../../ts/Renderer/RendererCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,aAAc,SAAQ,cAAc;IAC/C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAU;IAG1B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,eAAe,CAAa;IAGpC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,cAAc,CAAe;gBAEzB,OAAO,EAAE,eAAe;IAkBpC;;OAEG;IACH,IAAW,eAAe,IAAI,UAAU,GAAG,SAAS,CAEnD;IAED,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,YAAY;IAQX,IAAI,IAAI,IAAI;IAEd,eAAe,IAAI;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;IAgE/D,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAK/C;;;OAGG;IACI,WAAW;IAkClB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAqD/B;;OAEG;IACI,cAAc;IAsCrB;;OAEG;IACM,cAAc,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,IAAI;IAK5C,aAAa;IAWb,OAAO,IAAI,IAAI;CAGvB"}
|