/// import { RtpPacket } from 'werift'; import { ReplaySubject, Subject } from 'rxjs'; import { WebrtcConnection } from './webrtc-connection'; import { RingCamera } from '../ring-camera'; import { Subscribed } from '../subscribed'; type SpawnInput = string | number; export interface FfmpegOptions { input?: SpawnInput[]; video?: SpawnInput[] | false; audio?: SpawnInput[]; stdoutCallback?: (data: Buffer) => void; output: SpawnInput[]; } export declare class StreamingSession extends Subscribed { private readonly camera; private connection; readonly onCallEnded: ReplaySubject; private readonly onUsingOpus; readonly onVideoRtp: Subject; readonly onAudioRtp: Subject; private readonly audioSplitter; private readonly videoSplitter; private readonly returnAudioSplitter; constructor(camera: RingCamera, connection: WebrtcConnection); private bindToConnection; /** * @deprecated * activate will be removed in the future. Please use requestKeyFrame if you want to explicitly request an initial key frame */ activate(): void; cameraSpeakerActivated: boolean; activateCameraSpeaker(): void; reservePort(bufferPorts?: number): Promise; get isUsingOpus(): Promise; startTranscoding(ffmpegOptions: FfmpegOptions): Promise; transcodeReturnAudio(ffmpegOptions: { input: SpawnInput[]; }): Promise; private hasEnded; private callEnded; stop(): void; sendAudioPacket(rtp: RtpPacket): void; requestKeyFrame(): void; } export {};