@remotion/media-parser 4.0.256 → 4.0.258
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/abort.d.ts +1 -0
- package/dist/abort.js +7 -0
- package/dist/containers/flac/get-channel-count.d.ts +1 -1
- package/dist/controller.d.ts +17 -0
- package/dist/controller.js +31 -0
- package/dist/esm/index.mjs +1 -1
- package/dist/parse-and-download-media.d.ts +2 -0
- package/dist/parse-and-download-media.js +57 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/dist/add-new-matroska-tracks.d.ts +0 -8
- package/dist/add-new-matroska-tracks.js +0 -14
- package/dist/boxes/avc/parse-avc.d.ts +0 -18
- package/dist/boxes/avc/parse-avc.js +0 -96
- package/dist/boxes/iso-base-media/base-type.d.ts +0 -4
- package/dist/boxes/iso-base-media/base-type.js +0 -2
- package/dist/boxes/iso-base-media/esds/decoder-specific-config.d.ts +0 -14
- package/dist/boxes/iso-base-media/esds/decoder-specific-config.js +0 -38
- package/dist/boxes/iso-base-media/esds/esds-descriptors.d.ts +0 -29
- package/dist/boxes/iso-base-media/esds/esds-descriptors.js +0 -82
- package/dist/boxes/iso-base-media/esds/esds.d.ts +0 -15
- package/dist/boxes/iso-base-media/esds/esds.js +0 -27
- package/dist/boxes/iso-base-media/ftyp.d.ts +0 -13
- package/dist/boxes/iso-base-media/ftyp.js +0 -22
- package/dist/boxes/iso-base-media/get-actual-number-of-channels.d.ts +0 -13
- package/dist/boxes/iso-base-media/get-actual-number-of-channels.js +0 -22
- package/dist/boxes/iso-base-media/get-sample-positions-from-track.d.ts +0 -4
- package/dist/boxes/iso-base-media/get-sample-positions-from-track.js +0 -54
- package/dist/boxes/iso-base-media/make-track.d.ts +0 -3
- package/dist/boxes/iso-base-media/make-track.js +0 -107
- package/dist/boxes/iso-base-media/mdat/mdat.d.ts +0 -25
- package/dist/boxes/iso-base-media/mdat/mdat.js +0 -122
- package/dist/boxes/iso-base-media/mdhd.d.ts +0 -16
- package/dist/boxes/iso-base-media/mdhd.js +0 -32
- package/dist/boxes/iso-base-media/meta/hdlr.d.ts +0 -12
- package/dist/boxes/iso-base-media/meta/hdlr.js +0 -33
- package/dist/boxes/iso-base-media/meta/ilst.d.ts +0 -28
- package/dist/boxes/iso-base-media/meta/ilst.js +0 -86
- package/dist/boxes/iso-base-media/moov/moov.d.ts +0 -19
- package/dist/boxes/iso-base-media/moov/moov.js +0 -27
- package/dist/boxes/iso-base-media/mvhd.d.ts +0 -30
- package/dist/boxes/iso-base-media/mvhd.js +0 -65
- package/dist/boxes/iso-base-media/parse-icc-profile.d.ts +0 -36
- package/dist/boxes/iso-base-media/parse-icc-profile.js +0 -115
- package/dist/boxes/iso-base-media/process-box.d.ts +0 -34
- package/dist/boxes/iso-base-media/process-box.js +0 -710
- package/dist/boxes/iso-base-media/stsd/av1c.d.ts +0 -9
- package/dist/boxes/iso-base-media/stsd/av1c.js +0 -10
- package/dist/boxes/iso-base-media/stsd/avcc.d.ts +0 -10
- package/dist/boxes/iso-base-media/stsd/avcc.js +0 -21
- package/dist/boxes/iso-base-media/stsd/colr.d.ts +0 -21
- package/dist/boxes/iso-base-media/stsd/colr.js +0 -47
- package/dist/boxes/iso-base-media/stsd/ctts.d.ts +0 -19
- package/dist/boxes/iso-base-media/stsd/ctts.js +0 -34
- package/dist/boxes/iso-base-media/stsd/hvcc.d.ts +0 -11
- package/dist/boxes/iso-base-media/stsd/hvcc.js +0 -17
- package/dist/boxes/iso-base-media/stsd/keys.d.ts +0 -19
- package/dist/boxes/iso-base-media/stsd/keys.js +0 -35
- package/dist/boxes/iso-base-media/stsd/mebx.d.ts +0 -19
- package/dist/boxes/iso-base-media/stsd/mebx.js +0 -32
- package/dist/boxes/iso-base-media/stsd/pasp.d.ts +0 -12
- package/dist/boxes/iso-base-media/stsd/pasp.js +0 -17
- package/dist/boxes/iso-base-media/stsd/samples.d.ts +0 -68
- package/dist/boxes/iso-base-media/stsd/samples.js +0 -320
- package/dist/boxes/iso-base-media/stsd/stco.d.ts +0 -15
- package/dist/boxes/iso-base-media/stsd/stco.js +0 -30
- package/dist/boxes/iso-base-media/stsd/stsc.d.ts +0 -19
- package/dist/boxes/iso-base-media/stsd/stsc.js +0 -34
- package/dist/boxes/iso-base-media/stsd/stsd.d.ts +0 -18
- package/dist/boxes/iso-base-media/stsd/stsd.js +0 -33
- package/dist/boxes/iso-base-media/stsd/stss.d.ts +0 -13
- package/dist/boxes/iso-base-media/stsd/stss.js +0 -28
- package/dist/boxes/iso-base-media/stsd/stsz.d.ts +0 -21
- package/dist/boxes/iso-base-media/stsd/stsz.js +0 -44
- package/dist/boxes/iso-base-media/stsd/stts.d.ts +0 -15
- package/dist/boxes/iso-base-media/stsd/stts.js +0 -35
- package/dist/boxes/iso-base-media/tfdt.d.ts +0 -12
- package/dist/boxes/iso-base-media/tfdt.js +0 -20
- package/dist/boxes/iso-base-media/tfhd.d.ts +0 -16
- package/dist/boxes/iso-base-media/tfhd.js +0 -41
- package/dist/boxes/iso-base-media/tkhd.d.ts +0 -25
- package/dist/boxes/iso-base-media/tkhd.js +0 -87
- package/dist/boxes/iso-base-media/to-date.d.ts +0 -2
- package/dist/boxes/iso-base-media/to-date.js +0 -19
- package/dist/boxes/iso-base-media/trak/trak.d.ts +0 -19
- package/dist/boxes/iso-base-media/trak/trak.js +0 -27
- package/dist/boxes/iso-base-media/traversal.d.ts +0 -39
- package/dist/boxes/iso-base-media/traversal.js +0 -201
- package/dist/boxes/iso-base-media/trun.d.ts +0 -21
- package/dist/boxes/iso-base-media/trun.js +0 -44
- package/dist/boxes/iso-base-media/void-box.d.ts +0 -4
- package/dist/boxes/iso-base-media/void-box.js +0 -2
- package/dist/boxes/riff/expect-riff-box.d.ts +0 -17
- package/dist/boxes/riff/expect-riff-box.js +0 -49
- package/dist/boxes/riff/get-tracks-from-avi.d.ts +0 -22
- package/dist/boxes/riff/get-tracks-from-avi.js +0 -114
- package/dist/boxes/riff/is-movi.d.ts +0 -2
- package/dist/boxes/riff/is-movi.js +0 -12
- package/dist/boxes/riff/parse-avih.d.ts +0 -6
- package/dist/boxes/riff/parse-avih.js +0 -32
- package/dist/boxes/riff/parse-box.d.ts +0 -15
- package/dist/boxes/riff/parse-box.js +0 -146
- package/dist/boxes/riff/parse-fmt-box.d.ts +0 -7
- package/dist/boxes/riff/parse-fmt-box.js +0 -33
- package/dist/boxes/riff/parse-isft.d.ts +0 -6
- package/dist/boxes/riff/parse-isft.js +0 -17
- package/dist/boxes/riff/parse-list-box.d.ts +0 -8
- package/dist/boxes/riff/parse-list-box.js +0 -30
- package/dist/boxes/riff/parse-movi.d.ts +0 -17
- package/dist/boxes/riff/parse-movi.js +0 -133
- package/dist/boxes/riff/parse-riff-box.d.ts +0 -10
- package/dist/boxes/riff/parse-riff-box.js +0 -37
- package/dist/boxes/riff/parse-strf.d.ts +0 -7
- package/dist/boxes/riff/parse-strf.js +0 -67
- package/dist/boxes/riff/parse-strh.d.ts +0 -6
- package/dist/boxes/riff/parse-strh.js +0 -46
- package/dist/boxes/riff/riff-box.d.ts +0 -85
- package/dist/boxes/riff/riff-box.js +0 -2
- package/dist/boxes/riff/timescale.d.ts +0 -1
- package/dist/boxes/riff/timescale.js +0 -4
- package/dist/boxes/riff/traversal.d.ts +0 -8
- package/dist/boxes/riff/traversal.js +0 -36
- package/dist/boxes/webm/allowed-partial-segments.d.ts +0 -1
- package/dist/boxes/webm/allowed-partial-segments.js +0 -4
- package/dist/boxes/webm/av1-codec-private.d.ts +0 -2
- package/dist/boxes/webm/av1-codec-private.js +0 -95
- package/dist/boxes/webm/color.d.ts +0 -4
- package/dist/boxes/webm/color.js +0 -127
- package/dist/boxes/webm/description.d.ts +0 -2
- package/dist/boxes/webm/description.js +0 -83
- package/dist/boxes/webm/ebml.d.ts +0 -2
- package/dist/boxes/webm/ebml.js +0 -94
- package/dist/boxes/webm/get-ready-tracks.d.ts +0 -3
- package/dist/boxes/webm/get-ready-tracks.js +0 -29
- package/dist/boxes/webm/get-sample-from-block.d.ts +0 -17
- package/dist/boxes/webm/get-sample-from-block.js +0 -81
- package/dist/boxes/webm/make-header.d.ts +0 -8
- package/dist/boxes/webm/make-header.js +0 -187
- package/dist/boxes/webm/make-track.d.ts +0 -9
- package/dist/boxes/webm/make-track.js +0 -261
- package/dist/boxes/webm/parse-ebml.d.ts +0 -12
- package/dist/boxes/webm/parse-ebml.js +0 -185
- package/dist/boxes/webm/parse-webm-header.d.ts +0 -9
- package/dist/boxes/webm/parse-webm-header.js +0 -36
- package/dist/boxes/webm/segments/all-segments.d.ts +0 -976
- package/dist/boxes/webm/segments/all-segments.js +0 -724
- package/dist/boxes/webm/segments/block-simple-block-flags.d.ts +0 -9
- package/dist/boxes/webm/segments/block-simple-block-flags.js +0 -38
- package/dist/boxes/webm/segments/parse-children.d.ts +0 -23
- package/dist/boxes/webm/segments/parse-children.js +0 -145
- package/dist/boxes/webm/segments/track-entry.d.ts +0 -9
- package/dist/boxes/webm/segments/track-entry.js +0 -24
- package/dist/boxes/webm/segments.d.ts +0 -15
- package/dist/boxes/webm/segments.js +0 -161
- package/dist/boxes/webm/traversal.d.ts +0 -33
- package/dist/boxes/webm/traversal.js +0 -265
- package/dist/create/cluster-segment.d.ts +0 -10
- package/dist/create/cluster-segment.js +0 -39
- package/dist/create/cluster.d.ts +0 -19
- package/dist/create/cluster.js +0 -55
- package/dist/create/create-media.d.ts +0 -15
- package/dist/create/create-media.js +0 -165
- package/dist/create/event-emitter.d.ts +0 -31
- package/dist/create/event-emitter.js +0 -25
- package/dist/create/iso-base-media/codec-specific/avc1.d.ts +0 -2
- package/dist/create/iso-base-media/codec-specific/avc1.js +0 -48
- package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +0 -22
- package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +0 -36
- package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +0 -2
- package/dist/create/iso-base-media/codec-specific/mp4a.js +0 -74
- package/dist/create/iso-base-media/create-colr.d.ts +0 -6
- package/dist/create/iso-base-media/create-colr.js +0 -26
- package/dist/create/iso-base-media/create-ftyp.d.ts +0 -10
- package/dist/create/iso-base-media/create-ftyp.js +0 -22
- package/dist/create/iso-base-media/create-ilst.d.ts +0 -1
- package/dist/create/iso-base-media/create-ilst.js +0 -14
- package/dist/create/iso-base-media/create-iso-base-media.d.ts +0 -2
- package/dist/create/iso-base-media/create-iso-base-media.js +0 -165
- package/dist/create/iso-base-media/create-mdia.d.ts +0 -5
- package/dist/create/iso-base-media/create-mdia.js +0 -18
- package/dist/create/iso-base-media/create-moov.d.ts +0 -5
- package/dist/create/iso-base-media/create-moov.js +0 -18
- package/dist/create/iso-base-media/create-mvhd.d.ts +0 -10
- package/dist/create/iso-base-media/create-mvhd.js +0 -48
- package/dist/create/iso-base-media/create-trak.d.ts +0 -4
- package/dist/create/iso-base-media/create-trak.js +0 -17
- package/dist/create/iso-base-media/create-udta.d.ts +0 -1
- package/dist/create/iso-base-media/create-udta.js +0 -14
- package/dist/create/iso-base-media/create-url.d.ts +0 -1
- package/dist/create/iso-base-media/create-url.js +0 -16
- package/dist/create/iso-base-media/example-stts.d.ts +0 -3
- package/dist/create/iso-base-media/example-stts.js +0 -2797
- package/dist/create/iso-base-media/ilst/create-cmt.d.ts +0 -1
- package/dist/create/iso-base-media/ilst/create-cmt.js +0 -26
- package/dist/create/iso-base-media/ilst/create-too.d.ts +0 -1
- package/dist/create/iso-base-media/ilst/create-too.js +0 -27
- package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +0 -6
- package/dist/create/iso-base-media/mdia/create-mdhd.js +0 -33
- package/dist/create/iso-base-media/mp4-header.d.ts +0 -6
- package/dist/create/iso-base-media/mp4-header.js +0 -48
- package/dist/create/iso-base-media/primitives.d.ts +0 -15
- package/dist/create/iso-base-media/primitives.js +0 -133
- package/dist/create/iso-base-media/serialize-track.d.ts +0 -9
- package/dist/create/iso-base-media/serialize-track.js +0 -63
- package/dist/create/iso-base-media/trak/create-tkhd.d.ts +0 -27
- package/dist/create/iso-base-media/trak/create-tkhd.js +0 -97
- package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +0 -4
- package/dist/create/iso-base-media/trak/mdia/create-minf.js +0 -19
- package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +0 -1
- package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +0 -22
- package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +0 -1
- package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +0 -20
- package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +0 -6
- package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +0 -35
- package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +0 -1
- package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +0 -20
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +0 -2
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +0 -45
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +0 -2
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +0 -28
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +0 -2
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +0 -56
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +0 -2
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +0 -23
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +0 -2
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +0 -25
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +0 -2
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +0 -48
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +0 -1
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +0 -20
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +0 -1
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +0 -16
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +0 -1
- package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +0 -13
- package/dist/create/iso-base-media/udta/create-meta.d.ts +0 -4
- package/dist/create/iso-base-media/udta/create-meta.js +0 -20
- package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +0 -1
- package/dist/create/iso-base-media/udta/meta/create-hdlr.js +0 -32
- package/dist/create/make-duration-with-padding.d.ts +0 -1
- package/dist/create/make-duration-with-padding.js +0 -15
- package/dist/create/make-track-info.d.ts +0 -20
- package/dist/create/make-track-info.js +0 -2
- package/dist/create/matroska/cluster-segment.d.ts +0 -10
- package/dist/create/matroska/cluster-segment.js +0 -39
- package/dist/create/matroska/cluster.d.ts +0 -25
- package/dist/create/matroska/cluster.js +0 -77
- package/dist/create/matroska/create-matroska-media.d.ts +0 -2
- package/dist/create/matroska/create-matroska-media.js +0 -187
- package/dist/create/matroska/make-duration-with-padding.d.ts +0 -1
- package/dist/create/matroska/make-duration-with-padding.js +0 -15
- package/dist/create/matroska/matroska-cues.d.ts +0 -6
- package/dist/create/matroska/matroska-cues.js +0 -49
- package/dist/create/matroska/matroska-header.d.ts +0 -1
- package/dist/create/matroska/matroska-header.js +0 -66
- package/dist/create/matroska/matroska-info.d.ts +0 -3
- package/dist/create/matroska/matroska-info.js +0 -33
- package/dist/create/matroska/matroska-seek.d.ts +0 -6
- package/dist/create/matroska/matroska-seek.js +0 -32
- package/dist/create/matroska/matroska-segment.d.ts +0 -3
- package/dist/create/matroska/matroska-segment.js +0 -13
- package/dist/create/matroska/matroska-trackentry.d.ts +0 -10
- package/dist/create/matroska/matroska-trackentry.js +0 -249
- package/dist/create/matroska-cues.d.ts +0 -6
- package/dist/create/matroska-cues.js +0 -49
- package/dist/create/matroska-header.d.ts +0 -1
- package/dist/create/matroska-header.js +0 -66
- package/dist/create/matroska-info.d.ts +0 -3
- package/dist/create/matroska-info.js +0 -33
- package/dist/create/matroska-seek.d.ts +0 -6
- package/dist/create/matroska-seek.js +0 -32
- package/dist/create/matroska-segment.d.ts +0 -3
- package/dist/create/matroska-segment.js +0 -13
- package/dist/create/matroska-trackentry.d.ts +0 -27
- package/dist/create/matroska-trackentry.js +0 -243
- package/dist/create/media-fn.d.ts +0 -33
- package/dist/create/media-fn.js +0 -2
- package/dist/create/progress-tracker.d.ts +0 -7
- package/dist/create/progress-tracker.js +0 -43
- package/dist/create/timescale.d.ts +0 -1
- package/dist/create/timescale.js +0 -4
- package/dist/create/wav/create-wav.d.ts +0 -2
- package/dist/create/wav/create-wav.js +0 -110
- package/dist/create/with-resolvers.d.ts +0 -10
- package/dist/create/with-resolvers.js +0 -28
- package/dist/esm/buffer.mjs +0 -56
- package/dist/esm/web-fs.mjs +0 -73
- package/dist/parse-video.d.ts +0 -25
- package/dist/parse-video.js +0 -39
- package/dist/parser-context.d.ts +0 -10
- package/dist/parser-context.js +0 -2
- package/dist/parser-state.d.ts +0 -22
- package/dist/parser-state.js +0 -132
- package/dist/writers/buffer-implementation/writer.d.ts +0 -2
- package/dist/writers/buffer-implementation/writer.js +0 -54
- package/dist/writers/buffer.d.ts +0 -2
- package/dist/writers/buffer.js +0 -7
- package/dist/writers/web-fs.d.ts +0 -3
- package/dist/writers/web-fs.js +0 -74
package/dist/abort.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const hasBeenAborted: (error: unknown) => error is MediaParserAbortError;
|
package/dist/abort.js
ADDED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { BufferIterator } from '../../buffer-iterator';
|
|
2
|
-
export declare const getChannelCount: (iterator: BufferIterator) =>
|
|
2
|
+
export declare const getChannelCount: (iterator: BufferIterator) => 2 | 8 | 1 | 7 | 3 | 4 | 5 | 6;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MediaParserEmitter } from './emitter';
|
|
2
|
+
import type { PauseSignal } from './pause-signal';
|
|
3
|
+
export type MediaParserController = {
|
|
4
|
+
abort: (reason?: any) => void;
|
|
5
|
+
pause: PauseSignal['pause'];
|
|
6
|
+
resume: PauseSignal['resume'];
|
|
7
|
+
addEventListener: MediaParserEmitter['addEventListener'];
|
|
8
|
+
removeEventListener: MediaParserEmitter['removeEventListener'];
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Not public API
|
|
11
|
+
*/
|
|
12
|
+
_internals: {
|
|
13
|
+
signal: AbortSignal;
|
|
14
|
+
checkForAbortAndPause: () => Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare const mediaParserController: () => MediaParserController;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mediaParserController = void 0;
|
|
4
|
+
const emitter_1 = require("./emitter");
|
|
5
|
+
const pause_signal_1 = require("./pause-signal");
|
|
6
|
+
const mediaParserController = () => {
|
|
7
|
+
const abortController = new AbortController();
|
|
8
|
+
const emitter = new emitter_1.MediaParserEmitter();
|
|
9
|
+
const pauseSignal = (0, pause_signal_1.makePauseSignal)(emitter);
|
|
10
|
+
const checkForAbortAndPause = async () => {
|
|
11
|
+
if (abortController.signal.aborted) {
|
|
12
|
+
throw new Error('Aborted');
|
|
13
|
+
}
|
|
14
|
+
await pauseSignal.waitUntilResume();
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
+
abort: (reason) => {
|
|
19
|
+
abortController.abort(reason);
|
|
20
|
+
},
|
|
21
|
+
pause: pauseSignal.pause,
|
|
22
|
+
resume: pauseSignal.resume,
|
|
23
|
+
addEventListener: emitter.addEventListener,
|
|
24
|
+
removeEventListener: emitter.removeEventListener,
|
|
25
|
+
_internals: {
|
|
26
|
+
signal: abortController.signal,
|
|
27
|
+
checkForAbortAndPause,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
exports.mediaParserController = mediaParserController;
|
package/dist/esm/index.mjs
CHANGED
|
@@ -11224,7 +11224,7 @@ var parseMedia = (options) => {
|
|
|
11224
11224
|
});
|
|
11225
11225
|
};
|
|
11226
11226
|
// src/version.ts
|
|
11227
|
-
var VERSION = "4.0.
|
|
11227
|
+
var VERSION = "4.0.258";
|
|
11228
11228
|
|
|
11229
11229
|
// src/index.ts
|
|
11230
11230
|
var MediaParserInternals = {
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseAndDownloadMedia = void 0;
|
|
4
|
+
const internal_parse_media_1 = require("./internal-parse-media");
|
|
5
|
+
const from_fetch_1 = require("./readers/from-fetch");
|
|
6
|
+
const parseAndDownloadMedia = async (options) => {
|
|
7
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
|
|
8
|
+
const content = await options.writer.createContent({
|
|
9
|
+
filename: 'hmm',
|
|
10
|
+
mimeType: 'shouldnotmatter',
|
|
11
|
+
});
|
|
12
|
+
const returnValue = await (0, internal_parse_media_1.internalParseMedia)({
|
|
13
|
+
fields: (_a = options.fields) !== null && _a !== void 0 ? _a : null,
|
|
14
|
+
logLevel: (_b = options.logLevel) !== null && _b !== void 0 ? _b : 'info',
|
|
15
|
+
mode: 'download',
|
|
16
|
+
onAudioCodec: (_c = options.onAudioCodec) !== null && _c !== void 0 ? _c : null,
|
|
17
|
+
onAudioTrack: null,
|
|
18
|
+
onContainer: (_d = options.onContainer) !== null && _d !== void 0 ? _d : null,
|
|
19
|
+
onDimensions: (_e = options.onDimensions) !== null && _e !== void 0 ? _e : null,
|
|
20
|
+
onDiscardedData: async (data) => {
|
|
21
|
+
await content.write(data);
|
|
22
|
+
},
|
|
23
|
+
onDurationInSeconds: (_f = options.onDurationInSeconds) !== null && _f !== void 0 ? _f : null,
|
|
24
|
+
onFps: (_g = options.onFps) !== null && _g !== void 0 ? _g : null,
|
|
25
|
+
onImages: (_h = options.onImages) !== null && _h !== void 0 ? _h : null,
|
|
26
|
+
onInternalStats: (_j = options.onInternalStats) !== null && _j !== void 0 ? _j : null,
|
|
27
|
+
onIsHdr: (_k = options.onIsHdr) !== null && _k !== void 0 ? _k : null,
|
|
28
|
+
onKeyframes: (_l = options.onKeyframes) !== null && _l !== void 0 ? _l : null,
|
|
29
|
+
onLocation: (_m = options.onLocation) !== null && _m !== void 0 ? _m : null,
|
|
30
|
+
onMetadata: (_o = options.onMetadata) !== null && _o !== void 0 ? _o : null,
|
|
31
|
+
onMimeType: (_p = options.onMimeType) !== null && _p !== void 0 ? _p : null,
|
|
32
|
+
onName: (_q = options.onName) !== null && _q !== void 0 ? _q : null,
|
|
33
|
+
onNumberOfAudioChannels: (_r = options.onNumberOfAudioChannels) !== null && _r !== void 0 ? _r : null,
|
|
34
|
+
onParseProgress: (_s = options.onParseProgress) !== null && _s !== void 0 ? _s : null,
|
|
35
|
+
onRotation: (_t = options.onRotation) !== null && _t !== void 0 ? _t : null,
|
|
36
|
+
onSampleRate: (_u = options.onSampleRate) !== null && _u !== void 0 ? _u : null,
|
|
37
|
+
onSize: (_v = options.onSize) !== null && _v !== void 0 ? _v : null,
|
|
38
|
+
onSlowAudioBitrate: (_w = options.onSlowAudioBitrate) !== null && _w !== void 0 ? _w : null,
|
|
39
|
+
onSlowDurationInSeconds: (_x = options.onSlowDurationInSeconds) !== null && _x !== void 0 ? _x : null,
|
|
40
|
+
onSlowFps: (_y = options.onSlowFps) !== null && _y !== void 0 ? _y : null,
|
|
41
|
+
onSlowKeyframes: (_z = options.onSlowKeyframes) !== null && _z !== void 0 ? _z : null,
|
|
42
|
+
onSlowNumberOfFrames: (_0 = options.onSlowNumberOfFrames) !== null && _0 !== void 0 ? _0 : null,
|
|
43
|
+
onSlowVideoBitrate: (_1 = options.onSlowVideoBitrate) !== null && _1 !== void 0 ? _1 : null,
|
|
44
|
+
onStructure: (_2 = options.onStructure) !== null && _2 !== void 0 ? _2 : null,
|
|
45
|
+
onTracks: (_3 = options.onTracks) !== null && _3 !== void 0 ? _3 : null,
|
|
46
|
+
onUnrotatedDimensions: (_4 = options.onUnrotatedDimensions) !== null && _4 !== void 0 ? _4 : null,
|
|
47
|
+
onVideoCodec: (_5 = options.onVideoCodec) !== null && _5 !== void 0 ? _5 : null,
|
|
48
|
+
onVideoTrack: null,
|
|
49
|
+
progressIntervalInMs: (_6 = options.progressIntervalInMs) !== null && _6 !== void 0 ? _6 : null,
|
|
50
|
+
reader: (_7 = options.reader) !== null && _7 !== void 0 ? _7 : from_fetch_1.fetchReader,
|
|
51
|
+
signal: (_8 = options.signal) !== null && _8 !== void 0 ? _8 : undefined,
|
|
52
|
+
src: options.src,
|
|
53
|
+
});
|
|
54
|
+
await content.finish();
|
|
55
|
+
return returnValue;
|
|
56
|
+
};
|
|
57
|
+
exports.parseAndDownloadMedia = parseAndDownloadMedia;
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "4.0.
|
|
1
|
+
export declare const VERSION = "4.0.258";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/media-parser"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/media-parser",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.258",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"devDependencies": {
|
|
10
10
|
"@types/wicg-file-system-access": "2023.10.5",
|
|
11
11
|
"eslint": "9.14.0",
|
|
12
|
-
"@remotion/example-videos": "4.0.
|
|
13
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
12
|
+
"@remotion/example-videos": "4.0.258",
|
|
13
|
+
"@remotion/eslint-config-internal": "4.0.258"
|
|
14
14
|
},
|
|
15
15
|
"publishConfig": {
|
|
16
16
|
"access": "public"
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Track } from './get-tracks';
|
|
2
|
-
import type { ParserContext } from './parser-context';
|
|
3
|
-
import type { ParserState } from './parser-state';
|
|
4
|
-
export declare const registerTrack: ({ state, options, track, }: {
|
|
5
|
-
state: ParserState;
|
|
6
|
-
options: ParserContext;
|
|
7
|
-
track: Track;
|
|
8
|
-
}) => Promise<void>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerTrack = void 0;
|
|
4
|
-
const registerTrack = async ({ state, options, track, }) => {
|
|
5
|
-
if (track.type === 'video' && options.onVideoTrack) {
|
|
6
|
-
const callback = await options.onVideoTrack(track);
|
|
7
|
-
await state.registerVideoSampleCallback(track.trackId, callback !== null && callback !== void 0 ? callback : null);
|
|
8
|
-
}
|
|
9
|
-
if (track.type === 'audio' && options.onAudioTrack) {
|
|
10
|
-
const callback = await options.onAudioTrack(track);
|
|
11
|
-
await state.registerAudioSampleCallback(track.trackId, callback !== null && callback !== void 0 ? callback : null);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
exports.registerTrack = registerTrack;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export type AvcProfileInfo = {
|
|
2
|
-
profile: number;
|
|
3
|
-
level: number;
|
|
4
|
-
compatibility: number;
|
|
5
|
-
sps: Uint8Array;
|
|
6
|
-
type: 'avc-profile';
|
|
7
|
-
};
|
|
8
|
-
export type AvcPPs = {
|
|
9
|
-
type: 'avc-pps';
|
|
10
|
-
pps: Uint8Array;
|
|
11
|
-
};
|
|
12
|
-
type AvcInfo = AvcProfileInfo | AvcPPs | {
|
|
13
|
-
type: 'keyframe';
|
|
14
|
-
} | {
|
|
15
|
-
type: 'delta-frame';
|
|
16
|
-
};
|
|
17
|
-
export declare const parseAvc: (buffer: Uint8Array) => AvcInfo[];
|
|
18
|
-
export {};
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseAvc = void 0;
|
|
4
|
-
const buffer_iterator_1 = require("../../buffer-iterator");
|
|
5
|
-
const readSps = (iterator) => {
|
|
6
|
-
const profile = iterator.getUint8();
|
|
7
|
-
const compatibility = iterator.getUint8();
|
|
8
|
-
const level = iterator.getUint8();
|
|
9
|
-
return {
|
|
10
|
-
profile,
|
|
11
|
-
compatibility,
|
|
12
|
-
level,
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
const findEnd = (buffer) => {
|
|
16
|
-
let zeroesInARow = 0;
|
|
17
|
-
for (let i = 0; i < buffer.length; i++) {
|
|
18
|
-
const val = buffer[i];
|
|
19
|
-
if (val === 0) {
|
|
20
|
-
zeroesInARow++;
|
|
21
|
-
continue;
|
|
22
|
-
}
|
|
23
|
-
if (zeroesInARow >= 2 && val === 1) {
|
|
24
|
-
return i - zeroesInARow;
|
|
25
|
-
}
|
|
26
|
-
zeroesInARow = 0;
|
|
27
|
-
}
|
|
28
|
-
return null;
|
|
29
|
-
};
|
|
30
|
-
const inspect = (buffer) => {
|
|
31
|
-
const iterator = (0, buffer_iterator_1.getArrayBufferIterator)(buffer, buffer.byteLength);
|
|
32
|
-
iterator.startReadingBits();
|
|
33
|
-
iterator.getBits(1);
|
|
34
|
-
iterator.getBits(2);
|
|
35
|
-
const type = iterator.getBits(5);
|
|
36
|
-
iterator.stopReadingBits();
|
|
37
|
-
if (type === 7) {
|
|
38
|
-
const end = findEnd(buffer);
|
|
39
|
-
const data = readSps(iterator);
|
|
40
|
-
const sps = buffer.slice(1, end === null ? Infinity : end);
|
|
41
|
-
return {
|
|
42
|
-
level: data.level,
|
|
43
|
-
profile: data.profile,
|
|
44
|
-
compatibility: data.compatibility,
|
|
45
|
-
sps,
|
|
46
|
-
type: 'avc-profile',
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
if (type === 5) {
|
|
50
|
-
return {
|
|
51
|
-
type: 'keyframe',
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
if (type === 8) {
|
|
55
|
-
const end = findEnd(buffer);
|
|
56
|
-
const pps = buffer.slice(0, end === null ? Infinity : end);
|
|
57
|
-
return {
|
|
58
|
-
type: 'avc-pps',
|
|
59
|
-
pps,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
if (type === 1) {
|
|
63
|
-
return {
|
|
64
|
-
type: 'delta-frame',
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
iterator.destroy();
|
|
68
|
-
return null;
|
|
69
|
-
};
|
|
70
|
-
// https://stackoverflow.com/questions/24884827/possible-locations-for-sequence-picture-parameter-sets-for-h-264-stream
|
|
71
|
-
const parseAvc = (buffer) => {
|
|
72
|
-
let zeroesInARow = 0;
|
|
73
|
-
const infos = [];
|
|
74
|
-
for (let i = 0; i < buffer.length; i++) {
|
|
75
|
-
const val = buffer[i];
|
|
76
|
-
if (val === 0) {
|
|
77
|
-
zeroesInARow++;
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
if (zeroesInARow >= 2 && val === 1) {
|
|
81
|
-
zeroesInARow = 0;
|
|
82
|
-
const info = inspect(buffer.slice(i + 1, i + 100));
|
|
83
|
-
if (info) {
|
|
84
|
-
infos.push(info);
|
|
85
|
-
if (info.type === 'keyframe' || info.type === 'delta-frame') {
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
if (val !== 1) {
|
|
91
|
-
zeroesInARow = 0;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return infos;
|
|
95
|
-
};
|
|
96
|
-
exports.parseAvc = parseAvc;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
-
type UnknownDecoderSpecificConfig = {
|
|
3
|
-
type: 'unknown-decoder-specific-config';
|
|
4
|
-
};
|
|
5
|
-
type AudioSpecificConfig = {
|
|
6
|
-
type: 'mp4a-specific-config';
|
|
7
|
-
audioObjectType: number;
|
|
8
|
-
samplingFrequencyIndex: number;
|
|
9
|
-
channelConfiguration: number;
|
|
10
|
-
asBytes: Uint8Array;
|
|
11
|
-
};
|
|
12
|
-
export type DecoderSpecificConfig = UnknownDecoderSpecificConfig | AudioSpecificConfig;
|
|
13
|
-
export declare const parseDecoderSpecificConfig: (iterator: BufferIterator) => DecoderSpecificConfig;
|
|
14
|
-
export {};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseDecoderSpecificConfig = void 0;
|
|
4
|
-
const parseDecoderSpecificConfig = (iterator) => {
|
|
5
|
-
const layerTag = iterator.getUint8();
|
|
6
|
-
const layerSize = iterator.getPaddedFourByteNumber();
|
|
7
|
-
const start = iterator.counter.getOffset();
|
|
8
|
-
if (layerTag !== 5) {
|
|
9
|
-
iterator.discard(layerSize);
|
|
10
|
-
return {
|
|
11
|
-
type: 'unknown-decoder-specific-config',
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
// https://csclub.uwaterloo.ca/~pbarfuss/ISO14496-3-2009.pdf
|
|
15
|
-
// 1.6.2.1 AudioSpecificConfig
|
|
16
|
-
const bytes = iterator.getSlice(layerSize);
|
|
17
|
-
iterator.counter.decrement(layerSize);
|
|
18
|
-
iterator.startReadingBits();
|
|
19
|
-
const audioObjectType = iterator.getBits(5);
|
|
20
|
-
const samplingFrequencyIndex = iterator.getBits(4);
|
|
21
|
-
if (samplingFrequencyIndex === 0xf) {
|
|
22
|
-
iterator.getBits(24);
|
|
23
|
-
}
|
|
24
|
-
const channelConfiguration = iterator.getBits(4);
|
|
25
|
-
iterator.stopReadingBits();
|
|
26
|
-
const read = iterator.counter.getOffset() - start;
|
|
27
|
-
if (read < layerSize) {
|
|
28
|
-
iterator.discard(layerSize - read);
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
type: 'mp4a-specific-config',
|
|
32
|
-
audioObjectType,
|
|
33
|
-
samplingFrequencyIndex,
|
|
34
|
-
channelConfiguration,
|
|
35
|
-
asBytes: bytes,
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
exports.parseDecoderSpecificConfig = parseDecoderSpecificConfig;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
-
import type { DecoderSpecificConfig } from './decoder-specific-config';
|
|
3
|
-
type AudioObjectType = 'aac' | 'mp3' | 'unknown';
|
|
4
|
-
type DecoderConfigDescriptor = {
|
|
5
|
-
type: 'decoder-config-descriptor';
|
|
6
|
-
objectTypeIndication: AudioObjectType;
|
|
7
|
-
asNumber: number;
|
|
8
|
-
streamType: number;
|
|
9
|
-
upStream: number;
|
|
10
|
-
bufferSizeDB: number;
|
|
11
|
-
maxBitrate: number;
|
|
12
|
-
avgBitrate: number;
|
|
13
|
-
decoderSpecificConfigs: DecoderSpecificConfig[];
|
|
14
|
-
};
|
|
15
|
-
type SlConfigDescriptor = {
|
|
16
|
-
type: 'sl-config-descriptor';
|
|
17
|
-
};
|
|
18
|
-
type UnknownDescriptor = {
|
|
19
|
-
type: 'unknown-descriptor';
|
|
20
|
-
};
|
|
21
|
-
export type Descriptor = DecoderConfigDescriptor | SlConfigDescriptor | UnknownDescriptor;
|
|
22
|
-
type DescriptorAndNext = {
|
|
23
|
-
descriptor: Descriptor | null;
|
|
24
|
-
};
|
|
25
|
-
export declare const processDescriptor: ({ iterator, }: {
|
|
26
|
-
iterator: BufferIterator;
|
|
27
|
-
}) => DescriptorAndNext;
|
|
28
|
-
export declare const parseDescriptors: (iterator: BufferIterator, maxBytes: number) => Descriptor[];
|
|
29
|
-
export {};
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseDescriptors = exports.processDescriptor = void 0;
|
|
4
|
-
const decoder_specific_config_1 = require("./decoder-specific-config");
|
|
5
|
-
const mapToObjectAudioIndicator = (num) => {
|
|
6
|
-
// https://chromium.googlesource.com/chromium/src/media/+/master/formats/mp4/es_descriptor.h
|
|
7
|
-
// http://netmedia.zju.edu.cn/multimedia2013/mpeg-4/ISO%20IEC%2014496-1%20MPEG-4%20System%20Standard.pdf
|
|
8
|
-
// Page 42, table 8
|
|
9
|
-
if (num === 0x40) {
|
|
10
|
-
return 'aac';
|
|
11
|
-
}
|
|
12
|
-
if (num === 0x6b) {
|
|
13
|
-
return 'mp3';
|
|
14
|
-
}
|
|
15
|
-
return 'unknown';
|
|
16
|
-
};
|
|
17
|
-
const processDescriptor = ({ iterator, }) => {
|
|
18
|
-
const tag = iterator.getUint8();
|
|
19
|
-
if (tag === 4) {
|
|
20
|
-
const size = iterator.getPaddedFourByteNumber();
|
|
21
|
-
const initialOffset = iterator.counter.getOffset();
|
|
22
|
-
const objectTypeIndication = iterator.getUint8();
|
|
23
|
-
iterator.startReadingBits();
|
|
24
|
-
const streamType = iterator.getBits(6);
|
|
25
|
-
const upStream = iterator.getBits(1);
|
|
26
|
-
// reserved
|
|
27
|
-
iterator.getBits(1);
|
|
28
|
-
const bufferSizeDB = iterator.getBits(24);
|
|
29
|
-
iterator.stopReadingBits();
|
|
30
|
-
const maxBitrate = iterator.getUint32();
|
|
31
|
-
const avgBitrate = iterator.getUint32();
|
|
32
|
-
const decoderSpecificConfigs = [];
|
|
33
|
-
while (size - (iterator.counter.getOffset() - initialOffset) > 0) {
|
|
34
|
-
const decoderSpecificConfig = (0, decoder_specific_config_1.parseDecoderSpecificConfig)(iterator);
|
|
35
|
-
decoderSpecificConfigs.push(decoderSpecificConfig);
|
|
36
|
-
}
|
|
37
|
-
return {
|
|
38
|
-
descriptor: {
|
|
39
|
-
type: 'decoder-config-descriptor',
|
|
40
|
-
objectTypeIndication: mapToObjectAudioIndicator(objectTypeIndication),
|
|
41
|
-
asNumber: objectTypeIndication,
|
|
42
|
-
bufferSizeDB,
|
|
43
|
-
streamType,
|
|
44
|
-
upStream,
|
|
45
|
-
avgBitrate,
|
|
46
|
-
maxBitrate,
|
|
47
|
-
decoderSpecificConfigs,
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
if (tag === 6) {
|
|
52
|
-
const size = iterator.getPaddedFourByteNumber();
|
|
53
|
-
iterator.discard(size);
|
|
54
|
-
return {
|
|
55
|
-
descriptor: {
|
|
56
|
-
type: 'sl-config-descriptor',
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
return {
|
|
61
|
-
descriptor: null,
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
exports.processDescriptor = processDescriptor;
|
|
65
|
-
const parseDescriptors = (iterator, maxBytes) => {
|
|
66
|
-
const descriptors = [];
|
|
67
|
-
const initialOffset = iterator.counter.getOffset();
|
|
68
|
-
while (iterator.bytesRemaining() > 0 &&
|
|
69
|
-
iterator.counter.getOffset() - initialOffset < maxBytes) {
|
|
70
|
-
const { descriptor } = (0, exports.processDescriptor)({
|
|
71
|
-
iterator,
|
|
72
|
-
});
|
|
73
|
-
if (descriptor) {
|
|
74
|
-
descriptors.push(descriptor);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return descriptors;
|
|
81
|
-
};
|
|
82
|
-
exports.parseDescriptors = parseDescriptors;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../../buffer-iterator';
|
|
2
|
-
import type { Descriptor } from './esds-descriptors';
|
|
3
|
-
export interface EsdsBox {
|
|
4
|
-
type: 'esds-box';
|
|
5
|
-
version: number;
|
|
6
|
-
tag: number;
|
|
7
|
-
sizeOfInstance: number;
|
|
8
|
-
esId: number;
|
|
9
|
-
descriptors: Descriptor[];
|
|
10
|
-
}
|
|
11
|
-
export declare const parseEsds: ({ data, size, fileOffset, }: {
|
|
12
|
-
data: BufferIterator;
|
|
13
|
-
size: number;
|
|
14
|
-
fileOffset: number;
|
|
15
|
-
}) => EsdsBox;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseEsds = void 0;
|
|
4
|
-
const esds_descriptors_1 = require("./esds-descriptors");
|
|
5
|
-
const parseEsds = ({ data, size, fileOffset, }) => {
|
|
6
|
-
const version = data.getUint8();
|
|
7
|
-
// Flags, we discard them
|
|
8
|
-
data.discard(3);
|
|
9
|
-
const tag = data.getUint8();
|
|
10
|
-
const sizeOfInstance = data.getPaddedFourByteNumber();
|
|
11
|
-
const esId = data.getUint16();
|
|
12
|
-
// disard 1 byte, currently unknown
|
|
13
|
-
data.discard(1);
|
|
14
|
-
const remaining = size - (data.counter.getOffset() - fileOffset);
|
|
15
|
-
const descriptors = (0, esds_descriptors_1.parseDescriptors)(data, remaining);
|
|
16
|
-
const remainingNow = size - (data.counter.getOffset() - fileOffset);
|
|
17
|
-
data.discard(remainingNow);
|
|
18
|
-
return {
|
|
19
|
-
type: 'esds-box',
|
|
20
|
-
version,
|
|
21
|
-
tag,
|
|
22
|
-
sizeOfInstance,
|
|
23
|
-
esId,
|
|
24
|
-
descriptors,
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
exports.parseEsds = parseEsds;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../buffer-iterator';
|
|
2
|
-
import type { BaseBox } from './base-type';
|
|
3
|
-
export interface FtypBox extends BaseBox {
|
|
4
|
-
type: 'ftyp-box';
|
|
5
|
-
majorBrand: string;
|
|
6
|
-
minorVersion: number;
|
|
7
|
-
compatibleBrands: string[];
|
|
8
|
-
}
|
|
9
|
-
export declare const parseFtyp: ({ iterator, size, offset, }: {
|
|
10
|
-
iterator: BufferIterator;
|
|
11
|
-
size: number;
|
|
12
|
-
offset: number;
|
|
13
|
-
}) => FtypBox;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseFtyp = void 0;
|
|
4
|
-
const parseFtyp = ({ iterator, size, offset, }) => {
|
|
5
|
-
const majorBrand = iterator.getByteString(4);
|
|
6
|
-
const minorVersion = iterator.getFourByteNumber();
|
|
7
|
-
const types = (size - iterator.counter.getOffset()) / 4;
|
|
8
|
-
const compatibleBrands = [];
|
|
9
|
-
for (let i = 0; i < types; i++) {
|
|
10
|
-
compatibleBrands.push(iterator.getByteString(4).trim());
|
|
11
|
-
}
|
|
12
|
-
const offsetAtEnd = iterator.counter.getOffset();
|
|
13
|
-
return {
|
|
14
|
-
type: 'ftyp-box',
|
|
15
|
-
majorBrand,
|
|
16
|
-
minorVersion,
|
|
17
|
-
compatibleBrands,
|
|
18
|
-
offset,
|
|
19
|
-
boxSize: offsetAtEnd - offset,
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
exports.parseFtyp = parseFtyp;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { MediaParserAudioCodec } from '../../get-tracks';
|
|
2
|
-
type AudioDecoderConfig = {
|
|
3
|
-
numberOfChannels: number;
|
|
4
|
-
sampleRate: number;
|
|
5
|
-
codecPrivate: Uint8Array | null;
|
|
6
|
-
};
|
|
7
|
-
export declare const getActualDecoderParameters: ({ audioCodec, codecPrivate, numberOfChannels, sampleRate, }: {
|
|
8
|
-
audioCodec: MediaParserAudioCodec;
|
|
9
|
-
codecPrivate: Uint8Array | null;
|
|
10
|
-
numberOfChannels: number;
|
|
11
|
-
sampleRate: number;
|
|
12
|
-
}) => AudioDecoderConfig;
|
|
13
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getActualDecoderParameters = void 0;
|
|
4
|
-
const aac_codecprivate_1 = require("../../aac-codecprivate");
|
|
5
|
-
// Example video: 'https://remotion-assets.s3.eu-central-1.amazonaws.com/example-videos/riverside.mp4';
|
|
6
|
-
// This video has `numberOfChannels = 2`, but the actual number of channels is `1` according to Codec Private.
|
|
7
|
-
// Therefore, prioritizing Codec Private over `numberOfChannels`.
|
|
8
|
-
const getActualDecoderParameters = ({ audioCodec, codecPrivate, numberOfChannels, sampleRate, }) => {
|
|
9
|
-
if (audioCodec !== 'aac') {
|
|
10
|
-
return { numberOfChannels, sampleRate, codecPrivate };
|
|
11
|
-
}
|
|
12
|
-
if (codecPrivate === null) {
|
|
13
|
-
return { numberOfChannels, sampleRate, codecPrivate };
|
|
14
|
-
}
|
|
15
|
-
const parsed = (0, aac_codecprivate_1.parseAacCodecPrivate)(codecPrivate);
|
|
16
|
-
return {
|
|
17
|
-
numberOfChannels: parsed.channelConfiguration,
|
|
18
|
-
sampleRate: parsed.sampleRate,
|
|
19
|
-
codecPrivate: (0, aac_codecprivate_1.createAacCodecPrivate)(parsed),
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
exports.getActualDecoderParameters = getActualDecoderParameters;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { SamplePosition } from '../../get-sample-positions';
|
|
2
|
-
import type { IsoBaseMediaBox } from '../../parse-result';
|
|
3
|
-
import type { TrakBox } from './trak/trak';
|
|
4
|
-
export declare const getSamplePositionsFromTrack: (trakBox: TrakBox, moofBox: IsoBaseMediaBox | null) => SamplePosition[];
|