diff --git a/src/AgoraBase.ts b/src/AgoraBase.ts index e371f5ae..2b51c3a6 100644 --- a/src/AgoraBase.ts +++ b/src/AgoraBase.ts @@ -438,6 +438,10 @@ export enum ErrorCodeType { * 1501: Permission to access the camera is not granted. Check whether permission to access the camera permission is granted. */ ErrVdmCameraNotAuthorized = 1501, + /** + * @ignore + */ + ErrAdmApplicationLoopback = 2007, } /** @@ -2078,6 +2082,26 @@ export enum LocalVideoStreamError { * @ignore */ LocalVideoStreamErrorScreenCaptureNoPermission = 22, + /** + * @ignore + */ + LocalVideoStreamErrorScreenCapturePaused = 23, + /** + * @ignore + */ + LocalVideoStreamErrorScreenCaptureResumed = 24, + /** + * @ignore + */ + LocalVideoStreamErrorScreenCaptureWindowHidden = 25, + /** + * @ignore + */ + LocalVideoStreamErrorScreenCaptureWindowRecoverFromHidden = 26, + /** + * @ignore + */ + LocalVideoStreamErrorScreenCaptureWindowRecoverFromMinimized = 27, } /** @@ -3125,6 +3149,10 @@ export enum ConnectionChangedReasonType { * @ignore */ ConnectionChangedLicenseValidationFailure = 21, + /** + * @ignore + */ + ConnectionChangedCertificationVeryfyFailure = 22, } /** @@ -3235,6 +3263,10 @@ export enum NetworkType { * 5: The network type is mobile 4G. */ NetworkTypeMobile4g = 5, + /** + * @ignore + */ + NetworkTypeMobile5g = 6, } /** diff --git a/src/AgoraMediaBase.ts b/src/AgoraMediaBase.ts index 31f8bc7e..e3fe44d1 100644 --- a/src/AgoraMediaBase.ts +++ b/src/AgoraMediaBase.ts @@ -267,6 +267,10 @@ export enum ContentInspectType { * @ignore */ ContentInspectSupervision = 2, + /** + * @ignore + */ + ContentInspectImageModeration = 3, } /** @@ -291,6 +295,10 @@ export class ContentInspectConfig { * Additional information on the video content (maximum length: 1024 Bytes). The SDK sends the screenshots and additional information on the video content to the Agora server. Once the video screenshot and upload process is completed, the Agora server sends the additional information and the callback notification to your server. */ extraInfo?: string; + /** + * @ignore + */ + serverConfig?: string; /** * Functional module. See ContentInspectModule. A maximum of 32 ContentInspectModule instances can be configured, and the value range of MAX_CONTENT_INSPECT_MODULE_COUNT is an integer in [1,32]. A function module can only be configured with one instance at most. Currently only the video screenshot and upload function is supported. */ @@ -433,6 +441,10 @@ export enum VideoPixelFormat { * 16: The format is I422. */ VideoPixelI422 = 16, + /** + * @ignore + */ + VideoTextureId3d11texture2d = 17, } /** @@ -575,6 +587,10 @@ export class ExternalVideoFrame { * @ignore */ alphaBuffer?: Uint8Array; + /** + * @ignore + */ + texture_slice_index?: number; } /** diff --git a/src/IAgoraMusicContentCenter.ts b/src/IAgoraMusicContentCenter.ts index 03b5851d..fb1aeff6 100644 --- a/src/IAgoraMusicContentCenter.ts +++ b/src/IAgoraMusicContentCenter.ts @@ -55,6 +55,10 @@ export enum MusicContentCenterStatusCode { * @ignore */ KMusicContentCenterStatusErrMusicDecryption = 6, + /** + * @ignore + */ + KMusicContentCenterStatusErrHttpInternalError = 7, } /** @@ -309,6 +313,10 @@ export class MusicContentCenterConfiguration { * @ignore */ maxCacheSize?: number; + /** + * @ignore + */ + mccDomain?: string; } /** diff --git a/src/IAgoraRtcEngine.ts b/src/IAgoraRtcEngine.ts index 0cc73542..a635d38c 100644 --- a/src/IAgoraRtcEngine.ts +++ b/src/IAgoraRtcEngine.ts @@ -1215,6 +1215,20 @@ export enum ProxyType { HttpsProxyType = 6, } +/** + * @ignore + */ +export enum FeatureType { + /** + * @ignore + */ + VideoVirtualBackground = 1, + /** + * @ignore + */ + VideoBeautyEffect = 2, +} + /** * The options for leaving a channel. */ @@ -6726,6 +6740,11 @@ export abstract class IRtcEngine { */ abstract getNtpWallTimeInMs(): number; + /** + * @ignore + */ + abstract isFeatureAvailableOnDevice(type: FeatureType): boolean; + /** * Gets the IAudioDeviceManager object to manage audio devices. * diff --git a/src/IAgoraRtcEngineEx.ts b/src/IAgoraRtcEngineEx.ts index c43ca5cc..878af7d9 100644 --- a/src/IAgoraRtcEngineEx.ts +++ b/src/IAgoraRtcEngineEx.ts @@ -16,7 +16,7 @@ import { VideoSubscriptionOptions, WatermarkOptions, } from './AgoraBase'; -import { RenderModeType } from './AgoraMediaBase'; +import { ContentInspectConfig, RenderModeType } from './AgoraMediaBase'; import { ChannelMediaOptions, IRtcEngine, @@ -895,6 +895,15 @@ export abstract class IRtcEngineEx extends IRtcEngine { filePath: string ): number; + /** + * @ignore + */ + abstract enableContentInspectEx( + enabled: boolean, + config: ContentInspectConfig, + connection: RtcConnection + ): number; + /** * Enables tracing the video frame rendering process. * diff --git a/src/impl/IAgoraRtcEngineExImpl.ts b/src/impl/IAgoraRtcEngineExImpl.ts index 641b6d51..b48f9a5d 100644 --- a/src/impl/IAgoraRtcEngineExImpl.ts +++ b/src/impl/IAgoraRtcEngineExImpl.ts @@ -15,7 +15,7 @@ import { VideoSubscriptionOptions, WatermarkOptions, } from '../AgoraBase'; -import { RenderModeType } from '../AgoraMediaBase'; +import { ContentInspectConfig, RenderModeType } from '../AgoraMediaBase'; import { ChannelMediaOptions, LeaveChannelOptions, @@ -1494,6 +1494,40 @@ export class IRtcEngineExImpl extends IRtcEngineImpl implements IRtcEngineEx { return 'RtcEngineEx_takeSnapshotEx'; } + enableContentInspectEx( + enabled: boolean, + config: ContentInspectConfig, + connection: RtcConnection + ): number { + const apiType = this.getApiTypeFromEnableContentInspectEx( + enabled, + config, + connection + ); + const jsonParams = { + enabled: enabled, + config: config, + connection: connection, + toJSON: () => { + return { + enabled: enabled, + config: config, + connection: connection, + }; + }, + }; + const jsonResults = callIrisApi.call(this, apiType, jsonParams); + return jsonResults.result; + } + + protected getApiTypeFromEnableContentInspectEx( + enabled: boolean, + config: ContentInspectConfig, + connection: RtcConnection + ): string { + return 'RtcEngineEx_enableContentInspectEx'; + } + startMediaRenderingTracingEx(connection: RtcConnection): number { const apiType = this.getApiTypeFromStartMediaRenderingTracingEx(connection); const jsonParams = { diff --git a/src/impl/IAgoraRtcEngineImpl.ts b/src/impl/IAgoraRtcEngineImpl.ts index a4384edf..844e195d 100644 --- a/src/impl/IAgoraRtcEngineImpl.ts +++ b/src/impl/IAgoraRtcEngineImpl.ts @@ -74,6 +74,7 @@ import { ChannelMediaOptions, CloudProxyType, DirectCdnStreamingMediaOptions, + FeatureType, IDirectCdnStreamingEventHandler, IMetadataObserver, IRtcEngine, @@ -6707,6 +6708,26 @@ export class IRtcEngineImpl implements IRtcEngine { return 'RtcEngine_getNtpWallTimeInMs'; } + isFeatureAvailableOnDevice(type: FeatureType): boolean { + const apiType = this.getApiTypeFromIsFeatureAvailableOnDevice(type); + const jsonParams = { + type: type, + toJSON: () => { + return { + type: type, + }; + }, + }; + const jsonResults = callIrisApi.call(this, apiType, jsonParams); + return jsonResults.result; + } + + protected getApiTypeFromIsFeatureAvailableOnDevice( + type: FeatureType + ): string { + return 'RtcEngine_isFeatureAvailableOnDevice'; + } + getAudioDeviceManager(): IAudioDeviceManager { const apiType = this.getApiTypeFromGetAudioDeviceManager(); const jsonParams = {};