import FullBox from "./fullBox"; import Mpeg4BoxHeader from "../mpeg4BoxHeader"; import { ByteVector } from "../../byteVector"; import { File } from "../../file"; /** * This class extends {@link FullBox} to provide an implementation of a ISO/IEC 14496-12 MovieHeaderBox. */ export default class IsoMovieHeaderBox extends FullBox { private _nextTrackId; private _creationTime; private _modificationTime; private _durationInMilliseconds; private _rate; private _volume; /** * Private constructor to force construction via static functions. */ private constructor(); /** * Constructs and initializes a new instance of {@link IsoMovieHeaderBox} with a provided header and * handler by reading the contents from a specified file. * @param header A {@link Mpeg4BoxHeader} object containing the header to use for the new instance. * @param file A {@link File} object to read the contents of the box from. * @param handlerType Type of the handler box object containing the handler that applies to the * new instance, or undefined if no handler applies. */ static fromFile(header: Mpeg4BoxHeader, file: File, handlerType: ByteVector): IsoMovieHeaderBox; /** * Gets the ID of the next track in the movie represented by the current instance. */ get nextTrackId(): number; /** * Gets the creation time of the movie. */ get creationTime(): number; /** * Gets the modification time of the movie. */ get modificationTime(): number; /** * Gets the duration of the movie represented by the current instance. */ get durationInMilliseconds(): number; /** * Gets the playback rate of the movie represented by the current instance. */ get rate(): number; /** * Gets the playback volume of the movie represented by the current instance. */ get volume(): number; }