@remotion/media-parser 4.0.229 → 4.0.230

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 (162) hide show
  1. package/dist/boxes/iso-base-media/esds/decoder-specific-config.d.ts +3 -2
  2. package/dist/boxes/iso-base-media/esds/decoder-specific-config.js +7 -8
  3. package/dist/boxes/iso-base-media/esds/esds-descriptors.d.ts +4 -2
  4. package/dist/boxes/iso-base-media/esds/esds-descriptors.js +5 -4
  5. package/dist/boxes/iso-base-media/esds/esds.d.ts +3 -1
  6. package/dist/boxes/iso-base-media/esds/esds.js +2 -2
  7. package/dist/boxes/iso-base-media/make-track.js +2 -1
  8. package/dist/boxes/iso-base-media/mdat/mdat.js +13 -7
  9. package/dist/boxes/iso-base-media/moov/moov.d.ts +3 -1
  10. package/dist/boxes/iso-base-media/moov/moov.js +2 -2
  11. package/dist/boxes/iso-base-media/mvhd.js +11 -9
  12. package/dist/boxes/iso-base-media/parse-icc-profile.d.ts +36 -0
  13. package/dist/boxes/iso-base-media/parse-icc-profile.js +115 -0
  14. package/dist/boxes/iso-base-media/process-box.d.ts +5 -4
  15. package/dist/boxes/iso-base-media/process-box.js +17 -14
  16. package/dist/boxes/iso-base-media/stsd/colr.d.ts +14 -4
  17. package/dist/boxes/iso-base-media/stsd/colr.js +13 -1
  18. package/dist/boxes/iso-base-media/stsd/mebx.d.ts +1 -2
  19. package/dist/boxes/iso-base-media/stsd/mebx.js +2 -2
  20. package/dist/boxes/iso-base-media/stsd/samples.d.ts +5 -2
  21. package/dist/boxes/iso-base-media/stsd/samples.js +7 -6
  22. package/dist/boxes/iso-base-media/stsd/stsd.js +1 -0
  23. package/dist/boxes/iso-base-media/to-date.d.ts +1 -0
  24. package/dist/boxes/iso-base-media/to-date.js +9 -1
  25. package/dist/boxes/iso-base-media/trak/trak.d.ts +3 -1
  26. package/dist/boxes/iso-base-media/trak/trak.js +2 -2
  27. package/dist/boxes/webm/av1-codec-private.js +1 -1
  28. package/dist/boxes/webm/ebml.d.ts +1 -1
  29. package/dist/boxes/webm/get-sample-from-block.d.ts +4 -4
  30. package/dist/boxes/webm/get-sample-from-block.js +4 -2
  31. package/dist/boxes/webm/make-track.js +1 -0
  32. package/dist/buffer-iterator.d.ts +1 -1
  33. package/dist/buffer-iterator.js +1 -8
  34. package/dist/create/iso-base-media/codec-specific/avc1.d.ts +2 -0
  35. package/dist/create/iso-base-media/codec-specific/avc1.js +48 -0
  36. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +22 -0
  37. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +36 -0
  38. package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +2 -0
  39. package/dist/create/iso-base-media/codec-specific/mp4a.js +90 -0
  40. package/dist/create/iso-base-media/create-colr.d.ts +6 -0
  41. package/dist/create/iso-base-media/create-colr.js +26 -0
  42. package/dist/create/iso-base-media/create-ftyp.d.ts +10 -0
  43. package/dist/create/iso-base-media/create-ftyp.js +22 -0
  44. package/dist/create/iso-base-media/create-ilst.d.ts +1 -0
  45. package/dist/create/iso-base-media/create-ilst.js +14 -0
  46. package/dist/create/iso-base-media/create-iso-base-media.d.ts +2 -0
  47. package/dist/create/iso-base-media/create-iso-base-media.js +168 -0
  48. package/dist/create/iso-base-media/create-mdia.d.ts +5 -0
  49. package/dist/create/iso-base-media/create-mdia.js +18 -0
  50. package/dist/create/iso-base-media/create-moov.d.ts +5 -0
  51. package/dist/create/iso-base-media/create-moov.js +18 -0
  52. package/dist/create/iso-base-media/create-mvhd.d.ts +10 -0
  53. package/dist/create/iso-base-media/create-mvhd.js +48 -0
  54. package/dist/create/iso-base-media/create-trak.d.ts +4 -0
  55. package/dist/create/iso-base-media/create-trak.js +17 -0
  56. package/dist/create/iso-base-media/create-udta.d.ts +1 -0
  57. package/dist/create/iso-base-media/create-udta.js +14 -0
  58. package/dist/create/iso-base-media/create-url.d.ts +1 -0
  59. package/dist/create/iso-base-media/create-url.js +16 -0
  60. package/dist/create/iso-base-media/example-stts.d.ts +3 -0
  61. package/dist/create/iso-base-media/example-stts.js +2797 -0
  62. package/dist/create/iso-base-media/ilst/create-cmt.d.ts +1 -0
  63. package/dist/create/iso-base-media/ilst/create-cmt.js +26 -0
  64. package/dist/create/iso-base-media/ilst/create-too.d.ts +1 -0
  65. package/dist/create/iso-base-media/ilst/create-too.js +27 -0
  66. package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +6 -0
  67. package/dist/create/iso-base-media/mdia/create-mdhd.js +33 -0
  68. package/dist/create/iso-base-media/mp4-header.d.ts +6 -0
  69. package/dist/create/iso-base-media/mp4-header.js +47 -0
  70. package/dist/create/iso-base-media/primitives.d.ts +15 -0
  71. package/dist/create/iso-base-media/primitives.js +133 -0
  72. package/dist/create/iso-base-media/serialize-track.d.ts +9 -0
  73. package/dist/create/iso-base-media/serialize-track.js +63 -0
  74. package/dist/create/iso-base-media/trak/create-tkhd.d.ts +27 -0
  75. package/dist/create/iso-base-media/trak/create-tkhd.js +97 -0
  76. package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +4 -0
  77. package/dist/create/iso-base-media/trak/mdia/create-minf.js +19 -0
  78. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +1 -0
  79. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +22 -0
  80. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +1 -0
  81. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +20 -0
  82. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +6 -0
  83. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +35 -0
  84. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +1 -0
  85. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +20 -0
  86. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +2 -0
  87. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +45 -0
  88. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +2 -0
  89. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +28 -0
  90. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +2 -0
  91. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +56 -0
  92. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +2 -0
  93. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +23 -0
  94. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +2 -0
  95. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +25 -0
  96. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +2 -0
  97. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +48 -0
  98. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +1 -0
  99. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +20 -0
  100. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +1 -0
  101. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +16 -0
  102. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +1 -0
  103. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +13 -0
  104. package/dist/create/iso-base-media/udta/create-meta.d.ts +4 -0
  105. package/dist/create/iso-base-media/udta/create-meta.js +20 -0
  106. package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +1 -0
  107. package/dist/create/iso-base-media/udta/meta/create-hdlr.js +32 -0
  108. package/dist/create/make-track-info.d.ts +20 -0
  109. package/dist/create/make-track-info.js +2 -0
  110. package/dist/create/{cluster-segment.d.ts → matroska/cluster-segment.d.ts} +1 -1
  111. package/dist/create/{cluster-segment.js → matroska/cluster-segment.js} +2 -2
  112. package/dist/create/{cluster.d.ts → matroska/cluster.d.ts} +6 -5
  113. package/dist/create/{cluster.js → matroska/cluster.js} +16 -16
  114. package/dist/create/matroska/create-matroska-media.d.ts +2 -0
  115. package/dist/create/{create-media.js → matroska/create-matroska-media.js} +25 -18
  116. package/dist/create/matroska/make-duration-with-padding.d.ts +1 -0
  117. package/dist/create/{make-duration-with-padding.js → matroska/make-duration-with-padding.js} +1 -1
  118. package/dist/create/{matroska-cues.d.ts → matroska/matroska-cues.d.ts} +1 -1
  119. package/dist/create/{matroska-cues.js → matroska/matroska-cues.js} +1 -1
  120. package/dist/create/matroska/matroska-header.d.ts +1 -0
  121. package/dist/create/{matroska-header.js → matroska/matroska-header.js} +1 -1
  122. package/dist/create/{matroska-info.d.ts → matroska/matroska-info.d.ts} +1 -1
  123. package/dist/create/{matroska-info.js → matroska/matroska-info.js} +1 -1
  124. package/dist/create/matroska/matroska-seek.d.ts +6 -0
  125. package/dist/create/{matroska-seek.js → matroska/matroska-seek.js} +1 -1
  126. package/dist/create/{matroska-segment.d.ts → matroska/matroska-segment.d.ts} +1 -1
  127. package/dist/create/{matroska-segment.js → matroska/matroska-segment.js} +1 -1
  128. package/dist/create/matroska/matroska-trackentry.d.ts +10 -0
  129. package/dist/create/{matroska-trackentry.js → matroska/matroska-trackentry.js} +9 -3
  130. package/dist/create/{create-media.d.ts → media-fn.d.ts} +16 -4
  131. package/dist/create/media-fn.js +2 -0
  132. package/dist/create/timescale.d.ts +1 -1
  133. package/dist/create/timescale.js +2 -2
  134. package/dist/esm/buffer.mjs +1 -1
  135. package/dist/esm/index.mjs +1452 -209
  136. package/dist/get-audio-codec.d.ts +1 -0
  137. package/dist/get-audio-codec.js +27 -3
  138. package/dist/get-fps.d.ts +1 -0
  139. package/dist/get-fps.js +17 -13
  140. package/dist/get-sample-positions.d.ts +1 -0
  141. package/dist/get-sample-positions.js +1 -0
  142. package/dist/get-tracks.d.ts +1 -0
  143. package/dist/get-video-codec.js +4 -0
  144. package/dist/index.d.ts +4 -7
  145. package/dist/index.js +4 -2
  146. package/dist/options.d.ts +2 -0
  147. package/dist/parse-media.js +2 -1
  148. package/dist/parse-video.d.ts +3 -1
  149. package/dist/parse-video.js +3 -14
  150. package/dist/parser-state.d.ts +3 -3
  151. package/dist/samples-from-moof.js +1 -0
  152. package/dist/webcodec-sample-types.d.ts +7 -20
  153. package/dist/writers/buffer-implementation/writer.js +1 -1
  154. package/package.json +3 -3
  155. package/dist/create/make-duration-with-padding.d.ts +0 -1
  156. package/dist/create/matroska-header.d.ts +0 -1
  157. package/dist/create/matroska-seek.d.ts +0 -6
  158. package/dist/create/matroska-trackentry.d.ts +0 -27
  159. package/dist/create/polyfill-audio-sample.d.ts +0 -3
  160. package/dist/create/polyfill-audio-sample.js +0 -15
  161. package/dist/writers/buffer-implementation/multi-buffer.d.ts +0 -0
  162. package/dist/writers/buffer-implementation/multi-buffer.js +0 -1
