@isomp4/box-moof
Version:
Implements encoding and decoding of the moof box type
38 lines (37 loc) • 1.15 kB
JavaScript
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();