@remotion/media-parser 4.0.245 → 4.0.246

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 (145) hide show
  1. package/dist/boxes/avc/create-sps-pps-data.js +10 -4
  2. package/dist/boxes/iso-base-media/to-date.d.ts +0 -1
  3. package/dist/boxes/iso-base-media/to-date.js +1 -9
  4. package/dist/boxes/transport-stream/parse-stream-packet.js +4 -4
  5. package/dist/boxes/webm/color.d.ts +0 -1
  6. package/dist/boxes/webm/color.js +1 -83
  7. package/dist/boxes/webm/parse-ebml.js +8 -10
  8. package/dist/boxes/webm/segments/all-segments.d.ts +8 -21
  9. package/dist/boxes/webm/segments/all-segments.js +7 -19
  10. package/dist/combine-uint8-arrays.d.ts +1 -0
  11. package/dist/combine-uint8-arrays.js +23 -0
  12. package/dist/esm/index.mjs +6683 -8998
  13. package/dist/file-types/detect-file-type.js +2 -2
  14. package/dist/index.d.ts +787 -27
  15. package/dist/index.js +19 -13
  16. package/dist/parse-media.js +0 -3
  17. package/dist/state/parser-state.d.ts +1 -3
  18. package/dist/state/parser-state.js +1 -2
  19. package/dist/version.d.ts +1 -1
  20. package/dist/version.js +1 -1
  21. package/package.json +3 -15
  22. package/buffer.js +0 -2
  23. package/dist/boxes/webm/ebml.d.ts +0 -2
  24. package/dist/boxes/webm/ebml.js +0 -94
  25. package/dist/boxes/webm/make-header.d.ts +0 -8
  26. package/dist/boxes/webm/make-header.js +0 -187
  27. package/dist/create/event-emitter.d.ts +0 -31
  28. package/dist/create/event-emitter.js +0 -25
  29. package/dist/create/iso-base-media/codec-specific/avc1.d.ts +0 -2
  30. package/dist/create/iso-base-media/codec-specific/avc1.js +0 -48
  31. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +0 -22
  32. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +0 -36
  33. package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +0 -2
  34. package/dist/create/iso-base-media/codec-specific/mp4a.js +0 -74
  35. package/dist/create/iso-base-media/create-colr.d.ts +0 -6
  36. package/dist/create/iso-base-media/create-colr.js +0 -26
  37. package/dist/create/iso-base-media/create-ftyp.d.ts +0 -10
  38. package/dist/create/iso-base-media/create-ftyp.js +0 -22
  39. package/dist/create/iso-base-media/create-ilst.d.ts +0 -1
  40. package/dist/create/iso-base-media/create-ilst.js +0 -14
  41. package/dist/create/iso-base-media/create-iso-base-media.d.ts +0 -2
  42. package/dist/create/iso-base-media/create-iso-base-media.js +0 -184
  43. package/dist/create/iso-base-media/create-mdia.d.ts +0 -5
  44. package/dist/create/iso-base-media/create-mdia.js +0 -18
  45. package/dist/create/iso-base-media/create-moov.d.ts +0 -5
  46. package/dist/create/iso-base-media/create-moov.js +0 -18
  47. package/dist/create/iso-base-media/create-mvhd.d.ts +0 -10
  48. package/dist/create/iso-base-media/create-mvhd.js +0 -48
  49. package/dist/create/iso-base-media/create-trak.d.ts +0 -4
  50. package/dist/create/iso-base-media/create-trak.js +0 -17
  51. package/dist/create/iso-base-media/create-udta.d.ts +0 -1
  52. package/dist/create/iso-base-media/create-udta.js +0 -14
  53. package/dist/create/iso-base-media/create-url.d.ts +0 -1
  54. package/dist/create/iso-base-media/create-url.js +0 -16
  55. package/dist/create/iso-base-media/example-stts.d.ts +0 -3
  56. package/dist/create/iso-base-media/example-stts.js +0 -2797
  57. package/dist/create/iso-base-media/ilst/create-cmt.d.ts +0 -1
  58. package/dist/create/iso-base-media/ilst/create-cmt.js +0 -26
  59. package/dist/create/iso-base-media/ilst/create-too.d.ts +0 -1
  60. package/dist/create/iso-base-media/ilst/create-too.js +0 -27
  61. package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +0 -6
  62. package/dist/create/iso-base-media/mdia/create-mdhd.js +0 -33
  63. package/dist/create/iso-base-media/mp4-header.d.ts +0 -6
  64. package/dist/create/iso-base-media/mp4-header.js +0 -48
  65. package/dist/create/iso-base-media/primitives.d.ts +0 -15
  66. package/dist/create/iso-base-media/primitives.js +0 -133
  67. package/dist/create/iso-base-media/serialize-track.d.ts +0 -9
  68. package/dist/create/iso-base-media/serialize-track.js +0 -63
  69. package/dist/create/iso-base-media/trak/create-tkhd.d.ts +0 -27
  70. package/dist/create/iso-base-media/trak/create-tkhd.js +0 -97
  71. package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +0 -4
  72. package/dist/create/iso-base-media/trak/mdia/create-minf.js +0 -19
  73. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +0 -1
  74. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +0 -22
  75. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +0 -1
  76. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +0 -20
  77. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +0 -6
  78. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +0 -41
  79. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +0 -1
  80. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +0 -20
  81. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +0 -2
  82. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +0 -45
  83. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +0 -2
  84. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +0 -28
  85. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +0 -2
  86. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +0 -56
  87. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +0 -2
  88. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +0 -23
  89. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +0 -2
  90. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +0 -25
  91. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +0 -2
  92. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +0 -51
  93. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +0 -1
  94. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +0 -20
  95. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +0 -1
  96. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +0 -16
  97. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +0 -1
  98. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +0 -13
  99. package/dist/create/iso-base-media/udta/create-meta.d.ts +0 -4
  100. package/dist/create/iso-base-media/udta/create-meta.js +0 -20
  101. package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +0 -1
  102. package/dist/create/iso-base-media/udta/meta/create-hdlr.js +0 -32
  103. package/dist/create/make-track-info.d.ts +0 -20
  104. package/dist/create/make-track-info.js +0 -2
  105. package/dist/create/matroska/cluster-segment.d.ts +0 -10
  106. package/dist/create/matroska/cluster-segment.js +0 -39
  107. package/dist/create/matroska/cluster.d.ts +0 -25
  108. package/dist/create/matroska/cluster.js +0 -77
  109. package/dist/create/matroska/create-matroska-media.d.ts +0 -2
  110. package/dist/create/matroska/create-matroska-media.js +0 -189
  111. package/dist/create/matroska/make-duration-with-padding.d.ts +0 -1
  112. package/dist/create/matroska/make-duration-with-padding.js +0 -15
  113. package/dist/create/matroska/matroska-cues.d.ts +0 -6
  114. package/dist/create/matroska/matroska-cues.js +0 -49
  115. package/dist/create/matroska/matroska-header.d.ts +0 -1
  116. package/dist/create/matroska/matroska-header.js +0 -66
  117. package/dist/create/matroska/matroska-info.d.ts +0 -3
  118. package/dist/create/matroska/matroska-info.js +0 -33
  119. package/dist/create/matroska/matroska-seek.d.ts +0 -6
  120. package/dist/create/matroska/matroska-seek.js +0 -32
  121. package/dist/create/matroska/matroska-segment.d.ts +0 -3
  122. package/dist/create/matroska/matroska-segment.js +0 -13
  123. package/dist/create/matroska/matroska-trackentry.d.ts +0 -10
  124. package/dist/create/matroska/matroska-trackentry.js +0 -249
  125. package/dist/create/media-fn.d.ts +0 -32
  126. package/dist/create/media-fn.js +0 -2
  127. package/dist/create/progress-tracker.d.ts +0 -9
  128. package/dist/create/progress-tracker.js +0 -67
  129. package/dist/create/timescale.d.ts +0 -1
  130. package/dist/create/timescale.js +0 -4
  131. package/dist/create/wav/create-wav.d.ts +0 -2
  132. package/dist/create/wav/create-wav.js +0 -110
  133. package/dist/create/with-resolvers.d.ts +0 -10
  134. package/dist/create/with-resolvers.js +0 -28
  135. package/dist/esm/buffer.mjs +0 -56
  136. package/dist/esm/web-fs.mjs +0 -74
  137. package/dist/writers/buffer-implementation/writer.d.ts +0 -2
  138. package/dist/writers/buffer-implementation/writer.js +0 -54
  139. package/dist/writers/buffer.d.ts +0 -2
  140. package/dist/writers/buffer.js +0 -7
  141. package/dist/writers/web-fs.d.ts +0 -3
  142. package/dist/writers/web-fs.js +0 -75
  143. package/dist/writers/writer.d.ts +0 -15
  144. package/dist/writers/writer.js +0 -2
  145. package/web-fs.js +0 -2
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createSpsPpsData = void 0;
4
- const make_header_1 = require("../webm/make-header");
4
+ const combine_uint8_arrays_1 = require("../../combine-uint8-arrays");
5
+ function serializeUint16(value) {
6
+ const buffer = new ArrayBuffer(2);
7
+ const view = new DataView(buffer);
8
+ view.setUint16(0, value);
9
+ return new Uint8Array(buffer);
10
+ }
5
11
  const createSpsPpsData = (avc1Profile) => {
6
- return (0, make_header_1.combineUint8Arrays)([
12
+ return (0, combine_uint8_arrays_1.combineUint8Arrays)([
7
13
  new Uint8Array([
8
14
  // https://gist.github.com/uupaa/8493378ec15f644a3d2b
9
15
  1, // version
@@ -14,13 +20,13 @@ const createSpsPpsData = (avc1Profile) => {
14
20
  0xe1,
15
21
  ]),
16
22
  // sequence parameter set length
17
- (0, make_header_1.serializeUint16)(avc1Profile.sps.sps.length),
23
+ serializeUint16(avc1Profile.sps.sps.length),
18
24
  // sequence parameter set
19
25
  avc1Profile.sps.sps,
20
26
  // num of PPS
21
27
  new Uint8Array([0x01]),
22
28
  // picture parameter set length
23
- (0, make_header_1.serializeUint16)(avc1Profile.pps.pps.length),
29
+ serializeUint16(avc1Profile.pps.pps.length),
24
30
  // PPS
25
31
  avc1Profile.pps.pps,
26
32
  ]);
@@ -1,2 +1 @@
1
1
  export declare const toUnixTimestamp: (value: number) => number | null;
2
- export declare const fromUnixTimestamp: (value: number | null) => number;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fromUnixTimestamp = exports.toUnixTimestamp = void 0;
3
+ exports.toUnixTimestamp = void 0;
4
4
  const toUnixTimestamp = (value) => {
5
5
  if (value === 0) {
6
6
  return null;
@@ -9,11 +9,3 @@ const toUnixTimestamp = (value) => {
9
9
  return Math.floor(value + baseDate.getTime() / 1000) * 1000;
10
10
  };
11
11
  exports.toUnixTimestamp = toUnixTimestamp;
12
- const fromUnixTimestamp = (value) => {
13
- if (value === null) {
14
- return 0;
15
- }
16
- const baseDate = new Date('1904-01-01T00:00:00Z');
17
- return Math.floor(value / 1000 - baseDate.getTime() / 1000);
18
- };
19
- exports.fromUnixTimestamp = fromUnixTimestamp;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseStream = void 0;
4
- const make_header_1 = require("../webm/make-header");
4
+ const combine_uint8_arrays_1 = require("../../combine-uint8-arrays");
5
5
  const adts_header_1 = require("./adts-header");
6
6
  const discard_rest_of_packet_1 = require("./discard-rest-of-packet");
7
7
  const find_separator_1 = require("./find-separator");
@@ -21,7 +21,7 @@ const parseAdtsStream = async ({ restOfPacket, transportStreamEntry, streamBuffe
21
21
  const bytesToTake = expectedLength
22
22
  ? Math.min(restOfPacket.length, expectedLength - streamBuffer.buffer.byteLength)
23
23
  : restOfPacket.length;
24
- streamBuffer.buffer = (0, make_header_1.combineUint8Arrays)([
24
+ streamBuffer.buffer = (0, combine_uint8_arrays_1.combineUint8Arrays)([
25
25
  streamBuffer.buffer,
26
26
  restOfPacket.slice(0, bytesToTake),
27
27
  ]);
@@ -45,7 +45,7 @@ const parseAvcStream = async ({ restOfPacket, transportStreamEntry, streamBuffer
45
45
  const streamBuffer = streamBuffers.get(transportStreamEntry.pid);
46
46
  if (indexOfSeparator === -1) {
47
47
  if (streamBuffer) {
48
- streamBuffer.buffer = (0, make_header_1.combineUint8Arrays)([
48
+ streamBuffer.buffer = (0, combine_uint8_arrays_1.combineUint8Arrays)([
49
49
  streamBuffer.buffer,
50
50
  restOfPacket,
51
51
  ]);
@@ -60,7 +60,7 @@ const parseAvcStream = async ({ restOfPacket, transportStreamEntry, streamBuffer
60
60
  }
61
61
  if (streamBuffer) {
62
62
  const packet = restOfPacket.slice(0, indexOfSeparator);
63
- streamBuffer.buffer = (0, make_header_1.combineUint8Arrays)([streamBuffer.buffer, packet]);
63
+ streamBuffer.buffer = (0, combine_uint8_arrays_1.combineUint8Arrays)([streamBuffer.buffer, packet]);
64
64
  await (0, process_stream_buffers_1.processStreamBuffer)({
65
65
  state,
66
66
  streamBuffer,
@@ -1,4 +1,3 @@
1
1
  import type { VideoTrackColorParams } from '../../get-tracks';
2
2
  import type { ColourSegment } from './segments/all-segments';
3
3
  export declare const parseColorSegment: (colourSegment: ColourSegment) => VideoTrackColorParams;
4
- export declare const makeMatroskaColorBytes: ({ transferCharacteristics, matrixCoefficients, primaries, fullRange, }: VideoTrackColorParams) => import("./segments/all-segments").BytesAndOffset;
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeMatroskaColorBytes = exports.parseColorSegment = void 0;
4
- const truthy_1 = require("../../truthy");
5
- const make_header_1 = require("./make-header");
3
+ exports.parseColorSegment = void 0;
6
4
  const traversal_1 = require("./traversal");
7
5
  const parseColorSegment = (colourSegment) => {
8
6
  const transferCharacteristics = (0, traversal_1.getTransferCharacteristicsSegment)(colourSegment);
@@ -45,83 +43,3 @@ const parseColorSegment = (colourSegment) => {
45
43
  };
46
44
  };
47
45
  exports.parseColorSegment = parseColorSegment;
48
- const makeMatroskaColorBytes = ({ transferCharacteristics, matrixCoefficients, primaries, fullRange, }) => {
49
- const rangeValue = transferCharacteristics && matrixCoefficients
50
- ? 3
51
- : fullRange === true
52
- ? 2
53
- : fullRange === false
54
- ? 1
55
- : 0;
56
- // https://datatracker.ietf.org/doc/draft-ietf-cellar-matroska/
57
- // 5.1.4.1.28.27
58
- const primariesValue = primaries === 'bt709'
59
- ? 1
60
- : primaries === 'smpte170m'
61
- ? 6
62
- : primaries === 'bt470bg'
63
- ? 5
64
- : 2;
65
- const transferChracteristicsValue = transferCharacteristics === 'bt709'
66
- ? 1
67
- : transferCharacteristics === 'smpte170m'
68
- ? 6
69
- : transferCharacteristics === 'iec61966-2-1'
70
- ? 13
71
- : 2;
72
- if (matrixCoefficients === 'rgb') {
73
- throw new Error('Cannot encode Matroska in RGB');
74
- }
75
- const matrixCoefficientsValue = matrixCoefficients === 'bt709'
76
- ? 1
77
- : matrixCoefficients === 'bt470bg'
78
- ? 5
79
- : matrixCoefficients === 'smpte170m'
80
- ? 6
81
- : 2;
82
- return (0, make_header_1.makeMatroskaBytes)({
83
- type: 'Colour',
84
- minVintWidth: null,
85
- value: [
86
- transferChracteristicsValue === 2
87
- ? null
88
- : {
89
- type: 'TransferCharacteristics',
90
- value: {
91
- value: transferChracteristicsValue,
92
- byteLength: null,
93
- },
94
- minVintWidth: null,
95
- },
96
- matrixCoefficientsValue === 2
97
- ? null
98
- : {
99
- type: 'MatrixCoefficients',
100
- value: {
101
- value: matrixCoefficientsValue,
102
- byteLength: null,
103
- },
104
- minVintWidth: null,
105
- },
106
- primariesValue === 2
107
- ? null
108
- : {
109
- type: 'Primaries',
110
- value: {
111
- value: primariesValue,
112
- byteLength: null,
113
- },
114
- minVintWidth: null,
115
- },
116
- {
117
- type: 'Range',
118
- value: {
119
- value: rangeValue,
120
- byteLength: null,
121
- },
122
- minVintWidth: null,
123
- },
124
- ].filter(truthy_1.truthy),
125
- });
126
- };
127
- exports.makeMatroskaColorBytes = makeMatroskaColorBytes;
@@ -128,7 +128,7 @@ const postprocessEbml = async ({ offset, ebml, state, }) => {
128
128
  }
129
129
  if (ebml.type === 'Block' || ebml.type === 'SimpleBlock') {
130
130
  const sample = (0, get_sample_from_block_1.getSampleFromBlock)(ebml, state, offset);
131
- if (sample.type === 'video-sample' && state.nullifySamples) {
131
+ if (sample.type === 'video-sample') {
132
132
  await state.callbacks.onVideoSample(sample.videoSample.trackId, sample.videoSample);
133
133
  return {
134
134
  type: 'Block',
@@ -136,7 +136,7 @@ const postprocessEbml = async ({ offset, ebml, state, }) => {
136
136
  minVintWidth: ebml.minVintWidth,
137
137
  };
138
138
  }
139
- if (sample.type === 'audio-sample' && state.nullifySamples) {
139
+ if (sample.type === 'audio-sample') {
140
140
  await state.callbacks.onAudioSample(sample.audioSample.trackId, sample.audioSample);
141
141
  return {
142
142
  type: 'Block',
@@ -144,7 +144,7 @@ const postprocessEbml = async ({ offset, ebml, state, }) => {
144
144
  minVintWidth: ebml.minVintWidth,
145
145
  };
146
146
  }
147
- if (sample.type === 'no-sample' && state.nullifySamples) {
147
+ if (sample.type === 'no-sample') {
148
148
  return {
149
149
  type: 'Block',
150
150
  value: new Uint8Array([]),
@@ -172,13 +172,11 @@ const postprocessEbml = async ({ offset, ebml, state, }) => {
172
172
  };
173
173
  await state.callbacks.onVideoSample(sample.partialVideoSample.trackId, completeFrame);
174
174
  }
175
- if (state.nullifySamples) {
176
- return {
177
- type: 'BlockGroup',
178
- value: [],
179
- minVintWidth: ebml.minVintWidth,
180
- };
181
- }
175
+ return {
176
+ type: 'BlockGroup',
177
+ value: [],
178
+ minVintWidth: ebml.minVintWidth,
179
+ };
182
180
  }
183
181
  return ebml;
184
182
  };
@@ -274,7 +274,6 @@ export declare const knownIdsWithOneLength: string[];
274
274
  export declare const knownIdsWithTwoLength: string[];
275
275
  export declare const knownIdsWithThreeLength: string[];
276
276
  export declare const getSegmentName: (id: string) => string | undefined;
277
- export declare const getIdForName: (name: string) => EbmlMapKey;
278
277
  export type MatroskaKey = keyof typeof matroskaElements;
279
278
  export type MatroskaElement = (typeof matroskaElements)[MatroskaKey];
280
279
  type EbmlType = 'string';
@@ -448,6 +447,10 @@ export declare const displayHeight: {
448
447
  readonly name: "DisplayHeight";
449
448
  readonly type: "uint";
450
449
  };
450
+ export declare const displayUnit: {
451
+ readonly name: "DisplayUnit";
452
+ readonly type: "uint";
453
+ };
451
454
  export declare const flagLacing: {
452
455
  readonly name: "FlagLacing";
453
456
  readonly type: "uint";
@@ -627,17 +630,11 @@ export type UintWithSize = {
627
630
  byteLength: number | null;
628
631
  };
629
632
  export type EbmlValue<T extends Ebml, Child = PossibleEbml> = T extends EbmlWithUint ? UintWithSize : T extends EbmlWithString ? string : T extends EbmlWithFloat ? FloatWithSize : T extends EbmlWithHexString ? string : T extends EbmlWithUint8Array ? Uint8Array : T extends EbmlWithChildren ? Child[] : never;
630
- export type EbmlValueOrUint8Array<T extends Ebml> = Uint8Array | EbmlValue<T, PossibleEbmlOrUint8Array>;
631
633
  export type EbmlParsed<T extends Ebml> = {
632
634
  type: T['name'];
633
635
  value: EbmlValue<T>;
634
636
  minVintWidth: number | null;
635
637
  };
636
- export type EbmlParsedOrUint8Array<T extends Ebml> = {
637
- type: T['name'];
638
- value: EbmlValueOrUint8Array<T>;
639
- minVintWidth: number | null;
640
- };
641
638
  export declare const ebmlMap: {
642
639
  readonly "0x1a45dfa3": {
643
640
  readonly name: "Header";
@@ -867,6 +864,10 @@ export declare const ebmlMap: {
867
864
  readonly name: "DisplayWidth";
868
865
  readonly type: "uint";
869
866
  };
867
+ readonly "0x54b2": {
868
+ readonly name: "DisplayUnit";
869
+ readonly type: "uint";
870
+ };
870
871
  readonly "0x9c": {
871
872
  readonly name: "FlagLacing";
872
873
  readonly type: "uint";
@@ -991,18 +992,4 @@ export declare const ebmlMap: {
991
992
  export type PossibleEbml = Prettify<{
992
993
  [key in keyof typeof ebmlMap]: EbmlParsed<(typeof ebmlMap)[key]>;
993
994
  }[keyof typeof ebmlMap]>;
994
- export type OffsetAndChildren = {
995
- offset: number;
996
- children: OffsetAndChildren[];
997
- field: keyof typeof matroskaElements;
998
- };
999
- export declare const incrementOffsetAndChildren: (offset: OffsetAndChildren, increment: number) => OffsetAndChildren;
1000
- export type BytesAndOffset = {
1001
- bytes: Uint8Array;
1002
- offsets: OffsetAndChildren;
1003
- };
1004
- export type PossibleEbmlOrUint8Array = Prettify<{
1005
- [key in keyof typeof ebmlMap]: EbmlParsedOrUint8Array<(typeof ebmlMap)[key]>;
1006
- }[keyof typeof ebmlMap]> | BytesAndOffset;
1007
- export type EbmlMapKey = keyof typeof ebmlMap;
1008
995
  export {};
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.range = exports.primaries = exports.matrixCoefficients = exports.transferCharacteristics = exports.color = exports.trackUID = exports.trackNumber = exports.tags = exports.tagSegment = exports.flagLacing = exports.displayHeight = exports.displayWidth = exports.bitDepth = exports.interlaced = exports.alphaMode = exports.channels = exports.samplingFrequency = exports.tagTrackUidType = exports.titleType = exports.infoType = exports.writingApp = exports.timestampScale = exports.duration = exports.muxingApp = exports.heightType = exports.widthType = exports.trackType = exports.codecID = exports.voidHeader = exports.seekHead = exports.seek = exports.seekPosition = exports.maxCache = exports.minCache = exports._name = exports.seekId = exports.matroskaHeader = exports.docTypeReadVersion = exports.docTypeVersion = exports.docType = exports.ebmlMaxSizeLength = exports.ebmlMaxIdLength = exports.ebmlReadVersion = exports.ebmlVersion = exports.getIdForName = exports.getSegmentName = exports.knownIdsWithThreeLength = exports.knownIdsWithTwoLength = exports.knownIdsWithOneLength = exports.matroskaElements = void 0;
4
- exports.incrementOffsetAndChildren = exports.ebmlMap = exports.tagStringType = exports.tagNameType = exports.simpleTagType = exports.targetsType = exports.cluster = exports.segment = exports.blockGroup = exports.simpleBlock = exports.block = exports.timestampEntry = exports.tracks = exports.trackEntry = exports.trackTimestampScale = exports.codecName = exports.blockElement = exports.blockDurationSegment = exports.referenceBlock = exports.flagDefault = exports.videoSegment = exports.audioSegment = exports.maxBlockAdditionIdSegment = exports.blockAdditionsSegment = exports.codecPrivate = exports.defaultDuration = exports.language = exports.ChromaSitingVert = exports.ChromaSitingHorz = void 0;
3
+ exports.range = exports.primaries = exports.matrixCoefficients = exports.transferCharacteristics = exports.color = exports.trackUID = exports.trackNumber = exports.tags = exports.tagSegment = exports.flagLacing = exports.displayUnit = exports.displayHeight = exports.displayWidth = exports.bitDepth = exports.interlaced = exports.alphaMode = exports.channels = exports.samplingFrequency = exports.tagTrackUidType = exports.titleType = exports.infoType = exports.writingApp = exports.timestampScale = exports.duration = exports.muxingApp = exports.heightType = exports.widthType = exports.trackType = exports.codecID = exports.voidHeader = exports.seekHead = exports.seek = exports.seekPosition = exports.maxCache = exports.minCache = exports._name = exports.seekId = exports.matroskaHeader = exports.docTypeReadVersion = exports.docTypeVersion = exports.docType = exports.ebmlMaxSizeLength = exports.ebmlMaxIdLength = exports.ebmlReadVersion = exports.ebmlVersion = exports.getSegmentName = exports.knownIdsWithThreeLength = exports.knownIdsWithTwoLength = exports.knownIdsWithOneLength = exports.matroskaElements = void 0;
4
+ exports.ebmlMap = exports.tagStringType = exports.tagNameType = exports.simpleTagType = exports.targetsType = exports.cluster = exports.segment = exports.blockGroup = exports.simpleBlock = exports.block = exports.timestampEntry = exports.tracks = exports.trackEntry = exports.trackTimestampScale = exports.codecName = exports.blockElement = exports.blockDurationSegment = exports.referenceBlock = exports.flagDefault = exports.videoSegment = exports.audioSegment = exports.maxBlockAdditionIdSegment = exports.blockAdditionsSegment = exports.codecPrivate = exports.defaultDuration = exports.language = exports.ChromaSitingVert = exports.ChromaSitingHorz = void 0;
5
5
  exports.matroskaElements = {
6
6
  Header: '0x1a45dfa3',
7
7
  EBMLMaxIDLength: '0x42f2',
@@ -282,15 +282,6 @@ const getSegmentName = (id) => {
282
282
  return (_a = Object.entries(exports.matroskaElements).find(([, value]) => value === id)) === null || _a === void 0 ? void 0 : _a[0];
283
283
  };
284
284
  exports.getSegmentName = getSegmentName;
285
- const getIdForName = (name) => {
286
- var _a;
287
- const value = (_a = Object.entries(exports.matroskaElements).find(([key]) => key === name)) === null || _a === void 0 ? void 0 : _a[1];
288
- if (!value) {
289
- throw new Error(`Could not find id for name ${name}`);
290
- }
291
- return value;
292
- };
293
- exports.getIdForName = getIdForName;
294
285
  exports.ebmlVersion = {
295
286
  name: 'EBMLVersion',
296
287
  type: 'uint',
@@ -431,6 +422,10 @@ exports.displayHeight = {
431
422
  name: 'DisplayHeight',
432
423
  type: 'uint',
433
424
  };
425
+ exports.displayUnit = {
426
+ name: 'DisplayUnit',
427
+ type: 'uint',
428
+ };
434
429
  exports.flagLacing = {
435
430
  name: 'FlagLacing',
436
431
  type: 'uint',
@@ -694,6 +689,7 @@ exports.ebmlMap = {
694
689
  [exports.matroskaElements.BitDepth]: exports.bitDepth,
695
690
  [exports.matroskaElements.DisplayHeight]: exports.displayHeight,
696
691
  [exports.matroskaElements.DisplayWidth]: exports.displayWidth,
692
+ [exports.matroskaElements.DisplayUnit]: exports.displayUnit,
697
693
  [exports.matroskaElements.FlagLacing]: exports.flagLacing,
698
694
  [exports.matroskaElements.Tags]: exports.tags,
699
695
  [exports.matroskaElements.Tag]: exports.tagSegment,
@@ -734,11 +730,3 @@ exports.ebmlMap = {
734
730
  [exports.matroskaElements.ChromaSitingHorz]: exports.ChromaSitingHorz,
735
731
  [exports.matroskaElements.ChromaSitingVert]: exports.ChromaSitingVert,
736
732
  };
737
- const incrementOffsetAndChildren = (offset, increment) => {
738
- return {
739
- offset: offset.offset + increment,
740
- children: offset.children.map((c) => (0, exports.incrementOffsetAndChildren)(c, increment)),
741
- field: offset.field,
742
- };
743
- };
744
- exports.incrementOffsetAndChildren = incrementOffsetAndChildren;
@@ -0,0 +1 @@
1
+ export declare const combineUint8Arrays: (arrays: Uint8Array[]) => Uint8Array;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.combineUint8Arrays = void 0;
4
+ const combineUint8Arrays = (arrays) => {
5
+ if (arrays.length === 0) {
6
+ return new Uint8Array([]);
7
+ }
8
+ if (arrays.length === 1) {
9
+ return arrays[0];
10
+ }
11
+ let totalLength = 0;
12
+ for (const array of arrays) {
13
+ totalLength += array.length;
14
+ }
15
+ const result = new Uint8Array(totalLength);
16
+ let offset = 0;
17
+ for (const array of arrays) {
18
+ result.set(array, offset);
19
+ offset += array.length;
20
+ }
21
+ return result;
22
+ };
23
+ exports.combineUint8Arrays = combineUint8Arrays;