@remotion/media-parser 4.0.229 → 4.0.231

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 (182) 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/boxes/webm/parse-webm-header.js +23 -4
  33. package/dist/boxes/webm/segments/parse-children.d.ts +12 -7
  34. package/dist/boxes/webm/segments/parse-children.js +67 -57
  35. package/dist/boxes/webm/segments.d.ts +8 -3
  36. package/dist/boxes/webm/segments.js +70 -39
  37. package/dist/buffer-iterator.d.ts +1 -1
  38. package/dist/buffer-iterator.js +1 -8
  39. package/dist/create/iso-base-media/codec-specific/avc1.d.ts +2 -0
  40. package/dist/create/iso-base-media/codec-specific/avc1.js +48 -0
  41. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.d.ts +22 -0
  42. package/dist/create/iso-base-media/codec-specific/create-codec-specific-data.js +36 -0
  43. package/dist/create/iso-base-media/codec-specific/mp4a.d.ts +2 -0
  44. package/dist/create/iso-base-media/codec-specific/mp4a.js +90 -0
  45. package/dist/create/iso-base-media/create-colr.d.ts +6 -0
  46. package/dist/create/iso-base-media/create-colr.js +26 -0
  47. package/dist/create/iso-base-media/create-ftyp.d.ts +10 -0
  48. package/dist/create/iso-base-media/create-ftyp.js +22 -0
  49. package/dist/create/iso-base-media/create-ilst.d.ts +1 -0
  50. package/dist/create/iso-base-media/create-ilst.js +14 -0
  51. package/dist/create/iso-base-media/create-iso-base-media.d.ts +2 -0
  52. package/dist/create/iso-base-media/create-iso-base-media.js +167 -0
  53. package/dist/create/iso-base-media/create-mdia.d.ts +5 -0
  54. package/dist/create/iso-base-media/create-mdia.js +18 -0
  55. package/dist/create/iso-base-media/create-moov.d.ts +5 -0
  56. package/dist/create/iso-base-media/create-moov.js +18 -0
  57. package/dist/create/iso-base-media/create-mvhd.d.ts +10 -0
  58. package/dist/create/iso-base-media/create-mvhd.js +48 -0
  59. package/dist/create/iso-base-media/create-trak.d.ts +4 -0
  60. package/dist/create/iso-base-media/create-trak.js +17 -0
  61. package/dist/create/iso-base-media/create-udta.d.ts +1 -0
  62. package/dist/create/iso-base-media/create-udta.js +14 -0
  63. package/dist/create/iso-base-media/create-url.d.ts +1 -0
  64. package/dist/create/iso-base-media/create-url.js +16 -0
  65. package/dist/create/iso-base-media/example-stts.d.ts +3 -0
  66. package/dist/create/iso-base-media/example-stts.js +2797 -0
  67. package/dist/create/iso-base-media/ilst/create-cmt.d.ts +1 -0
  68. package/dist/create/iso-base-media/ilst/create-cmt.js +26 -0
  69. package/dist/create/iso-base-media/ilst/create-too.d.ts +1 -0
  70. package/dist/create/iso-base-media/ilst/create-too.js +27 -0
  71. package/dist/create/iso-base-media/mdia/create-mdhd.d.ts +6 -0
  72. package/dist/create/iso-base-media/mdia/create-mdhd.js +33 -0
  73. package/dist/create/iso-base-media/mp4-header.d.ts +6 -0
  74. package/dist/create/iso-base-media/mp4-header.js +47 -0
  75. package/dist/create/iso-base-media/primitives.d.ts +15 -0
  76. package/dist/create/iso-base-media/primitives.js +133 -0
  77. package/dist/create/iso-base-media/serialize-track.d.ts +9 -0
  78. package/dist/create/iso-base-media/serialize-track.js +63 -0
  79. package/dist/create/iso-base-media/trak/create-tkhd.d.ts +27 -0
  80. package/dist/create/iso-base-media/trak/create-tkhd.js +97 -0
  81. package/dist/create/iso-base-media/trak/mdia/create-minf.d.ts +4 -0
  82. package/dist/create/iso-base-media/trak/mdia/create-minf.js +19 -0
  83. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.d.ts +1 -0
  84. package/dist/create/iso-base-media/trak/mdia/minf/create-dinf.js +22 -0
  85. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.d.ts +1 -0
  86. package/dist/create/iso-base-media/trak/mdia/minf/create-smhd.js +20 -0
  87. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.d.ts +6 -0
  88. package/dist/create/iso-base-media/trak/mdia/minf/create-stbl.js +35 -0
  89. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.d.ts +1 -0
  90. package/dist/create/iso-base-media/trak/mdia/minf/create-vmhd.js +20 -0
  91. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.d.ts +2 -0
  92. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-ctts.js +45 -0
  93. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.d.ts +2 -0
  94. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stco.js +28 -0
  95. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.d.ts +2 -0
  96. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsc.js +56 -0
  97. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.d.ts +2 -0
  98. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stss.js +23 -0
  99. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.d.ts +2 -0
  100. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stsz.js +25 -0
  101. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.d.ts +2 -0
  102. package/dist/create/iso-base-media/trak/mdia/minf/stbl/create-stts.js +48 -0
  103. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.d.ts +1 -0
  104. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avc1.js +20 -0
  105. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.d.ts +1 -0
  106. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-avcc.js +16 -0
  107. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.d.ts +1 -0
  108. package/dist/create/iso-base-media/trak/mdia/minf/stbl/stsd/create-pasp.js +13 -0
  109. package/dist/create/iso-base-media/udta/create-meta.d.ts +4 -0
  110. package/dist/create/iso-base-media/udta/create-meta.js +20 -0
  111. package/dist/create/iso-base-media/udta/meta/create-hdlr.d.ts +1 -0
  112. package/dist/create/iso-base-media/udta/meta/create-hdlr.js +32 -0
  113. package/dist/create/make-track-info.d.ts +20 -0
  114. package/dist/create/make-track-info.js +2 -0
  115. package/dist/create/{cluster-segment.d.ts → matroska/cluster-segment.d.ts} +1 -1
  116. package/dist/create/{cluster-segment.js → matroska/cluster-segment.js} +2 -2
  117. package/dist/create/{cluster.d.ts → matroska/cluster.d.ts} +12 -5
  118. package/dist/create/{cluster.js → matroska/cluster.js} +23 -20
  119. package/dist/create/matroska/create-matroska-media.d.ts +2 -0
  120. package/dist/create/{create-media.js → matroska/create-matroska-media.js} +49 -25
  121. package/dist/create/matroska/make-duration-with-padding.d.ts +1 -0
  122. package/dist/create/{make-duration-with-padding.js → matroska/make-duration-with-padding.js} +1 -1
  123. package/dist/create/{matroska-cues.d.ts → matroska/matroska-cues.d.ts} +1 -1
  124. package/dist/create/{matroska-cues.js → matroska/matroska-cues.js} +1 -1
  125. package/dist/create/matroska/matroska-header.d.ts +1 -0
  126. package/dist/create/{matroska-header.js → matroska/matroska-header.js} +1 -1
  127. package/dist/create/{matroska-info.d.ts → matroska/matroska-info.d.ts} +1 -1
  128. package/dist/create/{matroska-info.js → matroska/matroska-info.js} +1 -1
  129. package/dist/create/matroska/matroska-seek.d.ts +6 -0
  130. package/dist/create/{matroska-seek.js → matroska/matroska-seek.js} +1 -1
  131. package/dist/create/{matroska-segment.d.ts → matroska/matroska-segment.d.ts} +1 -1
  132. package/dist/create/{matroska-segment.js → matroska/matroska-segment.js} +1 -1
  133. package/dist/create/matroska/matroska-trackentry.d.ts +10 -0
  134. package/dist/create/{matroska-trackentry.js → matroska/matroska-trackentry.js} +9 -3
  135. package/dist/create/{create-media.d.ts → media-fn.d.ts} +17 -4
  136. package/dist/create/media-fn.js +2 -0
  137. package/dist/create/timescale.d.ts +1 -1
  138. package/dist/create/timescale.js +2 -2
  139. package/dist/emit-available-info.d.ts +1 -1
  140. package/dist/emit-available-info.js +23 -10
  141. package/dist/esm/buffer.mjs +3 -3
  142. package/dist/esm/index.mjs +2104 -735
  143. package/dist/esm/web-fs.mjs +2 -2
  144. package/dist/get-audio-codec.d.ts +2 -1
  145. package/dist/get-audio-codec.js +29 -10
  146. package/dist/get-duration.d.ts +5 -0
  147. package/dist/get-duration.js +7 -3
  148. package/dist/get-fps.d.ts +1 -0
  149. package/dist/get-fps.js +24 -13
  150. package/dist/get-sample-positions.d.ts +1 -0
  151. package/dist/get-sample-positions.js +1 -0
  152. package/dist/get-tracks.d.ts +1 -0
  153. package/dist/get-video-codec.d.ts +2 -2
  154. package/dist/get-video-codec.js +6 -6
  155. package/dist/has-all-info.d.ts +1 -1
  156. package/dist/has-all-info.js +8 -8
  157. package/dist/index.d.ts +6 -8
  158. package/dist/index.js +7 -3
  159. package/dist/options.d.ts +10 -1
  160. package/dist/parse-media.js +42 -14
  161. package/dist/parse-result.d.ts +15 -0
  162. package/dist/parse-video.d.ts +3 -1
  163. package/dist/parse-video.js +6 -14
  164. package/dist/parser-state.d.ts +3 -3
  165. package/dist/readers/reader.d.ts +2 -2
  166. package/dist/samples-from-moof.js +1 -0
  167. package/dist/version.d.ts +1 -0
  168. package/dist/version.js +5 -0
  169. package/dist/webcodec-sample-types.d.ts +7 -20
  170. package/dist/writers/buffer-implementation/writer.d.ts +2 -2
  171. package/dist/writers/buffer-implementation/writer.js +3 -3
  172. package/dist/writers/web-fs.js +2 -3
  173. package/dist/writers/writer.d.ts +5 -3
  174. package/package.json +3 -3
  175. package/dist/create/make-duration-with-padding.d.ts +0 -1
  176. package/dist/create/matroska-header.d.ts +0 -1
  177. package/dist/create/matroska-seek.d.ts +0 -6
  178. package/dist/create/matroska-trackentry.d.ts +0 -27
  179. package/dist/create/polyfill-audio-sample.d.ts +0 -3
  180. package/dist/create/polyfill-audio-sample.js +0 -15
  181. package/dist/writers/buffer-implementation/multi-buffer.d.ts +0 -0
  182. package/dist/writers/buffer-implementation/multi-buffer.js +0 -1
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VERSION = void 0;
4
+ // Automatically generated on publish
5
+ exports.VERSION = '4.0.231';
@@ -1,27 +1,14 @@
1
1
  import type { AudioTrack, VideoTrack } from './get-tracks';