@@ -3,4 +3,4 @@ export type Cue = {
3
3
  clusterPosition: number;
4
4
  trackNumber: number;
5
5
  };
6
- export declare const createMatroskaCues: (cues: Cue[]) => import("../boxes/webm/segments/all-segments").BytesAndOffset;
6
+ export declare const createMatroskaCues: (cues: Cue[]) => import("../../boxes/webm/segments/all-segments").BytesAndOffset;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createMatroskaCues = void 0;
4
- const make_header_1 = require("../boxes/webm/make-header");
4
+ const make_header_1 = require("../../boxes/webm/make-header");
5
5
  const createMatroskaCues = (cues) => {
6
6
  return (0, make_header_1.makeMatroskaBytes)({
7
7
  type: 'Cues',
@@ -0,0 +1 @@
1
+ export declare const makeMatroskaHeader: () => import("../../boxes/webm/segments/all-segments").BytesAndOffset;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeMatroskaHeader = void 0;
4
- const make_header_1 = require("../boxes/webm/make-header");
4
+ const make_header_1 = require("../../boxes/webm/make-header");
5
5
  const makeMatroskaHeader = () => {
6
6
  return (0, make_header_1.makeMatroskaBytes)({
7
7
  type: 'Header',
@@ -1,3 +1,3 @@
1
1
  export declare const makeMatroskaInfo: ({ timescale }: {
2
2
  timescale: number;
3
- }) => import("../boxes/webm/segments/all-segments").BytesAndOffset;
3
+ }) => import("../../boxes/webm/segments/all-segments").BytesAndOffset;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeMatroskaInfo = void 0;
4
- const make_header_1 = require("../boxes/webm/make-header");
4
+ const make_header_1 = require("../../boxes/webm/make-header");
5
5
  const make_duration_with_padding_1 = require("./make-duration-with-padding");
6
6
  const makeMatroskaInfo = ({ timescale }) => {
7
7
  return (0, make_header_1.makeMatroskaBytes)({
@@ -0,0 +1,6 @@
1
+ import type { MatroskaElement } from '../../boxes/webm/segments/all-segments';
2
+ export type Seek = {
3
+ hexString: MatroskaElement;
4
+ byte: number;
5
+ };
6
+ export declare const createMatroskaSeekHead: (seeks: Seek[]) => import("../../boxes/webm/segments/all-segments").BytesAndOffset[];
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createMatroskaSeekHead = void 0;
4
- const make_header_1 = require("../boxes/webm/make-header");
4
+ const make_header_1 = require("../../boxes/webm/make-header");
5
5
  const createMatroskaSeekHead = (seeks) => {
6
6
  return (0, make_header_1.padMatroskaBytes)((0, make_header_1.makeMatroskaBytes)({
7
7
  type: 'SeekHead',
@@ -1,3 +1,3 @@
1
- import type { BytesAndOffset } from '../boxes/webm/segments/all-segments';
1
+ import type { BytesAndOffset } from '../../boxes/webm/segments/all-segments';
2
2
  export declare const MATROSKA_SEGMENT_MIN_VINT_WIDTH = 8;
3
3
  export declare const createMatroskaSegment: (children: BytesAndOffset[]) => BytesAndOffset;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createMatroskaSegment = exports.MATROSKA_SEGMENT_MIN_VINT_WIDTH = void 0;
4
- const make_header_1 = require("../boxes/webm/make-header");
4
+ const make_header_1 = require("../../boxes/webm/make-header");
5
5
  exports.MATROSKA_SEGMENT_MIN_VINT_WIDTH = 8;
6
6
  const createMatroskaSegment = (children) => {
7
7
  return (0, make_header_1.makeMatroskaBytes)({
@@ -0,0 +1,10 @@
1
+ import type { VideoTrackColorParams } from '../../get-tracks';
2
+ import type { MakeTrackAudio, MakeTrackVideo } from '../make-track-info';
3
+ export declare const makeMatroskaVideoBytes: ({ color, width, height, }: {
4
+ color: VideoTrackColorParams;
5
+ width: number;
6
+ height: number;
7
+ }) => import("../../boxes/webm/segments/all-segments").BytesAndOffset;
8
+ export declare const makeMatroskaAudioTrackEntryBytes: ({ trackNumber, codec, numberOfChannels, sampleRate, codecPrivate, }: MakeTrackAudio) => import("../../boxes/webm/segments/all-segments").BytesAndOffset;
9
+ export declare const makeMatroskaVideoTrackEntryBytes: ({ color, width, height, trackNumber, codec, codecPrivate, }: MakeTrackVideo) => import("../../boxes/webm/segments/all-segments").BytesAndOffset;
10
+ export declare const makeMatroskaTracks: (tracks: (MakeTrackAudio | MakeTrackVideo)[]) => import("../../boxes/webm/segments/all-segments").BytesAndOffset[];
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeMatroskaTracks = exports.makeMatroskaVideoTrackEntryBytes = exports.makeMatroskaAudioTrackEntryBytes = exports.makeMatroskaVideoBytes = void 0;
4
- const color_1 = require("../boxes/webm/color");
5
- const make_header_1 = require("../boxes/webm/make-header");
4
+ const color_1 = require("../../boxes/webm/color");
5
+ const make_header_1 = require("../../boxes/webm/make-header");
6
6
  const makeMatroskaVideoBytes = ({ color, width, height, }) => {
7
7
  return (0, make_header_1.makeMatroskaBytes)({
8
8
  type: 'Video',
@@ -234,9 +234,15 @@ const makeMatroskaVideoTrackEntryBytes = ({ color, width, height, trackNumber, c
234
234
  };
235
235
  exports.makeMatroskaVideoTrackEntryBytes = makeMatroskaVideoTrackEntryBytes;
236
236
  const makeMatroskaTracks = (tracks) => {
237
+ const bytesArr = tracks.map((t) => {
238
+ const bytes = t.type === 'video'
239
+ ? (0, exports.makeMatroskaVideoTrackEntryBytes)(t)
240
+ : (0, exports.makeMatroskaAudioTrackEntryBytes)(t);
241
+ return bytes;
242
+ });
237
243
  return (0, make_header_1.padMatroskaBytes)((0, make_header_1.makeMatroskaBytes)({
238
244
  type: 'Tracks',
239
- value: tracks,
245
+ value: bytesArr,
240
246
  minVintWidth: null,
241
247
  }), 500);
242
248
  };
@@ -1,19 +1,31 @@
1
+ import type { LogLevel } from '../log';
1
2
  import type { AudioOrVideoSample } from '../webcodec-sample-types';
2
3
  import type { WriterInterface } from '../writers/writer';
3
- import type { MakeTrackAudio, MakeTrackVideo } from './matroska-trackentry';
4
+ import type { MakeTrackAudio, MakeTrackVideo } from './make-track-info';
4
5
  export type MediaFn = {
5
6
  save: () => Promise<Blob>;
6
7
  remove: () => Promise<void>;
7
- addSample: (chunk: AudioOrVideoSample, trackNumber: number, isVideo: boolean) => Promise<void>;
8
+ addSample: (options: {
9
+ chunk: AudioOrVideoSample;
10
+ trackNumber: number;
11
+ isVideo: boolean;
12
+ timescale: number;
13
+ codecPrivate: Uint8Array | null;
14
+ }) => Promise<void>;
8
15
  updateDuration: (duration: number) => Promise<void>;
9
16
  addTrack: (track: Omit<MakeTrackAudio, 'trackNumber'> | Omit<MakeTrackVideo, 'trackNumber'>) => Promise<{
10
17
  trackNumber: number;
11
18
  }>;
12
19
  addWaitForFinishPromise: (promise: () => Promise<void>) => void;
13
20
  waitForFinish: () => Promise<void>;
21
+ updateTrackSampleRate: (options: {
22
+ trackNumber: number;
23
+ sampleRate: number;
24
+ }) => void;
14
25
  };
15
- export declare const createMedia: ({ writer, onBytesProgress, onMillisecondsProgress, }: {
26
+ export type MediaFnGeneratorInput = {
16
27
  writer: WriterInterface;
17
28
  onBytesProgress: (totalBytes: number) => void;
18
29
  onMillisecondsProgress: (totalMilliseconds: number) => void;
19
- }) => Promise<MediaFn>;
30
+ logLevel: LogLevel;
31
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +1 @@
1
- export declare const CREATE_TIME_SCALE = 1000000;
1
+ export declare const CREATE_WEBM_TIME_SCALE = 1000000;
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CREATE_TIME_SCALE = void 0;
4
- exports.CREATE_TIME_SCALE = 1000000;
3
+ exports.CREATE_WEBM_TIME_SCALE = void 0;
4
+ exports.CREATE_WEBM_TIME_SCALE = 1000000;
@@ -1,7 +1,7 @@
1
1
  // src/writers/buffer-implementation/writer.ts
2
2
  var createContent = () => {
3
3
  const buf = new ArrayBuffer(0, {
4
- maxByteLength: 200000000
4
+ maxByteLength: 2000000000
5
5
  });
6
6
  if (!buf.resize) {
7
7
  throw new Error("Could not create buffer writer");