From bfe47bb70f251643b2a702ba5398a68ad0cf0cd8 Mon Sep 17 00:00:00 2001 From: dukesook Date: Wed, 25 Jun 2025 15:36:08 -0600 Subject: [PATCH] feat: urimSampleEntry --- package.json | 1 + src/boxes/sampleentries/sampleentry.ts | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/package.json b/package.json index ae0ed0811..06f4478e2 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 da7690062..43693828a 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;