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 ChunkOffsetBox. */ export default class IsoChunkOffsetBox extends FullBox { private _offsetTable; /** * Private constructor to force construction via static functions. */ private constructor(); /** * Constructs and initializes a new instance of {@link IsoChunkOffsetBox} 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): IsoChunkOffsetBox; /** * 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 */ updatePositions(sizeDifference: number, after: number): void; }