import { MediaClip } from '../clips/tav-media-clip'; import { ScaleMode } from '../types/types'; import { TAVSurface } from './tav-surface'; /** * A video reader is used to obtain the video frames of a media. * @category Engine */ export declare class TAVVideoReader { private ref; private static dispatcher; /** * Make a video reader from a media clip. * @param root The root media clip. * @param frameRate The frame rate of the video reader. * @param isRecycle * @returns New video reader. */ static MakeFrom(root: MediaClip, frameRate: number, isRecycle?: boolean): Promise; private surface; private constructor(); /** * Set the surface to render the video frames. * @param surface The surface to render the video. */ setSurface(surface: TAVSurface): Promise; /** * Sets the current frame to the specified time. * @param targetTime The target time to seek to. * @returns seeked or not. */ seekTo(targetTime: number): Promise; /** * Reads the next video frame for the output. */ readNextFrame(): Promise; /** * Returns the current scale mode. */ scaleMode(): ScaleMode; /** * Specifies the rule of how to scale the content to fit the surface size. The matrix * changes when this method is called. * @param mode The scale mode. */ setScaleMode(mode: ScaleMode): void; release(): void; }