UNPKG

livekit-client

Version:

JavaScript/TypeScript client SDK for LiveKit

35 lines (30 loc) 847 B
import type Room from '../../Room'; import type { Track } from '../Track'; /** * @experimental */ export type ProcessorOptions<T extends Track.Kind> = { kind: T; track: MediaStreamTrack; element?: HTMLMediaElement; audioContext?: AudioContext; }; export interface AudioProcessorOptions extends ProcessorOptions<Track.Kind.Audio> { audioContext: AudioContext; } /** * @experimental */ export interface VideoProcessorOptions extends ProcessorOptions<Track.Kind.Video> {} export interface TrackProcessor< T extends Track.Kind, U extends ProcessorOptions<T> = ProcessorOptions<T>, > { name: string; init: (opts: U) => Promise<void>; restart: (opts: U) => Promise<void>; destroy: () => Promise<void>; processedTrack?: MediaStreamTrack; onPublish?: (room: Room) => Promise<void>; onUnpublish?: () => Promise<void>; }