@remotion/media-parser 4.0.201 → 4.0.202

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.
Files changed (113) hide show
  1. package/dist/boxes/iso-base-media/mvhd.js +2 -2
  2. package/dist/boxes/iso-base-media/stsd/keys.js +1 -1
  3. package/dist/boxes/webm/av1-codec-private.js +1 -1
  4. package/dist/boxes/webm/description.d.ts +2 -2
  5. package/dist/boxes/webm/description.js +2 -2
  6. package/dist/boxes/webm/ebml.d.ts +2 -2
  7. package/dist/boxes/webm/ebml.js +23 -1
  8. package/dist/boxes/webm/get-ready-tracks.d.ts +1 -1
  9. package/dist/boxes/webm/get-ready-tracks.js +3 -3
  10. package/dist/boxes/webm/get-sample-from-block.d.ts +17 -0
  11. package/dist/boxes/webm/get-sample-from-block.js +78 -0
  12. package/dist/boxes/webm/get-track.d.ts +2 -2
  13. package/dist/boxes/webm/get-track.js +26 -25
  14. package/dist/boxes/webm/make-header.d.ts +3 -8
  15. package/dist/boxes/webm/make-header.js +43 -20
  16. package/dist/boxes/webm/parse-ebml.d.ts +9 -4
  17. package/dist/boxes/webm/parse-ebml.js +122 -13
  18. package/dist/boxes/webm/segments/all-segments.d.ts +421 -107
  19. package/dist/boxes/webm/segments/all-segments.js +260 -33
  20. package/dist/boxes/webm/segments/seek-position.js +1 -1
  21. package/dist/boxes/webm/segments/seek.d.ts +1 -1
  22. package/dist/boxes/webm/segments/seek.js +2 -8
  23. package/dist/boxes/webm/segments/timestamp-scale.js +1 -1
  24. package/dist/boxes/webm/segments/track-entry.d.ts +3 -191
  25. package/dist/boxes/webm/segments/track-entry.js +2 -456
  26. package/dist/boxes/webm/segments.d.ts +3 -16
  27. package/dist/boxes/webm/segments.js +12 -196
  28. package/dist/boxes/webm/traversal.d.ts +5 -6
  29. package/dist/boxes/webm/traversal.js +6 -6
  30. package/dist/buffer-iterator.d.ts +1 -1
  31. package/dist/buffer-iterator.js +3 -3
  32. package/dist/create/create-media.d.ts +2 -0
  33. package/dist/create/create-media.js +36 -0
  34. package/dist/create/matroska-header.d.ts +1 -0
  35. package/dist/create/matroska-header.js +66 -0
  36. package/dist/create/matroska-info.d.ts +4 -0
  37. package/dist/create/matroska-info.js +39 -0
  38. package/dist/create/matroska-segment.d.ts +1 -0
  39. package/dist/create/matroska-segment.js +12 -0
  40. package/dist/create/matroska-trackentry.d.ts +21 -0
  41. package/dist/create/matroska-trackentry.js +191 -0
  42. package/dist/create-media.d.ts +1 -0
  43. package/dist/create-media.js +78 -0
  44. package/dist/get-audio-codec.d.ts +1 -1
  45. package/dist/get-audio-codec.js +13 -13
  46. package/dist/get-duration.js +12 -14
  47. package/dist/get-tracks.js +2 -2
  48. package/dist/get-video-codec.js +13 -13
  49. package/dist/parse-media.js +4 -1
  50. package/dist/parser-context.d.ts +1 -0
  51. package/dist/parser-state.js +3 -2
  52. package/dist/readers/from-fetch.d.ts +2 -0
  53. package/dist/readers/from-fetch.js +64 -0
  54. package/dist/readers/from-node.d.ts +2 -0
  55. package/dist/readers/from-node.js +40 -0
  56. package/dist/readers/from-web-file.d.ts +2 -0
  57. package/dist/readers/from-web-file.js +39 -0
  58. package/dist/readers/reader.d.ts +11 -0
  59. package/dist/readers/reader.js +2 -0
  60. package/dist/traversal.d.ts +19 -17
  61. package/dist/traversal.js +38 -39
  62. package/dist/writers/web-fs.d.ts +2 -0
  63. package/dist/writers/web-fs.js +28 -0
  64. package/dist/writers/writer.d.ts +9 -0
  65. package/dist/writers/writer.js +2 -0
  66. package/input.webm +0 -0
  67. package/package.json +2 -2
  68. package/src/boxes/iso-base-media/mvhd.ts +2 -2
  69. package/src/boxes/iso-base-media/stsd/keys.ts +1 -1
  70. package/src/boxes/webm/av1-codec-private.ts +1 -1
  71. package/src/boxes/webm/description.ts +7 -4
  72. package/src/boxes/webm/ebml.ts +24 -4
  73. package/src/boxes/webm/get-ready-tracks.ts +4 -4
  74. package/src/boxes/webm/get-sample-from-block.ts +125 -0
  75. package/src/boxes/webm/get-track.ts +38 -31
  76. package/src/boxes/webm/make-header.ts +58 -51
  77. package/src/boxes/webm/parse-ebml.ts +170 -16
  78. package/src/boxes/webm/segments/all-segments.ts +379 -62
  79. package/src/boxes/webm/segments/track-entry.ts +3 -846
  80. package/src/boxes/webm/segments.ts +18 -410
  81. package/src/boxes/webm/traversal.ts +17 -17
  82. package/src/buffer-iterator.ts +5 -4
  83. package/src/get-audio-codec.ts +14 -16
  84. package/src/get-duration.ts +15 -16
  85. package/src/get-tracks.ts +2 -2
  86. package/src/get-video-codec.ts +13 -15
  87. package/src/parse-media.ts +6 -1
  88. package/src/parser-context.ts +1 -0
  89. package/src/parser-state.ts +2 -2
  90. package/src/test/create-matroska.test.ts +237 -23
  91. package/src/test/matroska.test.ts +283 -348
  92. package/src/test/mvhd.test.ts +1 -1
  93. package/src/test/parse-esds.test.ts +2 -2
  94. package/src/test/parse-stco.test.ts +2 -2
  95. package/src/test/parse-stsc.test.ts +2 -2
  96. package/src/test/parse-stsz.test.ts +2 -2
  97. package/src/test/parse-stts.test.ts +1 -1
  98. package/src/test/stsd.test.ts +4 -2
  99. package/src/test/tkhd.test.ts +1 -1
  100. package/src/traversal.ts +62 -85
  101. package/tsconfig.tsbuildinfo +1 -1
  102. package/src/boxes/webm/segments/duration.ts +0 -29
  103. package/src/boxes/webm/segments/info.ts +0 -34
  104. package/src/boxes/webm/segments/main.ts +0 -6
  105. package/src/boxes/webm/segments/muxing.ts +0 -18
  106. package/src/boxes/webm/segments/seek-head.ts +0 -34
  107. package/src/boxes/webm/segments/seek-position.ts +0 -18
  108. package/src/boxes/webm/segments/seek.ts +0 -55
  109. package/src/boxes/webm/segments/timestamp-scale.ts +0 -17
  110. package/src/boxes/webm/segments/tracks.ts +0 -32
  111. package/src/boxes/webm/segments/void.ts +0 -18
  112. package/src/boxes/webm/segments/writing.ts +0 -18
  113. package/src/combine-uint8array.ts +0 -13
