28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
import type { MediaParserLogLevel } from '@remotion/media-parser';
|
|
import type { WebCodecsController } from './webcodecs-controller';
|
|
export type WebCodecsVideoDecoder = {
|
|
decode: (videoSample: EncodedVideoChunkInit | EncodedVideoChunk) => Promise<void>;
|
|
close: () => void;
|
|
flush: () => Promise<void>;
|
|
waitForQueueToBeLessThan: (items: number) => Promise<void>;
|
|
reset: () => void;
|
|
checkReset: () => {
|
|
wasReset: () => boolean;
|
|
};
|
|
getMostRecentSampleInput: () => number | null;
|
|
};
|
|
export declare const internalCreateVideoDecoder: ({ onFrame, onError, controller, config, logLevel, }: {
|
|
onFrame: (frame: VideoFrame) => Promise<void> | void;
|
|
onError: (error: Error) => void;
|
|
controller: WebCodecsController | null;
|
|
config: VideoDecoderConfig;
|
|
logLevel: MediaParserLogLevel;
|
|
}) => Promise<WebCodecsVideoDecoder>;
|
|
export declare const createVideoDecoder: ({ onFrame, onError, controller, track, logLevel, }: {
|
|
track: VideoDecoderConfig;
|
|
onFrame: (frame: VideoFrame) => Promise<void> | void;
|
|
onError: (error: Error) => void;
|
|
controller?: WebCodecsController;
|
|
logLevel?: MediaParserLogLevel;
|
|
}) => Promise<WebCodecsVideoDecoder>;
|