2
- export type AudioSample = {
3
- data: Uint8Array;
4
- timestamp: number;
5
- trackId: number;
6
- type: 'key' | 'delta';
7
- duration: number | undefined;
8
- };
9
- export type VideoSample = {
10
- data: Uint8Array;
11
- timestamp: number;
12
- duration: number | undefined;
13
- trackId: number;
14
- type: 'key' | 'delta';
15
- cts: number | null;
16
- dts: number | null;
17
- };
18
- export type OnAudioSample = (sample: AudioSample) => void | Promise<void>;
19
- export type OnVideoSample = (sample: VideoSample) => void | Promise<void>;
2
+ export type OnAudioSample = (sample: AudioOrVideoSample) => void | Promise<void>;
3
+ export type OnVideoSample = (sample: AudioOrVideoSample) => void | Promise<void>;
20
4
  export type OnAudioTrack = (track: AudioTrack) => OnAudioSample | Promise<OnAudioSample | null> | null;
21
5
  export type OnVideoTrack = (track: VideoTrack) => OnVideoSample | Promise<OnVideoSample | null> | null;
22
6
  export type AudioOrVideoSample = {
23
- timestamp: number;
24
- type: 'key' | 'delta';
25
7
  data: Uint8Array;
8
+ timestamp: number;
26
9
  duration: number | undefined;
10
+ trackId: number;
11
+ type: 'key' | 'delta';
12
+ cts: number;
13
+ dts: number;
27
14
  };
