import { IAudioFrameObserver, IVideoFrameObserver, IVideoEncodedFrameObserver, MediaSourceType, AudioFrame, ExternalVideoSourceType, ExternalVideoFrame } from './AgoraMediaBase'; import { SenderOptions, EncodedVideoFrameInfo } from './AgoraBase'; /** * @ignore */ export declare enum AudioMixingDualMonoMode { /** * @ignore */ AudioMixingDualMonoAuto = 0, /** * @ignore */ AudioMixingDualMonoL = 1, /** * @ignore */ AudioMixingDualMonoR = 2, /** * @ignore */ AudioMixingDualMonoMix = 3 } /** * @ignore */ export declare abstract class IMediaEngine { /** * @ignore */ abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; /** * @ignore */ abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; /** * @ignore */ abstract registerVideoEncodedFrameObserver(observer: IVideoEncodedFrameObserver): number; /** * @ignore */ abstract pushAudioFrame(type: MediaSourceType, frame: AudioFrame, wrap?: boolean, sourceId?: number): number; /** * @ignore */ abstract pushCaptureAudioFrame(frame: AudioFrame): number; /** * @ignore */ abstract pushReverseAudioFrame(frame: AudioFrame): number; /** * @ignore */ abstract pushDirectAudioFrame(frame: AudioFrame): number; /** * @ignore */ abstract pullAudioFrame(): AudioFrame; /** * @ignore */ abstract setExternalVideoSource(enabled: boolean, useTexture: boolean, sourceType?: ExternalVideoSourceType, encodedVideoOption?: SenderOptions): number; /** * @ignore */ abstract setExternalAudioSource(enabled: boolean, sampleRate: number, channels: number, sourceNumber?: number, localPlayback?: boolean, publish?: boolean): number; /** * @ignore */ abstract setExternalAudioSink(enabled: boolean, sampleRate: number, channels: number): number; /** * @ignore */ abstract enableCustomAudioLocalPlayback(sourceId: number, enabled: boolean): number; /** * @ignore */ abstract setDirectExternalAudioSource(enable: boolean, localPlayback?: boolean): number; /** * @ignore */ abstract pushVideoFrame(frame: ExternalVideoFrame, videoTrackId?: number): number; /** * @ignore */ abstract pushEncodedVideoImage(imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo, videoTrackId?: number): number; /** * @ignore */ abstract release(): void; /** * @ignore */ abstract unregisterAudioFrameObserver(observer: IAudioFrameObserver): number; /** * @ignore */ abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number; /** * @ignore */ abstract unregisterVideoEncodedFrameObserver(observer: IVideoEncodedFrameObserver): number; }