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 ChunkLargeOffsetBox. * @TODO: Is this pretty much the same as the non-large offset box? */ export default class IsoChunkLargeOffsetBox extends FullBox { private _offsetTable; /** * Private constructor to force construction via static functions. */ private constructor(); /** * Constructs and initializes a new instance of {@link IsoChunkLargeOffsetBox} 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): IsoChunkLargeOffsetBox; /** * Gets and sets the data contained in the current instance. */ get data(): ByteVector; /** * Updates the existing box position offsets. * @param sizeDifference A value containing the size change that occurred in the file. * @param after A value containing the position in the file after which offsets will be invalidated. If an * offset is before this point, it won't be updated. * @internal */ updatePosition(sizeDifference: number, after: number): void; }