diff --git a/package.json b/package.json index ae0ed081..06f4478e 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "scripts": { "prepare": "node .husky/install.mjs", "build": "tsup", + "build-dev": "npx tsup --sourcemap --format esm --minify false", "circular": "dpdm -T ./entries/all.ts --tsconfig tsconfig.lib.json --exit-code circular:1", "types": "tsc --noEmit -p tsconfig.lib.json", "test": "vitest run", diff --git a/src/boxes/sampleentries/sampleentry.ts b/src/boxes/sampleentries/sampleentry.ts index da769006..43693828 100644 --- a/src/boxes/sampleentries/sampleentry.ts +++ b/src/boxes/sampleentries/sampleentry.ts @@ -1,3 +1,4 @@ +import type { MultiBufferStream } from '#/buffer'; import { av1CBox } from '#/boxes/av1C'; import { avcCBox } from '#/boxes/avcC'; import { sinfBox } from '#/boxes/defaults'; @@ -419,6 +420,19 @@ export class encmSampleEntry extends MetadataSampleEntry { sinfs: Array = []; } +export class urimSampleEntry extends MetadataSampleEntry { + the_label: string; + init?: string; + + static override readonly fourcc = 'urim' as const; + + parse(stream: MultiBufferStream) { + this.parseHeader(stream); + this.the_label = stream.readCString(); + // TODO: this.init = remaining bytes + } +} + // Restricted sample entries export class resvSampleEntry extends VisualSampleEntry { static override readonly fourcc = 'resv' as const;