@@ -1,2 +1,2 @@
1
- import type { Writer } from '../writer';
2
- export declare const createContent: () => Promise<Writer>;
1
+ import type { CreateContent } from '../writer';
2
+ export declare const createContent: CreateContent;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createContent = void 0;
4
- const createContent = () => {
4
+ const createContent = ({ filename, mimeType }) => {
5
5
  const buf = new ArrayBuffer(0, {
6
6
  // TODO: Educate that the buffer is limited to 2GB
7
- maxByteLength: 200000000,
7
+ maxByteLength: 2000000000,
8
8
  });
9
9
  if (!buf.resize) {
10
10
  throw new Error('Could not create buffer writer');
@@ -34,7 +34,7 @@ const createContent = () => {
34
34
  const arr = new Uint8Array(buf);
35
35
  return Promise.resolve(
36
36
  // TODO: Unhardcode MIME type and file name
37
- new File([arr.slice()], 'hi', { type: 'video/webm' }));
37
+ new File([arr.slice()], filename, { type: mimeType }));
38
38
  },
39
39
  remove() {
40
40
  removed = true;
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.canUseWebFsWriter = exports.webFsWriter = void 0;
4
- const createContent = async () => {
4
+ const createContent = async ({ filename }) => {
5
5
  const directoryHandle = await navigator.storage.getDirectory();
6
- // TODO: Unhardcode WebM
7
- const filename = `media-parser-${Math.random().toString().replace('0.', '')}.webm`;
6
+ directoryHandle.removeEntry(filename);
8
7
  const fileHandle = await directoryHandle.getFileHandle(filename, {
9
8
  create: true,
10
9
  });
@@ -1,13 +1,15 @@
1
1
  export type Writer = {
2
2
  write: (arr: Uint8Array) => Promise<void>;
3
- save: () => Promise<File | Blob>;
3
+ save: () => Promise<Blob>;
4
4
  getWrittenByteCount: () => number;
5
5
  updateDataAt: (position: number, data: Uint8Array) => Promise<void>;
6
6
  waitForFinish: () => Promise<void>;
7
7
  remove: () => Promise<void>;
8
8
  };
9
- type CreateContent = () => Promise<Writer>;
9
+ export type CreateContent = (options: {
10
+ filename: string;
11
+ mimeType: string;
12
+ }) => Promise<Writer>;
10
13
  export type WriterInterface = {
11
14
  createContent: CreateContent;
12
15
  };
13
- export {};
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.229",
6
+ "version": "4.0.231",
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.229",
13
- "@remotion/eslint-config-internal": "4.0.229"
12
+ "@remotion/example-videos": "4.0.231",
13
+ "@remotion/eslint-config-internal": "4.0.231"
14
14
  },
15
15
  "publishConfig": {
16
16
  "access": "public"
@@ -1 +0,0 @@
1
- export declare const makeDurationWithPadding: (newDuration: number) => import("../boxes/webm/segments/all-segments").BytesAndOffset;
@@ -1 +0,0 @@
1
- export declare const makeMatroskaHeader: () => import("../boxes/webm/segments/all-segments").BytesAndOffset;
@@ -1,6 +0,0 @@
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,27 +0,0 @@
1
- import type { BytesAndOffset } from '../boxes/webm/segments/all-segments';
2
- import type { MediaParserAudioCodec, MediaParserVideoCodec, VideoTrackColorParams } from '../get-tracks';
3
- export declare const makeMatroskaVideoBytes: ({ color, width, height, }: {
4
- color: VideoTrackColorParams;
5
- width: number;
6
- height: number;
7
- }) => BytesAndOffset;
8
- export type MakeTrackAudio = {
9
- trackNumber: number;
10
- codec: MediaParserAudioCodec;
11
- numberOfChannels: number;
12
- sampleRate: number;
13
- type: 'audio';
14
- codecPrivate: Uint8Array | null;
15
- };
16
- export type MakeTrackVideo = {
17
- color: VideoTrackColorParams;
18
- width: number;
19
- height: number;
20
- trackNumber: number;
21
- codec: MediaParserVideoCodec;
22
- type: 'video';
23
- codecPrivate: Uint8Array | null;
24
- };
25
- export declare const makeMatroskaAudioTrackEntryBytes: ({ trackNumber, codec, numberOfChannels, sampleRate, codecPrivate, }: MakeTrackAudio) => BytesAndOffset;
26
- export declare const makeMatroskaVideoTrackEntryBytes: ({ color, width, height, trackNumber, codec, codecPrivate, }: MakeTrackVideo) => BytesAndOffset;
27
- export declare const makeMatroskaTracks: (tracks: BytesAndOffset[]) => BytesAndOffset[];
@@ -1,3 +0,0 @@
1
- import type { AudioSample } from '../webcodec-sample-types';
2
- import type { AudioOrVideoSample } from './cluster';
3
- export declare const polyfillAudioChunk: (audioSample: AudioSample) => AudioOrVideoSample;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.polyfillAudioChunk = void 0;
4
- const polyfillAudioChunk = (audioSample) => {
5
- var _a;
6
- return {
7
- ...audioSample,
8
- duration: (_a = audioSample.duration) !== null && _a !== void 0 ? _a : null,
9
- copyTo(destination) {
10
- return destination.write(audioSample.data);
11
- },
12
- byteLength: audioSample.data.length,
13
- };
14
- };
15
- exports.polyfillAudioChunk = polyfillAudioChunk;
@@ -1 +0,0 @@
1
- "use strict";