@remotion/media-parser 4.0.254 → 4.0.256
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/add-new-matroska-tracks.d.ts +8 -0
- package/dist/add-new-matroska-tracks.js +14 -0
- package/dist/boxes/avc/parse-avc.d.ts +18 -0
- package/dist/boxes/avc/parse-avc.js +96 -0
- package/dist/boxes/iso-base-media/base-type.d.ts +4 -0
- package/dist/boxes/iso-base-media/base-type.js +2 -0
- package/dist/boxes/iso-base-media/esds/decoder-specific-config.d.ts +14 -0
- package/dist/boxes/iso-base-media/esds/decoder-specific-config.js +38 -0
- package/dist/boxes/iso-base-media/esds/esds-descriptors.d.ts +29 -0
- package/dist/boxes/iso-base-media/esds/esds-descriptors.js +82 -0
- package/dist/boxes/iso-base-media/esds/esds.d.ts +15 -0
- package/dist/boxes/iso-base-media/esds/esds.js +27 -0
- package/dist/boxes/iso-base-media/ftyp.d.ts +13 -0
- package/dist/boxes/iso-base-media/ftyp.js +22 -0
- package/dist/boxes/iso-base-media/get-actual-number-of-channels.d.ts +13 -0
- package/dist/boxes/iso-base-media/get-actual-number-of-channels.js +22 -0
- package/dist/boxes/iso-base-media/get-sample-positions-from-track.d.ts +4 -0
- package/dist/boxes/iso-base-media/get-sample-positions-from-track.js +54 -0
- package/dist/boxes/iso-base-media/make-track.d.ts +3 -0
- package/dist/boxes/iso-base-media/make-track.js +107 -0
- package/dist/boxes/iso-base-media/mdat/mdat.d.ts +25 -0
- package/dist/boxes/iso-base-media/mdat/mdat.js +122 -0
- package/dist/boxes/iso-base-media/mdhd.d.ts +16 -0
- package/dist/boxes/iso-base-media/mdhd.js +32 -0
- package/dist/boxes/iso-base-media/meta/hdlr.d.ts +12 -0
- package/dist/boxes/iso-base-media/meta/hdlr.js +33 -0
- package/dist/boxes/iso-base-media/meta/ilst.d.ts +28 -0
- package/dist/boxes/iso-base-media/meta/ilst.js +86 -0
- package/dist/boxes/iso-base-media/moov/moov.d.ts +19 -0
- package/dist/boxes/iso-base-media/moov/moov.js +27 -0
- package/dist/boxes/iso-base-media/mvhd.d.ts +30 -0
- package/dist/boxes/iso-base-media/mvhd.js +65 -0
- package/dist/boxes/iso-base-media/parse-icc-profile.d.ts +36 -0
- package/dist/boxes/iso-base-media/parse-icc-profile.js +115 -0
- package/dist/boxes/iso-base-media/process-box.d.ts +34 -0
- package/dist/boxes/iso-base-media/process-box.js +710 -0
- package/dist/boxes/iso-base-media/stsd/av1c.d.ts +9 -0
- package/dist/boxes/iso-base-media/stsd/av1c.js +10 -0
- package/dist/boxes/iso-base-media/stsd/avcc.d.ts +10 -0
- package/dist/boxes/iso-base-media/stsd/avcc.js +21 -0
- package/dist/boxes/iso-base-media/stsd/colr.d.ts +21 -0
- package/dist/boxes/iso-base-media/stsd/colr.js +47 -0
- package/dist/boxes/iso-base-media/stsd/ctts.d.ts +19 -0
- package/dist/boxes/iso-base-media/stsd/ctts.js +34 -0
- package/dist/boxes/iso-base-media/stsd/hvcc.d.ts +11 -0
- package/dist/boxes/iso-base-media/stsd/hvcc.js +17 -0
- package/dist/boxes/iso-base-media/stsd/keys.d.ts +19 -0
- package/dist/boxes/iso-base-media/stsd/keys.js +35 -0
- package/dist/boxes/iso-base-media/stsd/mebx.d.ts +19 -0
- package/dist/boxes/iso-base-media/stsd/mebx.js +32 -0
- package/dist/boxes/iso-base-media/stsd/pasp.d.ts +12 -0
- package/dist/boxes/iso-base-media/stsd/pasp.js +17 -0
- package/dist/boxes/iso-base-media/stsd/samples.d.ts +68 -0
- package/dist/boxes/iso-base-media/stsd/samples.js +320 -0
- package/dist/boxes/iso-base-media/stsd/stco.d.ts +15 -0
- package/dist/boxes/iso-base-media/stsd/stco.js +30 -0
- package/dist/boxes/iso-base-media/stsd/stsc.d.ts +19 -0
- package/dist/boxes/iso-base-media/stsd/stsc.js +34 -0
- package/dist/boxes/iso-base-media/stsd/stsd.d.ts +18 -0
- package/dist/boxes/iso-base-media/stsd/stsd.js +33 -0
- package/dist/boxes/iso-base-media/stsd/stss.d.ts +13 -0
- package/dist/boxes/iso-base-media/stsd/stss.js +28 -0
- package/dist/boxes/iso-base-media/stsd/stsz.d.ts +21 -0
- package/dist/boxes/iso-base-media/stsd/stsz.js +44 -0
- package/dist/boxes/iso-base-media/stsd/stts.d.ts +15 -0
- package/dist/boxes/iso-base-media/stsd/stts.js +35 -0
- package/dist/boxes/iso-base-media/tfdt.d.ts +12 -0
- package/dist/boxes/iso-base-media/tfdt.js +20 -0
- package/dist/boxes/iso-base-media/tfhd.d.ts +16 -0
- package/dist/boxes/iso-base-media/tfhd.js +41 -0
- package/dist/boxes/iso-base-media/tkhd.d.ts +25 -0
- package/dist/boxes/iso-base-media/tkhd.js +87 -0
- package/dist/boxes/iso-base-media/to-date.d.ts +2 -0
- package/dist/boxes/iso-base-media/to-date.js +19 -0
- package/dist/boxes/iso-base-media/trak/trak.d.ts +19 -0
- package/dist/boxes/iso-base-media/trak/trak.js +27 -0
- package/dist/boxes/iso-base-media/traversal.d.ts +39 -0
- package/dist/boxes/iso-base-media/traversal.js +201 -0
- package/dist/boxes/iso-base-media/trun.d.ts +21 -0
- package/dist/boxes/iso-base-media/trun.js +44 -0
- package/dist/boxes/iso-base-media/void-box.d.ts +4 -0
- package/dist/boxes/iso-base-media/void-box.js +2 -0
- package/dist/boxes/riff/expect-riff-box.d.ts +17 -0
- package/dist/boxes/riff/expect-riff-box.js +49 -0
- package/dist/boxes/riff/get-tracks-from-avi.d.ts +22 -0
- package/dist/boxes/riff/get-tracks-from-avi.js +114 -0
- package/dist/boxes/riff/is-movi.d.ts +2 -0
- package/dist/boxes/riff/is-movi.js +12 -0
- package/dist/boxes/riff/parse-avih.d.ts +6 -0
- package/dist/boxes/riff/parse-avih.js +32 -0
- package/dist/boxes/riff/parse-box.d.ts +15 -0
- package/dist/boxes/riff/parse-box.js +146 -0
- package/dist/boxes/riff/parse-fmt-box.d.ts +7 -0
- package/dist/boxes/riff/parse-fmt-box.js +33 -0
- package/dist/boxes/riff/parse-isft.d.ts +6 -0
- package/dist/boxes/riff/parse-isft.js +17 -0
- package/dist/boxes/riff/parse-list-box.d.ts +8 -0
- package/dist/boxes/riff/parse-list-box.js +30 -0
- package/dist/boxes/riff/parse-movi.d.ts +17 -0
- package/dist/boxes/riff/parse-movi.js +133 -0
- package/dist/boxes/riff/parse-riff-box.d.ts +10 -0
- package/dist/boxes/riff/parse-riff-box.js +37 -0
- package/dist/boxes/riff/parse-strf.d.ts +7 -0
- package/dist/boxes/riff/parse-strf.js +67 -0
- package/dist/boxes/riff/parse-strh.d.ts +6 -0
- package/dist/boxes/riff/parse-strh.js +46 -0
- package/dist/boxes/riff/riff-box.d.ts +85 -0
- package/dist/boxes/riff/riff-box.js +2 -0
- package/dist/boxes/riff/timescale.d.ts +1 -0
- package/dist/boxes/riff/timescale.js +4 -0
- package/dist/boxes/riff/traversal.d.ts +8 -0
- package/dist/boxes/riff/traversal.js +36 -0
- package/dist/boxes/webm/allowed-partial-segments.d.ts +1 -0
- package/dist/boxes/webm/allowed-partial-segments.js +4 -0
- package/dist/boxes/webm/av1-codec-private.d.ts +2 -0
- package/dist/boxes/webm/av1-codec-private.js +95 -0
- package/dist/boxes/webm/color.d.ts +4 -0
- package/dist/boxes/webm/color.js +127 -0
- package/dist/boxes/webm/description.d.ts +2 -0
- package/dist/boxes/webm/description.js +83 -0
- package/dist/boxes/webm/ebml.d.ts +2 -0
- package/dist/boxes/webm/ebml.js +94 -0
- package/dist/boxes/webm/get-ready-tracks.d.ts +3 -0
- package/dist/boxes/webm/get-ready-tracks.js +29 -0
- package/dist/boxes/webm/get-sample-from-block.d.ts +17 -0
- package/dist/boxes/webm/get-sample-from-block.js +81 -0
- package/dist/boxes/webm/make-header.d.ts +8 -0
- package/dist/boxes/webm/make-header.js +187 -0
- package/dist/boxes/webm/make-track.d.ts +9 -0
- package/dist/boxes/webm/make-track.js +261 -0
- package/dist/boxes/webm/parse-ebml.d.ts +12 -0
- package/dist/boxes/webm/parse-ebml.js +185 -0
- package/dist/boxes/webm/parse-webm-header.d.ts +9 -0
- package/dist/boxes/webm/parse-webm-header.js +36 -0
- package/dist/boxes/webm/segments/all-segments.d.ts +976 -0
- package/dist/boxes/webm/segments/all-segments.js +724 -0
- package/dist/boxes/webm/segments/block-simple-block-flags.d.ts +9 -0
- package/dist/boxes/webm/segments/block-simple-block-flags.js +38 -0
- package/dist/boxes/webm/segments/parse-children.d.ts +23 -0
- package/dist/boxes/webm/segments/parse-children.js +145 -0
- package/dist/boxes/webm/segments/track-entry.d.ts +9 -0
- package/dist/boxes/webm/segments/track-entry.js +24 -0
- package/dist/boxes/webm/segments.d.ts +15 -0
- package/dist/boxes/webm/segments.js +161 -0
- package/dist/boxes/webm/traversal.d.ts +33 -0
- package/dist/boxes/webm/traversal.js +265 -0
- package/dist/containers/flac/get-channel-count.d.ts +1 -1
- package/dist/create/cluster-segment.d.ts +10 -0
- package/dist/create/cluster-segment.js +39 -0
- package/dist/create/cluster.d.ts +19 -0
- package/dist/create/cluster.js +55 -0
- package/dist/create/create-media.d.ts +15 -0
- package/dist/create/create-media.js +165 -0
- package/dist/create/event-emitter.d.ts +31 -0
- package/dist/create/event-emitter.js +25 -0
- package/dist/create/iso-base-media/codec-specific/avc1.d.ts +2 -0
- package/dist/create/iso-base-media/codec-specific/avc1.js +48 -0
- package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +22 -0
- package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +36 -0
- package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +2 -0
- package/dist/create/iso-base-media/codec-specific/mp4a.js +74 -0
- package/dist/create/iso-base-media/create-colr.d.ts +6 -0
- package/dist/create/iso-base-media/create-colr.js +26 -0
- package/dist/create/iso-base-media/create-ftyp.d.ts +10 -0
- package/dist/create/iso-base-media/create-ftyp.js +22 -0
- package/dist/create/iso-base-media/create-ilst.d.ts +1 -0
- package/dist/create/iso-base-media/create-ilst.js +14 -0
- package/dist/create/iso-base-media/create-iso-base-media.d.ts +2 -0
- package/dist/create/iso-base-media/create-iso-base-media.js +165 -0
- package/dist/create/iso-base-media/create-mdia.d.ts +5 -0
- package/dist/create/iso-base-media/create-mdia.js +18 -0
- package/dist/create/iso-base-media/create-moov.d.ts +5 -0
- package/dist/create/iso-base-media/create-moov.js +18 -0
- package/dist/create/iso-base-media/create-mvhd.d.ts +10 -0
- package/dist/create/iso-base-media/create-mvhd.js +48 -0
- package/dist/create/iso-base-media/create-trak.d.ts +4 -0
- package/dist/create/iso-base-media/create-trak.js +17 -0
- package/dist/create/iso-base-media/create-udta.d.ts +1 -0
- package/dist/create/iso-base-media/create-udta.js +14 -0
- package/dist/create/iso-base-media/create-url.d.ts +1 -0
- package/dist/create/iso-base-media/create-url.js +16 -0
- package/dist/create/iso-base-media/example-stts.d.ts +3 -0
- package/dist/create/iso-base-media/example-stts.js +2797 -0
- package/dist/create/iso-base-media/ilst/create-cmt.d.ts +1 -0
- package/dist/create/iso-base-media/ilst/create-cmt.js +26 -0
- package/dist/create/iso-base-media/ilst/create-too.d.ts +1 -0
- package/dist/create/iso-base-media/ilst/create-too.js +27 -0
- package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +6 -0
- package/dist/create/iso-base-media/mdia/create-mdhd.js +33 -0
- package/dist/create/iso-base-media/mp4-header.d.ts +6 -0
- package/dist/create/iso-base-media/mp4-header.js +48 -0
- package/dist/create/iso-base-media/primitives.d.ts +15 -0
- package/dist/create/iso-base-media/primitives.js +133 -0
- package/dist/create/iso-base-media/serialize-track.d.ts +9 -0
- package/dist/create/iso-base-media/serialize-track.js +63 -0
- package/dist/create/iso-base-media/trak/create-tkhd.d.ts +27 -0
- package/dist/create/iso-base-media/trak/create-tkhd.js +97 -0
- package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +4 -0
- package/dist/create/iso-base-media/trak/mdia/create-minf.js +19 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +22 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +20 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +6 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +35 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +20 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +45 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +28 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +56 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +23 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +25 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +2 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +48 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +20 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +16 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +1 -0
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +13 -0
- package/dist/create/iso-base-media/udta/create-meta.d.ts +4 -0
- package/dist/create/iso-base-media/udta/create-meta.js +20 -0
- package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +1 -0
- package/dist/create/iso-base-media/udta/meta/create-hdlr.js +32 -0
- package/dist/create/make-duration-with-padding.d.ts +1 -0
- package/dist/create/make-duration-with-padding.js +15 -0
- package/dist/create/make-track-info.d.ts +20 -0
- package/dist/create/make-track-info.js +2 -0
- package/dist/create/matroska/cluster-segment.d.ts +10 -0
- package/dist/create/matroska/cluster-segment.js +39 -0
- package/dist/create/matroska/cluster.d.ts +25 -0
- package/dist/create/matroska/cluster.js +77 -0
- package/dist/create/matroska/create-matroska-media.d.ts +2 -0
- package/dist/create/matroska/create-matroska-media.js +187 -0
- package/dist/create/matroska/make-duration-with-padding.d.ts +1 -0
- package/dist/create/matroska/make-duration-with-padding.js +15 -0
- package/dist/create/matroska/matroska-cues.d.ts +6 -0
- package/dist/create/matroska/matroska-cues.js +49 -0
- package/dist/create/matroska/matroska-header.d.ts +1 -0
- package/dist/create/matroska/matroska-header.js +66 -0
- package/dist/create/matroska/matroska-info.d.ts +3 -0
- package/dist/create/matroska/matroska-info.js +33 -0
- package/dist/create/matroska/matroska-seek.d.ts +6 -0
- package/dist/create/matroska/matroska-seek.js +32 -0
- package/dist/create/matroska/matroska-segment.d.ts +3 -0
- package/dist/create/matroska/matroska-segment.js +13 -0
- package/dist/create/matroska/matroska-trackentry.d.ts +10 -0
- package/dist/create/matroska/matroska-trackentry.js +249 -0
- package/dist/create/matroska-cues.d.ts +6 -0
- package/dist/create/matroska-cues.js +49 -0
- package/dist/create/matroska-header.d.ts +1 -0
- package/dist/create/matroska-header.js +66 -0
- package/dist/create/matroska-info.d.ts +3 -0
- package/dist/create/matroska-info.js +33 -0
- package/dist/create/matroska-seek.d.ts +6 -0
- package/dist/create/matroska-seek.js +32 -0
- package/dist/create/matroska-segment.d.ts +3 -0
- package/dist/create/matroska-segment.js +13 -0
- package/dist/create/matroska-trackentry.d.ts +27 -0
- package/dist/create/matroska-trackentry.js +243 -0
- package/dist/create/media-fn.d.ts +33 -0
- package/dist/create/media-fn.js +2 -0
- package/dist/create/progress-tracker.d.ts +7 -0
- package/dist/create/progress-tracker.js +43 -0
- package/dist/create/timescale.d.ts +1 -0
- package/dist/create/timescale.js +4 -0
- package/dist/create/wav/create-wav.d.ts +2 -0
- package/dist/create/wav/create-wav.js +110 -0
- package/dist/create/with-resolvers.d.ts +10 -0
- package/dist/create/with-resolvers.js +28 -0
- package/dist/esm/buffer.mjs +56 -0
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/web-fs.mjs +73 -0
- package/dist/parse-video.d.ts +25 -0
- package/dist/parse-video.js +39 -0
- package/dist/parser-context.d.ts +10 -0
- package/dist/parser-context.js +2 -0
- package/dist/parser-state.d.ts +22 -0
- package/dist/parser-state.js +132 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/writers/buffer-implementation/writer.d.ts +2 -0
- package/dist/writers/buffer-implementation/writer.js +54 -0
- package/dist/writers/buffer.d.ts +2 -0
- package/dist/writers/buffer.js +7 -0
- package/dist/writers/web-fs.d.ts +3 -0
- package/dist/writers/web-fs.js +74 -0
- package/package.json +3 -3
- package/dist/abort.d.ts +0 -1
- package/dist/abort.js +0 -7
- package/dist/controller.d.ts +0 -17
- package/dist/controller.js +0 -31
- package/dist/parse-and-download-media.d.ts +0 -2
- package/dist/parse-and-download-media.js +0 -57
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseAv1C = void 0;
|
|
4
|
+
const parseAv1C = ({ data, size, }) => {
|
|
5
|
+
return {
|
|
6
|
+
type: 'av1C-box',
|
|
7
|
+
privateData: data.getSlice(size - 8),
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
exports.parseAv1C = parseAv1C;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
+
export interface AvccBox {
|
|
3
|
+
type: 'avcc-box';
|
|
4
|
+
privateData: Uint8Array;
|
|
5
|
+
configurationString: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const parseAvcc: ({ data, size, }: {
|
|
8
|
+
data: BufferIterator;
|
|
9
|
+
size: number;
|
|
10
|
+
}) => AvccBox;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseAvcc = void 0;
|
|
4
|
+
const parseAvcc = ({ data, size, }) => {
|
|
5
|
+
const confVersion = data.getUint8();
|
|
6
|
+
if (confVersion !== 1) {
|
|
7
|
+
throw new Error(`Unsupported AVCC version ${confVersion}`);
|
|
8
|
+
}
|
|
9
|
+
const profile = data.getUint8();
|
|
10
|
+
const profileCompatibility = data.getUint8();
|
|
11
|
+
const level = data.getUint8();
|
|
12
|
+
const str = `${profile.toString(16).padStart(2, '0')}${profileCompatibility.toString(16).padStart(2, '0')}${level.toString(16).padStart(2, '0')}`;
|
|
13
|
+
data.counter.decrement(4);
|
|
14
|
+
const privateData = data.getSlice(size - 8);
|
|
15
|
+
return {
|
|
16
|
+
type: 'avcc-box',
|
|
17
|
+
privateData,
|
|
18
|
+
configurationString: str,
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.parseAvcc = parseAvcc;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
+
import type { IccProfile } from '../parse-icc-profile';
|
|
3
|
+
type ExtraData = {
|
|
4
|
+
colorType: 'transfer-characteristics';
|
|
5
|
+
primaries: number;
|
|
6
|
+
transfer: number;
|
|
7
|
+
matrixIndex: number;
|
|
8
|
+
fullRangeFlag: boolean;
|
|
9
|
+
} | {
|
|
10
|
+
colorType: 'icc-profile';
|
|
11
|
+
profile: Uint8Array;
|
|
12
|
+
parsed: IccProfile;
|
|
13
|
+
};
|
|
14
|
+
export type ColorParameterBox = {
|
|
15
|
+
type: 'colr-box';
|
|
16
|
+
} & ExtraData;
|
|
17
|
+
export declare const parseColorParameterBox: ({ iterator, size, }: {
|
|
18
|
+
iterator: BufferIterator;
|
|
19
|
+
size: number;
|
|
20
|
+
}) => ColorParameterBox;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseColorParameterBox = void 0;
|
|
4
|
+
const parse_icc_profile_1 = require("../parse-icc-profile");
|
|
5
|
+
const parseColorParameterBox = ({ iterator, size, }) => {
|
|
6
|
+
const byteString = iterator.getByteString(4);
|
|
7
|
+
if (byteString === 'nclx') {
|
|
8
|
+
const primaries = iterator.getUint16();
|
|
9
|
+
const transfer = iterator.getUint16();
|
|
10
|
+
const matrixIndex = iterator.getUint16();
|
|
11
|
+
iterator.startReadingBits();
|
|
12
|
+
const fullRangeFlag = Boolean(iterator.getBits(1));
|
|
13
|
+
iterator.stopReadingBits();
|
|
14
|
+
return {
|
|
15
|
+
type: 'colr-box',
|
|
16
|
+
colorType: 'transfer-characteristics',
|
|
17
|
+
fullRangeFlag,
|
|
18
|
+
matrixIndex,
|
|
19
|
+
primaries,
|
|
20
|
+
transfer,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (byteString === 'nclc') {
|
|
24
|
+
const primaries = iterator.getUint16();
|
|
25
|
+
const transfer = iterator.getUint16();
|
|
26
|
+
const matrixIndex = iterator.getUint16();
|
|
27
|
+
return {
|
|
28
|
+
type: 'colr-box',
|
|
29
|
+
colorType: 'transfer-characteristics',
|
|
30
|
+
fullRangeFlag: false,
|
|
31
|
+
matrixIndex,
|
|
32
|
+
primaries,
|
|
33
|
+
transfer,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (byteString === 'prof') {
|
|
37
|
+
const profile = iterator.getSlice(size - 12);
|
|
38
|
+
return {
|
|
39
|
+
type: 'colr-box',
|
|
40
|
+
colorType: 'icc-profile',
|
|
41
|
+
profile,
|
|
42
|
+
parsed: (0, parse_icc_profile_1.parseIccProfile)(profile),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
throw new Error('Unexpected box type ' + byteString);
|
|
46
|
+
};
|
|
47
|
+
exports.parseColorParameterBox = parseColorParameterBox;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
+
import type { BaseBox } from '../base-type';
|
|
3
|
+
type CttsEntry = {
|
|
4
|
+
sampleCount: number;
|
|
5
|
+
sampleOffset: number;
|
|
6
|
+
};
|
|
7
|
+
export interface CttsBox extends BaseBox {
|
|
8
|
+
type: 'ctts-box';
|
|
9
|
+
version: number;
|
|
10
|
+
flags: number[];
|
|
11
|
+
entryCount: number;
|
|
12
|
+
entries: CttsEntry[];
|
|
13
|
+
}
|
|
14
|
+
export declare const parseCtts: ({ iterator, offset, size, }: {
|
|
15
|
+
iterator: BufferIterator;
|
|
16
|
+
offset: number;
|
|
17
|
+
size: number;
|
|
18
|
+
}) => CttsBox;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseCtts = void 0;
|
|
4
|
+
const parseCtts = ({ iterator, offset, size, }) => {
|
|
5
|
+
const version = iterator.getUint8();
|
|
6
|
+
if (version !== 0 && version !== 1) {
|
|
7
|
+
throw new Error(`Unsupported CTTS version ${version}`);
|
|
8
|
+
}
|
|
9
|
+
const flags = iterator.getSlice(3);
|
|
10
|
+
const entryCount = iterator.getUint32();
|
|
11
|
+
const entries = [];
|
|
12
|
+
for (let i = 0; i < entryCount; i++) {
|
|
13
|
+
const sampleCount = iterator.getUint32();
|
|
14
|
+
// V1 = signed, V0 = unsigned
|
|
15
|
+
// however some files are buggy
|
|
16
|
+
// Let's do the same thing as mp4box
|
|
17
|
+
// https://github.com/gpac/mp4box.js/blob/c6cc468145bc5b031b866446111f29c8b620dbe6/src/parsing/ctts.js#L2
|
|
18
|
+
const sampleOffset = iterator.getInt32();
|
|
19
|
+
entries.push({
|
|
20
|
+
sampleCount,
|
|
21
|
+
sampleOffset,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
type: 'ctts-box',
|
|
26
|
+
boxSize: size,
|
|
27
|
+
offset,
|
|
28
|
+
version,
|
|
29
|
+
flags: [...flags],
|
|
30
|
+
entryCount,
|
|
31
|
+
entries,
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
exports.parseCtts = parseCtts;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
+
export interface HvccBox {
|
|
3
|
+
type: 'hvcc-box';
|
|
4
|
+
privateData: Uint8Array;
|
|
5
|
+
configurationString: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const parseHvcc: ({ data, size, offset, }: {
|
|
8
|
+
data: BufferIterator;
|
|
9
|
+
size: number;
|
|
10
|
+
offset: number;
|
|
11
|
+
}) => HvccBox;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseHvcc = void 0;
|
|
4
|
+
const make_hvc1_codec_strings_1 = require("../../../make-hvc1-codec-strings");
|
|
5
|
+
const parseHvcc = ({ data, size, offset, }) => {
|
|
6
|
+
const privateData = data.getSlice(size - 8);
|
|
7
|
+
data.counter.decrement(size - 8);
|
|
8
|
+
const constraintString = (0, make_hvc1_codec_strings_1.getHvc1CodecString)(data);
|
|
9
|
+
const remaining = size - (data.counter.getOffset() - offset);
|
|
10
|
+
data.discard(remaining);
|
|
11
|
+
return {
|
|
12
|
+
type: 'hvcc-box',
|
|
13
|
+
privateData,
|
|
14
|
+
configurationString: constraintString,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
exports.parseHvcc = parseHvcc;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
+
import type { BaseBox } from '../base-type';
|
|
3
|
+
type KeysEntry = {
|
|
4
|
+
keySize: number;
|
|
5
|
+
namespace: string;
|
|
6
|
+
value: string;
|
|
7
|
+
};
|
|
8
|
+
export interface KeysBox extends BaseBox {
|
|
9
|
+
type: 'keys-box';
|
|
10
|
+
version: number;
|
|
11
|
+
entryCount: number;
|
|
12
|
+
entries: KeysEntry[];
|
|
13
|
+
}
|
|
14
|
+
export declare const parseKeys: ({ iterator, offset, size, }: {
|
|
15
|
+
iterator: BufferIterator;
|
|
16
|
+
offset: number;
|
|
17
|
+
size: number;
|
|
18
|
+
}) => KeysBox;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseKeys = void 0;
|
|
4
|
+
const parseKeys = ({ iterator, offset, size, }) => {
|
|
5
|
+
const box = iterator.startBox(size - 8);
|
|
6
|
+
const version = iterator.getUint8();
|
|
7
|
+
// flags
|
|
8
|
+
iterator.discard(3);
|
|
9
|
+
// entry_count
|
|
10
|
+
const entryCount = iterator.getUint32();
|
|
11
|
+
const entries = [];
|
|
12
|
+
for (let i = 0; i < entryCount; i++) {
|
|
13
|
+
// key_size
|
|
14
|
+
const keySize = iterator.getUint32();
|
|
15
|
+
const namespace = iterator.getAtom();
|
|
16
|
+
const value = iterator.getByteString(keySize - 8);
|
|
17
|
+
// data
|
|
18
|
+
const entry = {
|
|
19
|
+
keySize,
|
|
20
|
+
namespace,
|
|
21
|
+
value,
|
|
22
|
+
};
|
|
23
|
+
entries.push(entry);
|
|
24
|
+
}
|
|
25
|
+
box.discardRest();
|
|
26
|
+
return {
|
|
27
|
+
type: 'keys-box',
|
|
28
|
+
boxSize: size,
|
|
29
|
+
offset,
|
|
30
|
+
version,
|
|
31
|
+
entryCount,
|
|
32
|
+
entries,
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
exports.parseKeys = parseKeys;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
+
import type { Options, ParseMediaFields } from '../../../options';
|
|
3
|
+
import type { AnySegment } from '../../../parse-result';
|
|
4
|
+
import type { ParserContext } from '../../../parser-context';
|
|
5
|
+
import type { BaseBox } from '../base-type';
|
|
6
|
+
export interface MebxBox extends BaseBox {
|
|
7
|
+
type: 'mebx-box';
|
|
8
|
+
dataReferenceIndex: number;
|
|
9
|
+
format: string;
|
|
10
|
+
children: AnySegment[];
|
|
11
|
+
}
|
|
12
|
+
export declare const parseMebx: ({ iterator, offset, size, options, signal, fields, }: {
|
|
13
|
+
iterator: BufferIterator;
|
|
14
|
+
offset: number;
|
|
15
|
+
size: number;
|
|
16
|
+
options: ParserContext;
|
|
17
|
+
signal: AbortSignal | null;
|
|
18
|
+
fields: Options<ParseMediaFields>;
|
|
19
|
+
}) => Promise<MebxBox>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseMebx = void 0;
|
|
4
|
+
const process_box_1 = require("../process-box");
|
|
5
|
+
const parseMebx = async ({ iterator, offset, size, options, signal, fields, }) => {
|
|
6
|
+
// reserved, 6 bit
|
|
7
|
+
iterator.discard(6);
|
|
8
|
+
const dataReferenceIndex = iterator.getUint16();
|
|
9
|
+
const children = await (0, process_box_1.parseIsoBaseMediaBoxes)({
|
|
10
|
+
iterator,
|
|
11
|
+
maxBytes: iterator.counter.getOffset() - offset,
|
|
12
|
+
allowIncompleteBoxes: false,
|
|
13
|
+
initialBoxes: [],
|
|
14
|
+
options,
|
|
15
|
+
continueMdat: false,
|
|
16
|
+
signal,
|
|
17
|
+
logLevel: 'info',
|
|
18
|
+
fields,
|
|
19
|
+
});
|
|
20
|
+
if (children.status === 'incomplete') {
|
|
21
|
+
throw new Error('Incomplete boxes are not allowed');
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
type: 'mebx-box',
|
|
25
|
+
boxSize: size,
|
|
26
|
+
offset,
|
|
27
|
+
dataReferenceIndex,
|
|
28
|
+
format: 'mebx',
|
|
29
|
+
children: children.segments.boxes,
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
exports.parseMebx = parseMebx;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
+
import type { BaseBox } from '../base-type';
|
|
3
|
+
export interface PaspBox extends BaseBox {
|
|
4
|
+
type: 'pasp-box';
|
|
5
|
+
hSpacing: number;
|
|
6
|
+
vSpacing: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const parsePasp: ({ iterator, offset, size, }: {
|
|
9
|
+
iterator: BufferIterator;
|
|
10
|
+
offset: number;
|
|
11
|
+
size: number;
|
|
12
|
+
}) => PaspBox;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parsePasp = void 0;
|
|
4
|
+
const parsePasp = ({ iterator, offset, size, }) => {
|
|
5
|
+
const hSpacing = iterator.getUint32();
|
|
6
|
+
const vSpacing = iterator.getUint32();
|
|
7
|
+
const bytesRemainingInBox = size - (iterator.counter.getOffset() - offset);
|
|
8
|
+
iterator.discard(bytesRemainingInBox);
|
|
9
|
+
return {
|
|
10
|
+
type: 'pasp-box',
|
|
11
|
+
boxSize: size,
|
|
12
|
+
offset,
|
|
13
|
+
hSpacing,
|
|
14
|
+
vSpacing,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
exports.parsePasp = parsePasp;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
+
import type { LogLevel } from '../../../log';
|
|
3
|
+
import type { Options, ParseMediaFields } from '../../../options';
|
|
4
|
+
import type { AnySegment, IsoBaseMediaBox } from '../../../parse-result';
|
|
5
|
+
import type { ParserContext } from '../../../parser-context';
|
|
6
|
+
type SampleBase = {
|
|
7
|
+
format: string;
|
|
8
|
+
offset: number;
|
|
9
|
+
dataReferenceIndex: number;
|
|
10
|
+
size: number;
|
|
11
|
+
};
|
|
12
|
+
export type AudioSample = SampleBase & {
|
|
13
|
+
type: 'audio';
|
|
14
|
+
numberOfChannels: number;
|
|
15
|
+
sampleSize: number;
|
|
16
|
+
compressionId: number;
|
|
17
|
+
packetSize: number;
|
|
18
|
+
sampleRate: number;
|
|
19
|
+
samplesPerPacket: number | null;
|
|
20
|
+
bytesPerPacket: number | null;
|
|
21
|
+
bytesPerFrame: number | null;
|
|
22
|
+
bitsPerSample: number | null;
|
|
23
|
+
children: AnySegment[];
|
|
24
|
+
version: number;
|
|
25
|
+
revisionLevel: number;
|
|
26
|
+
vendor: number[];
|
|
27
|
+
};
|
|
28
|
+
export type VideoSample = SampleBase & {
|
|
29
|
+
type: 'video';
|
|
30
|
+
temporalQuality: number;
|
|
31
|
+
spacialQuality: number;
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
compressorName: number[];
|
|
35
|
+
horizontalResolutionPpi: number;
|
|
36
|
+
verticalResolutionPpi: number;
|
|
37
|
+
dataSize: number;
|
|
38
|
+
frameCountPerSample: number;
|
|
39
|
+
depth: number;
|
|
40
|
+
colorTableId: number;
|
|
41
|
+
descriptors: IsoBaseMediaBox[];
|
|
42
|
+
version: number;
|
|
43
|
+
revisionLevel: number;
|
|
44
|
+
vendor: number[];
|
|
45
|
+
};
|
|
46
|
+
type UnknownSample = SampleBase & {
|
|
47
|
+
type: 'unknown';
|
|
48
|
+
};
|
|
49
|
+
export type Sample = AudioSample | VideoSample | UnknownSample;
|
|
50
|
+
type SampleAndNext = {
|
|
51
|
+
sample: Sample | null;
|
|
52
|
+
};
|
|
53
|
+
export declare const processSample: ({ iterator, options, signal, logLevel, fields, }: {
|
|
54
|
+
iterator: BufferIterator;
|
|
55
|
+
options: ParserContext;
|
|
56
|
+
signal: AbortSignal | null;
|
|
57
|
+
logLevel: LogLevel;
|
|
58
|
+
fields: Options<ParseMediaFields>;
|
|
59
|
+
}) => Promise<SampleAndNext>;
|
|
60
|
+
export declare const parseSamples: ({ iterator, maxBytes, options, signal, logLevel, fields, }: {
|
|
61
|
+
iterator: BufferIterator;
|
|
62
|
+
maxBytes: number;
|
|
63
|
+
options: ParserContext;
|
|
64
|
+
signal: AbortSignal | null;
|
|
65
|
+
logLevel: LogLevel;
|
|
66
|
+
fields: Options<ParseMediaFields>;
|
|
67
|
+
}) => Promise<Sample[]>;
|
|
68
|
+
export {};
|