agora-rtc-sdk-ng
Version:
Agora WebRTC SDK for JavaScript
21 lines (17 loc) • 1.18 kB
TypeScript
import { InterceptLocalAudioFrameOptions, InterceptRemoteAudioFrameOptions, LocalVideoTrack, InterceptVideoFrameOptions } from '@agora-js/media';
type TRteServiceName = "ChannelMediaRelay" | "LiveStreaming" | "ImageModeration" | "ContentInspect" | "DataStream" | "P2PChannel" | "PlanBConnection" | "InterceptFrame" | "DataChannelConnection" | "DataChannelSignal";
interface IRteService<T = any, R = any> {
name: TRteServiceName;
create: (...args: any[]) => T;
createSubmodule?: (...args: any[]) => R;
}
interface InterceptFrame {
interceptLocalAudioFrame: (sender: RTCRtpSender, options: InterceptLocalAudioFrameOptions) => Promise<void>;
interceptRemoteAudioFrame: (receiver: RTCRtpReceiver, options?: InterceptRemoteAudioFrameOptions) => Promise<void>;
interceptLocalVideoFrame: (sender: RTCRtpSender, localVideoTrack: LocalVideoTrack) => Promise<void>;
interceptRemoteVideoFrame: (receiver: RTCRtpReceiver, options: InterceptVideoFrameOptions) => Promise<void>;
}
declare const interceptFrame: InterceptFrame;
declare const InterceptFrameService: IRteService<typeof interceptFrame>;
export { InterceptFrameService };
export type { InterceptFrame };