import IsoSampleEntry from "./isoSampleEntry"; import Mpeg4BoxHeader from "../mpeg4BoxHeader"; import { ByteVector } from "../../byteVector"; import { File } from "../../file"; import { IVideoCodec, MediaTypes } from "../../properties"; /** * This class extends {@link IsoSampleEntry} and implements {@link IVideoCodec} to provide an implementation of a * ISO/IEC 14496-12 VisualSampleEntry and support for reading MPEG-4 video properties. */ export default class IsoVisualSampleEntry extends IsoSampleEntry implements IVideoCodec { private _videoHeight; private _videoWidth; /** * Private constructor to force construction via static functions. */ private constructor(); /** * Initializes the instance using the box's header, and additional information read from the file. * @param header Header for the box. * @param file File to read additional information from. * @param handlerType Type of the handler for the box. Optional. */ static fromFile(header: Mpeg4BoxHeader, file: File, handlerType: ByteVector): IsoVisualSampleEntry; /** @inheritDoc */ get durationMilliseconds(): number; /** @inheritDoc */ get mediaTypes(): MediaTypes; /** @inheritDoc */ get description(): string; /** @inheritDoc */ get videoHeight(): number; /** @inheritDoc */ get videoWidth(): number; }