UNPKG

@omnimedia/omnitool

Version:

open source video processing tools

36 lines (35 loc) 1.67 kB
import { Ms } from "../../../../units/ms.js"; import { Driver } from "../../../../driver/driver.js"; import { TimelineFile } from "../../../parts/basics.js"; import { DecoderSource } from "../../../../driver/fns/schematic.js"; type StreamCursor<T> = { next(target: number): Promise<T | undefined>; cancel(): Promise<void>; }; type VideoFrameCursor = StreamCursor<VideoFrame>; declare abstract class BaseVisualSampler { #private; protected driver: Driver; protected resolveMedia: (hash: string) => DecoderSource; protected timeline: TimelineFile; constructor(driver: Driver, resolveMedia: (hash: string) => DecoderSource, timeline: TimelineFile); protected abstract createCursor(source: DecoderSource, startUs: number, endUs: number): VideoFrameCursor; protected sample(timecode: Ms): Promise<import("../../../../driver/fns/schematic.js").Layer[]>; cancel(): Promise<void>; } /** * forward-only frame cursor optimized for export purposes. * it uses mediabunny internally so the support for non-clients * should be done from mediabunny custom decoder/encoder */ export declare class CursorVisualSampler extends BaseVisualSampler { #private; next(timecode: Ms): Promise<import("../../../../driver/fns/schematic.js").Layer[]>; protected createCursor(source: DecoderSource, startUs: number, _endUs: number): VideoFrameCursor; } export declare class ReverseCursorVisualSampler extends BaseVisualSampler { #private; next(timecode: Ms): Promise<import("../../../../driver/fns/schematic.js").Layer[]>; protected createCursor(source: DecoderSource, startUs: number, endUs: number): VideoFrameCursor; } export {};