///
///
import { VideoCanvas, VideoCodecType } from './Private/AgoraBase';
import { VideoFrame } from './Private/AgoraMediaBase';
import { RtcConnection } from './Private/IAgoraRtcEngineEx';
import { CapabilityManager } from './Renderer/CapabilityManager';
import { RendererCache } from './Renderer/RendererCache';
import { RendererManager } from './Renderer/RendererManager';
import { WebCodecsRendererCache } from './Renderer/WebCodecsRendererCache';
/**
* @ignore
*/
export declare enum VideoFallbackStrategy {
/**
* @ignore
*/
PerformancePriority = 0,
/**
* @ignore
*/
BandwidthPriority = 1
}
/**
* @ignore
*/
export interface AgoraEnvOptions {
/**
* @ignore
*/
enableLogging?: boolean;
/**
* @ignore
*/
enableDebugLogging?: boolean;
/**
* @ignore
*/
webEnvReady?: boolean;
/**
* @ignore
*/
enableWebCodecsDecoder: boolean;
/**
* @ignore
*/
videoFallbackStrategy: VideoFallbackStrategy;
/**
* @ignore
*/
maxDecodeRetryCount: number;
/**
* @ignore
*/
enableArgusCounters: boolean;
}
/**
* @ignore
*/
export interface AgoraEnvType extends AgoraEnvOptions {
/**
* @ignore
*/
AgoraRendererManager?: RendererManager;
/**
* @ignore
*/
CapabilityManager?: CapabilityManager;
}
/**
* @ignore
*/
export declare enum RendererType {
/**
* @ignore
*/
WEBGL = 1,
/**
* @ignore
*/
SOFTWARE = 2,
/**
* @ignore
*/
WEBCODECSRENDERER = 3
}
export type RENDER_MODE = RendererType;
export type RendererContext = VideoCanvas & RtcConnection;
export type RendererCacheType = RendererCache | WebCodecsRendererCache;
export type RendererCacheContext = Pick;
/**
* @ignore
*/
export interface Result {
/**
* @ignore
*/
callApiReturnCode: number;
/**
* @ignore
*/
callApiResult: any;
}
/**
* @ignore
*/
export interface IAgoraElectronBridge {
/**
* @ignore
*/
OnEvent(callbackName: string, callback: (event: string, data: string, buffer: Uint8Array[], bufferLength: number[], bufferCount: number) => void): void;
UnEvent(callbackName: string): void;
CallApi(funcName: string, params: any, buffer?: (Uint8Array | undefined)[], bufferCount?: number): Result;
InitializeEnv(): void;
ReleaseEnv(): void;
ReleaseRenderer(): void;
EnableVideoFrameCache(context: RendererCacheContext): void;
DisableVideoFrameCache(context: RendererCacheContext): void;
GetBuffer(ptr: number, length: number): Buffer;
GetVideoFrame(context: RendererCacheContext, videoFrame: VideoFrame, advanceOptions: {
renderAlpha: boolean;
}): {
ret: number;
/**
* @ignore
*/
hasMoreFrame: boolean;
};
sendMsg: (funcName: string, params: any, buffer?: Uint8Array[], bufferCount?: number) => Result;
}
/**
* @ignore
*/
export declare enum IPCMessageType {
/**
* @ignore
*/
AGORA_IPC_GET_GPU_INFO = "AGORA_IPC_GET_GPU_INFO"
}
/**
* @ignore
*/
interface CodecMappingItem {
/**
* @ignore
*/
codec: string;
/**
* @ignore
*/
type: VideoCodecType;
/**
* @ignore
*/
profile: string;
}
/**
* @ignore
*/
export declare const codecMapping: CodecMappingItem[];
/**
* @ignore
*/
export interface CodecConfigInfo {
/**
* @ignore
*/
codecType: VideoCodecType | undefined;
/**
* @ignore
*/
codedWidth: number | undefined;
/**
* @ignore
*/
codedHeight: number | undefined;
/**
* @ignore
*/
rotation: number | undefined;
}
export {};
//# sourceMappingURL=Types.d.ts.map