libpag
Version:
Portable Animated Graphics
41 lines (40 loc) • 1.24 kB
TypeScript
import { ArrayBufferImage } from './array-buffer-image';
export interface FrameData {
id: number;
data: ArrayBuffer;
width: number;
height: number;
}
export interface TimeRange {
start: number;
end: number;
}
export declare class VideoReader {
static create(mp4Data: Uint8Array, width: number, height: number, frameRate: number, staticTimeRanges: TimeRange[]): Promise<VideoReader>;
isSought: boolean;
isPlaying: boolean;
private readonly frameRate;
private currentFrame;
private mp4Path;
private videoDecoder;
private videoDecoderPromise;
private frameDataBuffers;
private bufferIndex;
private getFrameDataLooping;
private getFrameDataResolve;
private getFrameDataLoopTimer;
private seeking;
private arrayBufferImage;
constructor(mp4Data: Uint8Array, width: number, height: number, frameRate: number, staticTimeRanges: TimeRange[]);
prepare(targetFrame: number): Promise<void>;
getVideo(): ArrayBufferImage;
play(): Promise<void>;
pause(): void;
stop(): void;
getError(): any;
onDestroy(): void;
private getFrameData;
private startGetFrameDataLoop;
private getFrameDataLoop;
private clearFrameDataLoop;
}