UNPKG

@isomp4/box-moof

Version:

Implements encoding and decoding of the moof box type

38 lines (37 loc) 1.15 kB
import { FullBoxEncoding } from "@isomp4/core"; class MovieFragmentHeaderBoxEncoding extends FullBoxEncoding { constructor() { super("mfhd"); } encodingLength(obj) { return super.encodingLength(obj); // TODO implement } encodeTo(obj, buffer) { const requiredBytes = super.encodeTo(obj, buffer); if (requiredBytes > 0) { return requiredBytes; } // let offset = this.encodedBytes; // // TODO implementing encoding // this.encodedBytes = offset; return 0; } decode(buffer, header) { const superBox = super.decode(buffer, header); if (typeof superBox === "number") { return superBox; } let offset = this.decodedBytes; if (buffer.length < offset + 4) { return offset + 4; } const sequenceNumber = buffer.readUInt32BE(offset); offset += 4; this.decodedBytes = offset; return { ...superBox, sequenceNumber, }; } } export const mfhd = new MovieFragmentHeaderBoxEncoding();