agora-electron-sdk 4.2.3-dev.3 → 4.2.4
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 +14 -0
- package/README.md +1 -1
- package/js/Private/AgoraBase.js +6 -10
- package/js/Private/AgoraMediaBase.js +4 -4
- package/js/Private/IAgoraRtcEngine.js +3 -3
- package/js/Private/internal/IrisApiEngine.js +2 -0
- package/package.json +4 -3
- package/ts/Private/AgoraBase.ts +9 -13
- package/ts/Private/AgoraMediaBase.ts +5 -5
- package/ts/Private/IAgoraMediaEngine.ts +1 -1
- package/ts/Private/IAgoraMediaPlayer.ts +2 -13
- package/ts/Private/IAgoraRtcEngine.ts +35 -19
- package/ts/Private/IAgoraRtcEngineEx.ts +11 -1
- package/ts/Private/IAudioDeviceManager.ts +11 -2
- package/ts/Private/internal/IrisApiEngine.ts +2 -0
- package/types/Private/AgoraBase.d.ts +9 -13
- package/types/Private/AgoraBase.d.ts.map +1 -1
- package/types/Private/AgoraMediaBase.d.ts +5 -5
- package/types/Private/IAgoraMediaEngine.d.ts +1 -1
- package/types/Private/IAgoraMediaPlayer.d.ts +2 -13
- package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -1
- package/types/Private/IAgoraRtcEngine.d.ts +35 -19
- package/types/Private/IAgoraRtcEngine.d.ts.map +1 -1
- package/types/Private/IAgoraRtcEngineEx.d.ts +11 -1
- package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -1
- package/types/Private/IAudioDeviceManager.d.ts +11 -2
- package/types/Private/IAudioDeviceManager.d.ts.map +1 -1
- package/types/Private/internal/IrisApiEngine.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## [4.2.4](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.3...v4.2.4) (2023-10-24)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* upgrade iris to 4.2.3-build.4 ([#1091](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1091)) ([e4a42ac](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/e4a42acf097c1b87c277a7c0da331bba3968e5d0))
|
|
9
|
+
|
|
10
|
+
## [4.2.3](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.2...v4.2.3) (2023-10-13)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* support native 4.2.3 ([#1081](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1081)) ([29dea9c](https://github.com/AgoraIO-Extensions/Electron-SDK/commit/29dea9cc94332cfe5fb7f35da2df79210ad36343)), closes [#1067](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1067) [#1074](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1074) [#1076](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1076) [#1079](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1079) [#1080](https://github.com/AgoraIO-Extensions/Electron-SDK/issues/1080)
|
|
16
|
+
|
|
3
17
|
## [4.2.3-dev.3](https://github.com/AgoraIO-Extensions/Electron-SDK/compare/v4.2.2...v4.2.3-dev.3) (2023-09-22)
|
|
4
18
|
|
|
5
19
|
|
package/README.md
CHANGED
|
@@ -89,7 +89,7 @@ set `externals` property of your webpack config to `{"agora-electron-sdk": "comm
|
|
|
89
89
|
|
|
90
90
|
- [Document](https://docs.agora.io/en/video-call-4.x/API%20Reference/electron_ng/API/rtc_api_overview_ng.html) - Official document
|
|
91
91
|
|
|
92
|
-
- [Demo](./example/) - A quick start demo based on
|
|
92
|
+
- [Demo](./example/) - A quick start demo based on React and this repo
|
|
93
93
|
|
|
94
94
|
- [Changelog](./CHANGELOG.md) - Attention to newest information
|
|
95
95
|
|
package/js/Private/AgoraBase.js
CHANGED
|
@@ -1703,11 +1703,11 @@ var LocalVideoStreamError;
|
|
|
1703
1703
|
*/
|
|
1704
1704
|
LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorDeviceNotFound"] = 8] = "LocalVideoStreamErrorDeviceNotFound";
|
|
1705
1705
|
/**
|
|
1706
|
-
* 9: (
|
|
1706
|
+
* 9: (macOS only) The video capture device currently in use is disconnected (such as being unplugged).
|
|
1707
1707
|
*/
|
|
1708
1708
|
LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorDeviceDisconnected"] = 9] = "LocalVideoStreamErrorDeviceDisconnected";
|
|
1709
1709
|
/**
|
|
1710
|
-
* 10: (
|
|
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
1713
|
/**
|
|
@@ -1715,18 +1715,18 @@ var LocalVideoStreamError;
|
|
|
1715
1715
|
*/
|
|
1716
1716
|
LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorDeviceSystemPressure"] = 101] = "LocalVideoStreamErrorDeviceSystemPressure";
|
|
1717
1717
|
/**
|
|
1718
|
-
* 11: (
|
|
1718
|
+
* 11: (macOS only) The shared window is minimized when you call startScreenCaptureByWindowId to share a window. The SDK cannot share a minimized window. You can cancel the minimization of this window at the application layer, for example by maximizing this window.
|
|
1719
1719
|
*/
|
|
1720
1720
|
LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorScreenCaptureWindowMinimized"] = 11] = "LocalVideoStreamErrorScreenCaptureWindowMinimized";
|
|
1721
1721
|
/**
|
|
1722
|
-
* 12: (
|
|
1722
|
+
* 12: (macOS and Windows only) The error code indicates that a window shared by the window ID has been closed or a full-screen window shared by the window ID has exited full-screen mode. After exiting full-screen mode, remote users cannot see the shared window. To prevent remote users from seeing a black screen, Agora recommends that you immediately stop screen sharing. Common scenarios reporting this error code:
|
|
1723
1723
|
* When the local user closes the shared window, the SDK reports this error code.
|
|
1724
1724
|
* The local user shows some slides in full-screen mode first, and then shares the windows of the slides. After the user exits full-screen mode, the SDK reports this error code.
|
|
1725
1725
|
* The local user watches a web video or reads a web document in full-screen mode first, and then shares the window of the web video or document. After the user exits full-screen mode, the SDK reports this error code.
|
|
1726
1726
|
*/
|
|
1727
1727
|
LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorScreenCaptureWindowClosed"] = 12] = "LocalVideoStreamErrorScreenCaptureWindowClosed";
|
|
1728
1728
|
/**
|
|
1729
|
-
* 13: (
|
|
1729
|
+
* 13: (Windows only) The window being shared is overlapped by another window, so the overlapped area is blacked out by the SDK during window sharing.
|
|
1730
1730
|
*/
|
|
1731
1731
|
LocalVideoStreamError[LocalVideoStreamError["LocalVideoStreamErrorScreenCaptureWindowOccluded"] = 13] = "LocalVideoStreamErrorScreenCaptureWindowOccluded";
|
|
1732
1732
|
/**
|
|
@@ -2300,10 +2300,6 @@ exports.LocalTranscoderConfiguration = LocalTranscoderConfiguration;
|
|
|
2300
2300
|
*/
|
|
2301
2301
|
var VideoTranscoderError;
|
|
2302
2302
|
(function (VideoTranscoderError) {
|
|
2303
|
-
/**
|
|
2304
|
-
* @ignore
|
|
2305
|
-
*/
|
|
2306
|
-
VideoTranscoderError[VideoTranscoderError["VtErrOk"] = 0] = "VtErrOk";
|
|
2307
2303
|
/**
|
|
2308
2304
|
* 1: The selected video source has not started video capture. You need to create a video track for it and start video capture.
|
|
2309
2305
|
*/
|
|
@@ -2577,7 +2573,7 @@ var NetworkType;
|
|
|
2577
2573
|
*/
|
|
2578
2574
|
NetworkType[NetworkType["NetworkTypeMobile4g"] = 5] = "NetworkTypeMobile4g";
|
|
2579
2575
|
/**
|
|
2580
|
-
*
|
|
2576
|
+
* 6: The network type is mobile 5G.
|
|
2581
2577
|
*/
|
|
2582
2578
|
NetworkType[NetworkType["NetworkTypeMobile5g"] = 6] = "NetworkTypeMobile5g";
|
|
2583
2579
|
})(NetworkType = exports.NetworkType || (exports.NetworkType = {}));
|
|
@@ -253,15 +253,15 @@ var ContentInspectType;
|
|
|
253
253
|
*/
|
|
254
254
|
ContentInspectType[ContentInspectType["ContentInspectInvalid"] = 0] = "ContentInspectInvalid";
|
|
255
255
|
/**
|
|
256
|
-
*
|
|
256
|
+
* @ignore
|
|
257
257
|
*/
|
|
258
258
|
ContentInspectType[ContentInspectType["ContentInspectModeration"] = 1] = "ContentInspectModeration";
|
|
259
259
|
/**
|
|
260
|
-
*
|
|
260
|
+
* 2: Video screenshot and upload via Agora self-developed extension. SDK takes screenshots of the video stream in the channel and uploads them.
|
|
261
261
|
*/
|
|
262
262
|
ContentInspectType[ContentInspectType["ContentInspectSupervision"] = 2] = "ContentInspectSupervision";
|
|
263
263
|
/**
|
|
264
|
-
*
|
|
264
|
+
* 3: Video screenshot and upload via extensions from Agora Extensions Marketplace. SDK uses video moderation extensions from Agora Extensions Marketplace to take screenshots of the video stream in the channel and uploads them.
|
|
265
265
|
*/
|
|
266
266
|
ContentInspectType[ContentInspectType["ContentInspectImageModeration"] = 3] = "ContentInspectImageModeration";
|
|
267
267
|
})(ContentInspectType = exports.ContentInspectType || (exports.ContentInspectType = {}));
|
|
@@ -358,7 +358,7 @@ var VideoPixelFormat;
|
|
|
358
358
|
*/
|
|
359
359
|
VideoPixelFormat[VideoPixelFormat["VideoPixelRgba"] = 4] = "VideoPixelRgba";
|
|
360
360
|
/**
|
|
361
|
-
*
|
|
361
|
+
* @ignore
|
|
362
362
|
*/
|
|
363
363
|
VideoPixelFormat[VideoPixelFormat["VideoPixelNv12"] = 8] = "VideoPixelNv12";
|
|
364
364
|
/**
|
|
@@ -494,16 +494,16 @@ var ProxyType;
|
|
|
494
494
|
ProxyType[ProxyType["HttpsProxyType"] = 6] = "HttpsProxyType";
|
|
495
495
|
})(ProxyType = exports.ProxyType || (exports.ProxyType = {}));
|
|
496
496
|
/**
|
|
497
|
-
*
|
|
497
|
+
* The type of the advanced feature.
|
|
498
498
|
*/
|
|
499
499
|
var FeatureType;
|
|
500
500
|
(function (FeatureType) {
|
|
501
501
|
/**
|
|
502
|
-
*
|
|
502
|
+
* 1: Virtual background.
|
|
503
503
|
*/
|
|
504
504
|
FeatureType[FeatureType["VideoVirtualBackground"] = 1] = "VideoVirtualBackground";
|
|
505
505
|
/**
|
|
506
|
-
*
|
|
506
|
+
* 2: Image enhancement.
|
|
507
507
|
*/
|
|
508
508
|
FeatureType[FeatureType["VideoBeautyEffect"] = 2] = "VideoBeautyEffect";
|
|
509
509
|
})(FeatureType = exports.FeatureType || (exports.FeatureType = {}));
|
|
@@ -330,6 +330,8 @@ function callIrisApi(funcName, params) {
|
|
|
330
330
|
buffers.push(Buffer.from(''));
|
|
331
331
|
// frame.alphaBuffer
|
|
332
332
|
buffers.push(params.frame.alphaBuffer);
|
|
333
|
+
// frame.d3d11_texture_2d
|
|
334
|
+
buffers.push(Buffer.from(''));
|
|
333
335
|
break;
|
|
334
336
|
case 'MediaEngine_pushEncodedVideoImage':
|
|
335
337
|
// imageBuffer
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agora-electron-sdk",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.4",
|
|
4
4
|
"description": "agora-electron-sdk",
|
|
5
5
|
"main": "js/AgoraSdk",
|
|
6
6
|
"types": "types/AgoraSdk.d.ts",
|
|
@@ -125,6 +125,7 @@
|
|
|
125
125
|
"fs-extra": "^11.1.1",
|
|
126
126
|
"gulp": "^4.0.2",
|
|
127
127
|
"json-bigint": "^1.0.0",
|
|
128
|
+
"jsonfile": "^6.1.0",
|
|
128
129
|
"lodash.isequal": "^4.5.0",
|
|
129
130
|
"minimist": "^1.2.5",
|
|
130
131
|
"shelljs": "^0.8.4",
|
|
@@ -134,7 +135,7 @@
|
|
|
134
135
|
"yuv-canvas": "1.2.6"
|
|
135
136
|
},
|
|
136
137
|
"agora_electron": {
|
|
137
|
-
"iris_sdk_win": "https://download.agora.io/sdk/release/iris_4.2.3-
|
|
138
|
-
"iris_sdk_mac": "https://download.agora.io/sdk/release/iris_4.2.3-
|
|
138
|
+
"iris_sdk_win": "https://download.agora.io/sdk/release/iris_4.2.3-build.4_DCG_Windows_Video_20231019_0355.zip",
|
|
139
|
+
"iris_sdk_mac": "https://download.agora.io/sdk/release/iris_4.2.3-build.4_DCG_Mac_Video_20231019_0355.zip"
|
|
139
140
|
}
|
|
140
141
|
}
|
package/ts/Private/AgoraBase.ts
CHANGED
|
@@ -2047,11 +2047,11 @@ export enum LocalVideoStreamError {
|
|
|
2047
2047
|
*/
|
|
2048
2048
|
LocalVideoStreamErrorDeviceNotFound = 8,
|
|
2049
2049
|
/**
|
|
2050
|
-
* 9: (
|
|
2050
|
+
* 9: (macOS only) The video capture device currently in use is disconnected (such as being unplugged).
|
|
2051
2051
|
*/
|
|
2052
2052
|
LocalVideoStreamErrorDeviceDisconnected = 9,
|
|
2053
2053
|
/**
|
|
2054
|
-
* 10: (
|
|
2054
|
+
* 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.
|
|
2055
2055
|
*/
|
|
2056
2056
|
LocalVideoStreamErrorDeviceInvalidId = 10,
|
|
2057
2057
|
/**
|
|
@@ -2059,18 +2059,18 @@ export enum LocalVideoStreamError {
|
|
|
2059
2059
|
*/
|
|
2060
2060
|
LocalVideoStreamErrorDeviceSystemPressure = 101,
|
|
2061
2061
|
/**
|
|
2062
|
-
* 11: (
|
|
2062
|
+
* 11: (macOS only) The shared window is minimized when you call startScreenCaptureByWindowId to share a window. The SDK cannot share a minimized window. You can cancel the minimization of this window at the application layer, for example by maximizing this window.
|
|
2063
2063
|
*/
|
|
2064
2064
|
LocalVideoStreamErrorScreenCaptureWindowMinimized = 11,
|
|
2065
2065
|
/**
|
|
2066
|
-
* 12: (
|
|
2066
|
+
* 12: (macOS and Windows only) The error code indicates that a window shared by the window ID has been closed or a full-screen window shared by the window ID has exited full-screen mode. After exiting full-screen mode, remote users cannot see the shared window. To prevent remote users from seeing a black screen, Agora recommends that you immediately stop screen sharing. Common scenarios reporting this error code:
|
|
2067
2067
|
* When the local user closes the shared window, the SDK reports this error code.
|
|
2068
2068
|
* The local user shows some slides in full-screen mode first, and then shares the windows of the slides. After the user exits full-screen mode, the SDK reports this error code.
|
|
2069
2069
|
* The local user watches a web video or reads a web document in full-screen mode first, and then shares the window of the web video or document. After the user exits full-screen mode, the SDK reports this error code.
|
|
2070
2070
|
*/
|
|
2071
2071
|
LocalVideoStreamErrorScreenCaptureWindowClosed = 12,
|
|
2072
2072
|
/**
|
|
2073
|
-
* 13: (
|
|
2073
|
+
* 13: (Windows only) The window being shared is overlapped by another window, so the overlapped area is blacked out by the SDK during window sharing.
|
|
2074
2074
|
*/
|
|
2075
2075
|
LocalVideoStreamErrorScreenCaptureWindowOccluded = 13,
|
|
2076
2076
|
/**
|
|
@@ -2776,7 +2776,7 @@ export class LiveTranscoding {
|
|
|
2776
2776
|
*/
|
|
2777
2777
|
height?: number;
|
|
2778
2778
|
/**
|
|
2779
|
-
* Bitrate of the output video stream for Media Push in Kbps. The default value is 400 Kbps.
|
|
2779
|
+
* Bitrate of the output video stream for Media Push in Kbps. The default value is 400 Kbps. Set this member according to the table. If you set a bitrate beyond the proper range, the SDK automatically adapts it to a value within the range.
|
|
2780
2780
|
*/
|
|
2781
2781
|
videoBitrate?: number;
|
|
2782
2782
|
/**
|
|
@@ -2944,10 +2944,6 @@ export class LocalTranscoderConfiguration {
|
|
|
2944
2944
|
* The error code of the local video mixing failure.
|
|
2945
2945
|
*/
|
|
2946
2946
|
export enum VideoTranscoderError {
|
|
2947
|
-
/**
|
|
2948
|
-
* @ignore
|
|
2949
|
-
*/
|
|
2950
|
-
VtErrOk = 0,
|
|
2951
2947
|
/**
|
|
2952
2948
|
* 1: The selected video source has not started video capture. You need to create a video track for it and start video capture.
|
|
2953
2949
|
*/
|
|
@@ -3265,7 +3261,7 @@ export enum NetworkType {
|
|
|
3265
3261
|
*/
|
|
3266
3262
|
NetworkTypeMobile4g = 5,
|
|
3267
3263
|
/**
|
|
3268
|
-
*
|
|
3264
|
+
* 6: The network type is mobile 5G.
|
|
3269
3265
|
*/
|
|
3270
3266
|
NetworkTypeMobile5g = 6,
|
|
3271
3267
|
}
|
|
@@ -3870,7 +3866,7 @@ export class ScreenCaptureParameters {
|
|
|
3870
3866
|
*/
|
|
3871
3867
|
bitrate?: number;
|
|
3872
3868
|
/**
|
|
3873
|
-
* Whether to capture the mouse in screen sharing: true : (Default) Capture the mouse. false : Do not capture the mouse.
|
|
3869
|
+
* Whether to capture the mouse in screen sharing: true : (Default) Capture the mouse. false : Do not capture the mouse. Due to macOS system restrictions, setting this parameter to false is ineffective during screen sharing (it has no impact when sharing a window).
|
|
3874
3870
|
*/
|
|
3875
3871
|
captureMouseCursor?: boolean;
|
|
3876
3872
|
/**
|
|
@@ -3963,7 +3959,7 @@ export enum AudioEncodedFrameObserverPosition {
|
|
|
3963
3959
|
*/
|
|
3964
3960
|
export class AudioRecordingConfiguration {
|
|
3965
3961
|
/**
|
|
3966
|
-
* The absolute path (including the filename extensions) of the recording file. For example: C:\music\audio.
|
|
3962
|
+
* The absolute path (including the filename extensions) of the recording file. For example: C:\music\audio.aac. Ensure that the directory for the log files exists and is writable.
|
|
3967
3963
|
*/
|
|
3968
3964
|
filePath?: string;
|
|
3969
3965
|
/**
|
|
@@ -260,15 +260,15 @@ export enum ContentInspectType {
|
|
|
260
260
|
*/
|
|
261
261
|
ContentInspectInvalid = 0,
|
|
262
262
|
/**
|
|
263
|
-
*
|
|
263
|
+
* @ignore
|
|
264
264
|
*/
|
|
265
265
|
ContentInspectModeration = 1,
|
|
266
266
|
/**
|
|
267
|
-
*
|
|
267
|
+
* 2: Video screenshot and upload via Agora self-developed extension. SDK takes screenshots of the video stream in the channel and uploads them.
|
|
268
268
|
*/
|
|
269
269
|
ContentInspectSupervision = 2,
|
|
270
270
|
/**
|
|
271
|
-
*
|
|
271
|
+
* 3: Video screenshot and upload via extensions from Agora Extensions Marketplace. SDK uses video moderation extensions from Agora Extensions Marketplace to take screenshots of the video stream in the channel and uploads them.
|
|
272
272
|
*/
|
|
273
273
|
ContentInspectImageModeration = 3,
|
|
274
274
|
}
|
|
@@ -414,7 +414,7 @@ export enum VideoPixelFormat {
|
|
|
414
414
|
*/
|
|
415
415
|
VideoPixelRgba = 4,
|
|
416
416
|
/**
|
|
417
|
-
*
|
|
417
|
+
* @ignore
|
|
418
418
|
*/
|
|
419
419
|
VideoPixelNv12 = 8,
|
|
420
420
|
/**
|
|
@@ -588,7 +588,7 @@ export class ExternalVideoFrame {
|
|
|
588
588
|
*/
|
|
589
589
|
alphaBuffer?: Uint8Array;
|
|
590
590
|
/**
|
|
591
|
-
*
|
|
591
|
+
* This parameter only applies to video data in Windows Texture format. It represents an index of an ID3D11Texture2D texture object used by the video frame in the ID3D11Texture2D array.
|
|
592
592
|
*/
|
|
593
593
|
texture_slice_index?: number;
|
|
594
594
|
}
|
|
@@ -286,7 +286,7 @@ export abstract class IMediaEngine {
|
|
|
286
286
|
abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number;
|
|
287
287
|
|
|
288
288
|
/**
|
|
289
|
-
* Unregisters a receiver object for the encoded video
|
|
289
|
+
* Unregisters a receiver object for the encoded video frame.
|
|
290
290
|
*
|
|
291
291
|
* @param observer The video observer, reporting the reception of each video frame. See IVideoEncodedFrameObserver.
|
|
292
292
|
*
|
|
@@ -141,7 +141,7 @@ export abstract class IMediaPlayer {
|
|
|
141
141
|
/**
|
|
142
142
|
* Gets the number of the media streams in the media resource.
|
|
143
143
|
*
|
|
144
|
-
* Call this method after
|
|
144
|
+
* Call this method after you call open and receive the onPlayerSourceStateChanged callback reporting the state PlayerStateOpenCompleted.
|
|
145
145
|
*
|
|
146
146
|
* @returns
|
|
147
147
|
* The number of the media streams in the media resource if the method call succeeds.
|
|
@@ -210,18 +210,7 @@ export abstract class IMediaPlayer {
|
|
|
210
210
|
abstract setPlayerOptionInInt(key: string, value: number): number;
|
|
211
211
|
|
|
212
212
|
/**
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
* The media player supports setting private options by key and value. Under normal circumstances, you do not need to know the private option settings, and just use the default option settings.
|
|
216
|
-
* Ensure that you call this method before open.
|
|
217
|
-
* If you need to push streams with SEI into the CDN, call setPlayerOptionInString ("sei_data_with_uuid", 1); otherwise, the loss of SEI might occurs.
|
|
218
|
-
*
|
|
219
|
-
* @param key The key of the option.
|
|
220
|
-
* @param value The value of the key.
|
|
221
|
-
*
|
|
222
|
-
* @returns
|
|
223
|
-
* 0: Success.
|
|
224
|
-
* < 0: Failure.
|
|
213
|
+
* @ignore
|
|
225
214
|
*/
|
|
226
215
|
abstract setPlayerOptionInString(key: string, value: string): number;
|
|
227
216
|
|
|
@@ -1218,15 +1218,15 @@ export enum ProxyType {
|
|
|
1218
1218
|
}
|
|
1219
1219
|
|
|
1220
1220
|
/**
|
|
1221
|
-
*
|
|
1221
|
+
* The type of the advanced feature.
|
|
1222
1222
|
*/
|
|
1223
1223
|
export enum FeatureType {
|
|
1224
1224
|
/**
|
|
1225
|
-
*
|
|
1225
|
+
* 1: Virtual background.
|
|
1226
1226
|
*/
|
|
1227
1227
|
VideoVirtualBackground = 1,
|
|
1228
1228
|
/**
|
|
1229
|
-
*
|
|
1229
|
+
* 2: Image enhancement.
|
|
1230
1230
|
*/
|
|
1231
1231
|
VideoBeautyEffect = 2,
|
|
1232
1232
|
}
|
|
@@ -3272,7 +3272,8 @@ export abstract class IRtcEngine {
|
|
|
3272
3272
|
*
|
|
3273
3273
|
* Enables or disables image enhancement, and sets the options.
|
|
3274
3274
|
* Call this method before calling enableVideo or startPreview.
|
|
3275
|
-
* This method relies on the
|
|
3275
|
+
* This method relies on the image enhancement dynamic library libagora_clear_vision_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
|
|
3276
|
+
* This feature has high requirements on device performance. When calling this method, the SDK automatically checks the capabilities of the current device.
|
|
3276
3277
|
*
|
|
3277
3278
|
* @param enabled Whether to enable the image enhancement function: true : Enable the image enhancement function. false : (Default) Disable the image enhancement function.
|
|
3278
3279
|
* @param options The image enhancement options. See BeautyOptions.
|
|
@@ -3283,6 +3284,8 @@ export abstract class IRtcEngine {
|
|
|
3283
3284
|
* @returns
|
|
3284
3285
|
* 0: Success.
|
|
3285
3286
|
* < 0: Failure.
|
|
3287
|
+
* -4: The current device does not support this feature. Possible reasons include:
|
|
3288
|
+
* The current device capabilities do not meet the requirements for image enhancement. Agora recommends you replace it with a high-performance device.
|
|
3286
3289
|
*/
|
|
3287
3290
|
abstract setBeautyEffectOptions(
|
|
3288
3291
|
enabled: boolean,
|
|
@@ -3299,7 +3302,7 @@ export abstract class IRtcEngine {
|
|
|
3299
3302
|
* Both this method and setExtensionProperty can turn on low-light enhancement:
|
|
3300
3303
|
* When you use the SDK to capture video, Agora recommends this method (this method only works for video captured by the SDK).
|
|
3301
3304
|
* When you use an external video source to implement custom video capture, or send an external video source to the SDK, Agora recommends using setExtensionProperty.
|
|
3302
|
-
* This method relies on the
|
|
3305
|
+
* This method relies on the image enhancement dynamic library libagora_clear_vision_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
|
|
3303
3306
|
*
|
|
3304
3307
|
* @param enabled Whether to enable low-light enhancement function: true : Enable low-light enhancement function. false : (Default) Disable low-light enhancement function.
|
|
3305
3308
|
* @param options The low-light enhancement options. See LowlightEnhanceOptions.
|
|
@@ -3324,7 +3327,7 @@ export abstract class IRtcEngine {
|
|
|
3324
3327
|
* Both this method and setExtensionProperty can turn on video noise reduction function:
|
|
3325
3328
|
* When you use the SDK to capture video, Agora recommends this method (this method only works for video captured by the SDK).
|
|
3326
3329
|
* When you use an external video source to implement custom video capture, or send an external video source to the SDK, Agora recommends using setExtensionProperty.
|
|
3327
|
-
* This method relies on the
|
|
3330
|
+
* This method relies on the image enhancement dynamic library libagora_clear_vision_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
|
|
3328
3331
|
*
|
|
3329
3332
|
* @param enabled Whether to enable video noise reduction: true : Enable video noise reduction. false : (Default) Disable video noise reduction.
|
|
3330
3333
|
* @param options The video noise reduction options. See VideoDenoiserOptions.
|
|
@@ -3349,7 +3352,7 @@ export abstract class IRtcEngine {
|
|
|
3349
3352
|
* Both this method and setExtensionProperty can enable color enhancement:
|
|
3350
3353
|
* When you use the SDK to capture video, Agora recommends this method (this method only works for video captured by the SDK).
|
|
3351
3354
|
* When you use an external video source to implement custom video capture, or send an external video source to the SDK, Agora recommends using setExtensionProperty.
|
|
3352
|
-
* This method relies on the
|
|
3355
|
+
* This method relies on the image enhancement dynamic library libagora_clear_vision_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
|
|
3353
3356
|
*
|
|
3354
3357
|
* @param enabled Whether to enable color enhancement: true Enable color enhancement. false : (Default) Disable color enhancement.
|
|
3355
3358
|
* @param options The color enhancement options. See ColorEnhanceOptions.
|
|
@@ -3369,7 +3372,7 @@ export abstract class IRtcEngine {
|
|
|
3369
3372
|
* Enables/Disables the virtual background.
|
|
3370
3373
|
*
|
|
3371
3374
|
* The virtual background feature enables the local user to replace their original background with a static image, dynamic video, blurred background, or portrait-background segmentation to achieve picture-in-picture effect. Once the virtual background feature is enabled, all users in the channel can see the custom background. Call this method before calling enableVideo or startPreview.
|
|
3372
|
-
* This feature
|
|
3375
|
+
* This feature has high requirements on device performance. When calling this method, the SDK automatically checks the capabilities of the current device. Agora recommends you use virtual background on devices with the following processors:
|
|
3373
3376
|
* Devices with an i5 CPU and better
|
|
3374
3377
|
* Agora recommends that you use this feature in scenarios that meet the following conditions:
|
|
3375
3378
|
* A high-definition camera device is used, and the environment is uniformly lit.
|
|
@@ -3386,9 +3389,7 @@ export abstract class IRtcEngine {
|
|
|
3386
3389
|
* @returns
|
|
3387
3390
|
* 0: Success.
|
|
3388
3391
|
* < 0: Failure.
|
|
3389
|
-
* -
|
|
3390
|
-
* -2: The color format of the custom background image is invalid. Check the value of color in VirtualBackgroundSource.
|
|
3391
|
-
* -3: The device does not support virtual background.
|
|
3392
|
+
* -4: The device capabilities do not meet the requirements for the virtual background feature. Agora recommends you try it on devices with higher performance.
|
|
3392
3393
|
*/
|
|
3393
3394
|
abstract enableVirtualBackground(
|
|
3394
3395
|
enabled: boolean,
|
|
@@ -3511,7 +3512,7 @@ export abstract class IRtcEngine {
|
|
|
3511
3512
|
/**
|
|
3512
3513
|
* Enables or disables the local audio capture.
|
|
3513
3514
|
*
|
|
3514
|
-
* The audio function is enabled by default when users joining a channel. This method disables or re-enables the local audio function to stop or restart local audio capturing. This method does not affect receiving
|
|
3515
|
+
* The audio function is enabled by default when users joining a channel. This method disables or re-enables the local audio function to stop or restart local audio capturing. This method does not affect receiving the remote audio streams, and enableLocalAudio (false) is applicable to scenarios where the user wants to receive remote audio streams without sending any audio stream to other users in the channel. Once the local audio function is disabled or re-enabled, the SDK triggers the onLocalAudioStateChanged callback, which reports LocalAudioStreamStateStopped (0) or LocalAudioStreamStateRecording (1).
|
|
3515
3516
|
* The difference between this method and muteLocalAudioStream are as follow: enableLocalAudio : Disables or re-enables the local audio capturing and processing. If you disable or re-enable local audio capturing using the enableLocalAudio method, the local user might hear a pause in the remote audio playback. muteLocalAudioStream : Sends or stops sending the local audio streams.
|
|
3516
3517
|
* You can call this method either before or after joining a channel. Calling it before joining a channel only sets the device state, and it takes effect immediately after you join the channel.
|
|
3517
3518
|
*
|
|
@@ -3678,7 +3679,7 @@ export abstract class IRtcEngine {
|
|
|
3678
3679
|
/**
|
|
3679
3680
|
* Sets the default stream type of subscrption for remote video streams.
|
|
3680
3681
|
*
|
|
3681
|
-
* By default, the SDK enables the low-quality video stream auto mode on the sending end (it does not actively send the low-quality video stream). The host identity receiver can initiate a low-quality video stream application at the receiving end by calling this method (the call to this method by the audience receiver does not take effect). After receiving the application, the sending end automatically switches to the low-quality video stream mode. Under limited network conditions, if the publisher has not disabled the dual-stream mode using enableDualStreamMode (false), the receiver can choose to receive either the high-quality video stream or the low-
|
|
3682
|
+
* By default, the SDK enables the low-quality video stream auto mode on the sending end (it does not actively send the low-quality video stream). The host identity receiver can initiate a low-quality video stream application at the receiving end by calling this method (the call to this method by the audience receiver does not take effect). After receiving the application, the sending end automatically switches to the low-quality video stream mode. Under limited network conditions, if the publisher has not disabled the dual-stream mode using enableDualStreamMode (false), the receiver can choose to receive either the high-quality video stream or the low-video stream. The high-quality video stream has a higher resolution and bitrate, and the low-quality video stream has a lower resolution and bitrate. By default, users receive the high-quality video stream. Call this method if you want to switch to the low-quality video stream. This method allows the app to adjust the corresponding video stream type based on the size of the video window to reduce the bandwidth and resources. The aspect ratio of the low-quality video stream is the same as the high-quality video stream. Once the resolution of the high-quality video stream is set, the system automatically sets the resolution, frame rate, and bitrate of the low-quality video stream.
|
|
3682
3683
|
* Call this method before joining a channel. The SDK does not support changing the default subscribed video stream type after joining a channel.
|
|
3683
3684
|
* If you call both this method and setRemoteVideoStreamType, the SDK applies the settings in the setRemoteVideoStreamType method.
|
|
3684
3685
|
*
|
|
@@ -4058,7 +4059,7 @@ export abstract class IRtcEngine {
|
|
|
4058
4059
|
* Sets the channel mode of the current audio file.
|
|
4059
4060
|
*
|
|
4060
4061
|
* In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. If you only need to listen to the accompaniment, call this method to set the channel mode of the music file to left channel mode; if you need to listen to the accompaniment and the singing voice at the same time, call this method to set the channel mode to mixed channel mode.
|
|
4061
|
-
*
|
|
4062
|
+
* You need to call this method after calling startAudioMixing and receiving the onAudioMixingStateChanged (AudioMixingStatePlaying) callback.
|
|
4062
4063
|
* This method only applies to stereo audio files.
|
|
4063
4064
|
*
|
|
4064
4065
|
* @param mode The channel mode. See AudioMixingDualMonoMode.
|
|
@@ -6425,11 +6426,10 @@ export abstract class IRtcEngine {
|
|
|
6425
6426
|
/**
|
|
6426
6427
|
* Enables or disables video screenshot and upload.
|
|
6427
6428
|
*
|
|
6428
|
-
* When video screenshot and upload function is enabled, the SDK takes screenshots and
|
|
6429
|
-
* This method relies on the video screenshot and upload dynamic library libagora_content_inspect_extension.dll. If the dynamic library is deleted, the function cannot be enabled normally.
|
|
6429
|
+
* When video screenshot and upload function is enabled, the SDK takes screenshots and uploads videos sent by local users based on the type and frequency of the module you set in ContentInspectConfig. After video screenshot and upload, the Agora server sends the callback notification to your app server in HTTPS requests and sends all screenshots to the third-party cloud storage service. Before calling this method, ensure that you have contacted to activate the video screenshot upload service.
|
|
6430
6430
|
*
|
|
6431
6431
|
* @param enabled Whether to enable video screenshot and upload : true : Enables video screenshot and upload. false : Disables video screenshot and upload.
|
|
6432
|
-
* @param config Configuration of video screenshot and upload. See ContentInspectConfig.
|
|
6432
|
+
* @param config Configuration of video screenshot and upload. See ContentInspectConfig. When the video moderation module is set to video moderation via Agora self-developed extension(ContentInspectSupervision), the video screenshot and upload dynamic library libagora_content_inspect_extension.dll is required. Deleting this library disables the screenshot and upload feature.
|
|
6433
6433
|
*
|
|
6434
6434
|
* @returns
|
|
6435
6435
|
* 0: Success.
|
|
@@ -6458,7 +6458,16 @@ export abstract class IRtcEngine {
|
|
|
6458
6458
|
): number;
|
|
6459
6459
|
|
|
6460
6460
|
/**
|
|
6461
|
-
*
|
|
6461
|
+
* Adjusts the volume of the custom audio track played locally.
|
|
6462
|
+
*
|
|
6463
|
+
* Ensure you have called the createCustomAudioTrack method to create a custom audio track before calling this method. If you want to change the volume of the audio to be played locally, you need to call this method again.
|
|
6464
|
+
*
|
|
6465
|
+
* @param trackId The audio track ID. Set this parameter to the custom audio track ID returned in createCustomAudioTrack.
|
|
6466
|
+
* @param volume The volume of the audio source. The value can range from 0 to 100. 0 means mute; 100 means the original volume.
|
|
6467
|
+
*
|
|
6468
|
+
* @returns
|
|
6469
|
+
* 0: Success.
|
|
6470
|
+
* < 0: Failure.
|
|
6462
6471
|
*/
|
|
6463
6472
|
abstract adjustCustomAudioPlayoutVolume(
|
|
6464
6473
|
trackId: number,
|
|
@@ -6611,7 +6620,14 @@ export abstract class IRtcEngine {
|
|
|
6611
6620
|
abstract getNtpWallTimeInMs(): number;
|
|
6612
6621
|
|
|
6613
6622
|
/**
|
|
6614
|
-
*
|
|
6623
|
+
* Checks whether the device supports the specified advanced feature.
|
|
6624
|
+
*
|
|
6625
|
+
* Checks whether the capabilities of the current device meet the requirements for advanced features such as virtual background and image enhancement.
|
|
6626
|
+
*
|
|
6627
|
+
* @param type The type of the advanced feature, see FeatureType.
|
|
6628
|
+
*
|
|
6629
|
+
* @returns
|
|
6630
|
+
* true : The current device supports the specified feature. false : The current device does not support the specified feature.
|
|
6615
6631
|
*/
|
|
6616
6632
|
abstract isFeatureAvailableOnDevice(type: FeatureType): boolean;
|
|
6617
6633
|
|
|
@@ -918,7 +918,17 @@ export abstract class IRtcEngineEx extends IRtcEngine {
|
|
|
918
918
|
): number;
|
|
919
919
|
|
|
920
920
|
/**
|
|
921
|
-
*
|
|
921
|
+
* Enables or disables video screenshot and upload.
|
|
922
|
+
*
|
|
923
|
+
* This method can take screenshots for multiple video streams and upload them. When video screenshot and upload function is enabled, the SDK takes screenshots and uploads videos sent by local users based on the type and frequency of the module you set in ContentInspectConfig. After video screenshot and upload, the Agora server sends the callback notification to your app server in HTTPS requests and sends all screenshots to the third-party cloud storage service. Before calling this method, ensure that you have contacted to activate the video screenshot upload service.
|
|
924
|
+
*
|
|
925
|
+
* @param enabled Whether to enable video screenshot and upload : true : Enables video screenshot and upload. false : Disables video screenshot and upload.
|
|
926
|
+
* @param config Configuration of video screenshot and upload. See ContentInspectConfig. When the video moderation module is set to video moderation via Agora self-developed extension(ContentInspectSupervision), the video screenshot and upload dynamic library libagora_content_inspect_extension.dll is required. Deleting this library disables the screenshot and upload feature.
|
|
927
|
+
* @param connection The connection information. See RtcConnection.
|
|
928
|
+
*
|
|
929
|
+
* @returns
|
|
930
|
+
* 0: Success.
|
|
931
|
+
* < 0: Failure.
|
|
922
932
|
*/
|
|
923
933
|
abstract enableContentInspectEx(
|
|
924
934
|
enabled: boolean,
|
|
@@ -146,12 +146,21 @@ export abstract class IAudioDeviceManager {
|
|
|
146
146
|
abstract getLoopbackDevice(): string;
|
|
147
147
|
|
|
148
148
|
/**
|
|
149
|
-
*
|
|
149
|
+
* Mutes the audio playback device.
|
|
150
|
+
*
|
|
151
|
+
* @param mute Whether to mute the audio playback device: true : Mute the audio playback device. false : Unmute the audio playback device.
|
|
152
|
+
*
|
|
153
|
+
* @returns
|
|
154
|
+
* 0: Success.
|
|
155
|
+
* < 0: Failure.
|
|
150
156
|
*/
|
|
151
157
|
abstract setPlaybackDeviceMute(mute: boolean): number;
|
|
152
158
|
|
|
153
159
|
/**
|
|
154
|
-
*
|
|
160
|
+
* Retrieves whether the audio playback device is muted.
|
|
161
|
+
*
|
|
162
|
+
* @returns
|
|
163
|
+
* true : The audio playback device is muted. false : The audio playback device is unmuted.
|
|
155
164
|
*/
|
|
156
165
|
abstract getPlaybackDeviceMute(): boolean;
|
|
157
166
|
|
|
@@ -433,6 +433,8 @@ export function callIrisApi(funcName: string, params: any): any {
|
|
|
433
433
|
buffers.push(Buffer.from(''));
|
|
434
434
|
// frame.alphaBuffer
|
|
435
435
|
buffers.push(params.frame.alphaBuffer);
|
|
436
|
+
// frame.d3d11_texture_2d
|
|
437
|
+
buffers.push(Buffer.from(''));
|
|
436
438
|
break;
|
|
437
439
|
case 'MediaEngine_pushEncodedVideoImage':
|
|
438
440
|
// imageBuffer
|