@@ -1,34 +0,0 @@
1
- import type {BufferIterator} from '../../../buffer-iterator';
2
- import type {ParserContext} from '../../../parser-context';
3
- import {type MatroskaSegment} from '../segments';
4
- import {expectChildren} from './parse-children';
5
-
6
- export type SeekHeadSegment = {
7
- type: 'seek-head-segment';
8
- children: MatroskaSegment[];
9
- length: number;
10
- };
11
-
12
- export const parseSeekHeadSegment = async (
13
- iterator: BufferIterator,
14
- length: number,
15
- parserContext: ParserContext,
16
- ): Promise<SeekHeadSegment> => {
17
- const children = await expectChildren({
18
- iterator,
19
- length,
20
- initialChildren: [],
21
- wrap: null,
22
- parserContext,
23
- });
24
-
25
- if (children.status === 'incomplete') {
26
- throw new Error('Incomplete children');
27
- }
28
-
29
- return {
30
- type: 'seek-head-segment',
31
- length,
32
- children: children.segments as MatroskaSegment[],
33
- };
34
- };
@@ -1,18 +0,0 @@
1
- import type {BufferIterator} from '../../../buffer-iterator';
2
-
3
- export type SeekPositionSegment = {
4
- type: 'seek-position-segment';
5
- seekPosition: number;
6
- };
7
-
8
- export const parseSeekPositionSegment = (
9
- iterator: BufferIterator,
10
- length: number,
11
- ): SeekPositionSegment => {
12
- const seekPosition = iterator.getUint(length);
13
-
14
- return {
15
- type: 'seek-position-segment',
16
- seekPosition,
17
- };
18
- };
@@ -1,55 +0,0 @@
1
- import type {BufferIterator} from '../../../buffer-iterator';
2
- import type {ParserContext} from '../../../parser-context';
3
- import type {MatroskaSegment} from '../segments';
4
- import {expectChildren} from './parse-children';
5
-
6
- export type SeekSegment = {
7
- type: 'seek-segment';
8
- children: MatroskaSegment[];
9
- };
10
-
11
- export const parseSeekSegment = async (
12
- iterator: BufferIterator,
13
- length: number,
14
- parserContext: ParserContext,
15
- ): Promise<SeekSegment> => {
16
- const children = await expectChildren({
17
- iterator,
18
- length,
19
- initialChildren: [],
20
- wrap: null,
21
- parserContext,
22
- });
23
- if (children.status === 'incomplete') {
24
- throw new Error('Incomplete children');
25
- }
26
-
27
- return {
28
- type: 'seek-segment',
29
- children: children.segments as MatroskaSegment[],
30
- };
31
- };
32
-
33
- export type SeekIdSegment = {
34
- type: 'seek-id-segment';
35
- seekId: string;
36
- };
37
-
38
- export const parseSeekIdSegment = (
39
- iterator: BufferIterator,
40
- length: number,
41
- ): SeekIdSegment => {
42
- const seekId =
43
- '0x' +
44
- [...iterator.getSlice(length)]
45
- .map((b) => b.toString(16).padStart(2, '0'))
46
- .join('');
47
- if (seekId === null) {
48
- throw new Error('Not enough bytes to parse seek id');
49
- }
50
-
51
- return {
52
- type: 'seek-id-segment',
53
- seekId,
54
- };
55
- };
@@ -1,17 +0,0 @@
1
- import type {BufferIterator} from '../../../buffer-iterator';
2
-
3
- export type TimestampScaleSegment = {
4
- type: 'timestamp-scale-segment';
5
- timestampScale: number;
6
- };
7
-
8
- export const parseTimestampScaleSegment = (
9
- iterator: BufferIterator,
10
- ): TimestampScaleSegment => {
11
- const timestampScale = iterator.getUint(3);
12
-
13
- return {
14
- type: 'timestamp-scale-segment',
15
- timestampScale,
16
- };
17
- };
@@ -1,32 +0,0 @@
1
- import type {BufferIterator} from '../../../buffer-iterator';
2
- import type {ParserContext} from '../../../parser-context';
3
- import type {MatroskaSegment} from '../segments';
4
- import {expectChildren} from './parse-children';
5
-
6
- export type TracksSegment = {
7
- type: 'tracks-segment';
8
- children: MatroskaSegment[];
9
- };
10
-
11
- export const parseTracksSegment = async (
12
- iterator: BufferIterator,
13
- length: number,
14
- parserContext: ParserContext,
15
- ): Promise<TracksSegment> => {
16
- const children = await expectChildren({
17
- iterator,
18
- length,
19
- initialChildren: [],
20
- wrap: null,
21
- parserContext,
22
- });
23
-
24
- if (children.status === 'incomplete') {
25
- throw new Error('Incomplete children');
26
- }
27
-
28
- return {
29
- type: 'tracks-segment',
30
- children: children.segments as MatroskaSegment[],
31
- };
32
- };
@@ -1,18 +0,0 @@
1
- import type {BufferIterator} from '../../../buffer-iterator';
2
-
3
- export type VoidSegment = {
4
- type: 'void-segment';
5
- length: number;
6
- };
7
-
8
- export const parseVoidSegment = (
9
- iterator: BufferIterator,
10
- length: number,
11
- ): VoidSegment => {
12
- iterator.discard(length);
13
-
14
- return {
15
- type: 'void-segment',
16
- length,
17
- };
18
- };
@@ -1,18 +0,0 @@
1
- import type {BufferIterator} from '../../../buffer-iterator';
2
-
3
- export type WritingAppSegment = {
4
- type: 'writing-app-segment';
5
- value: string;
6
- };
7
-
8
- export const parseWritingSegment = (
9
- iterator: BufferIterator,
10
- length: number,
11
- ): WritingAppSegment => {
12
- const value = iterator.getByteString(length);
13
-
14
- return {
15
- type: 'writing-app-segment',
16
- value,
17
- };
18
- };
@@ -1,13 +0,0 @@
1
- export const combineUint8Arrays = (
2
- array1: Uint8Array | null,
3
- array2: Uint8Array,
4
- ) => {
5
- if (!array1) {
6
- return array2;
7
- }
8
-
9
- const combined = new Uint8Array(array1.length + array2.length);
10
- combined.set(array1);
11
- combined.set(array2, array1.length);
12
- return combined;
13
- };