@remotion/media-parser 4.0.302 → 4.0.304

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 (94) hide show
  1. package/dist/check-if-done.js +4 -0
  2. package/dist/containers/aac/parse-aac.js +1 -0
  3. package/dist/containers/avc/key.d.ts +1 -1
  4. package/dist/containers/avc/key.js +5 -1
  5. package/dist/containers/avc/max-buffer-size.d.ts +3 -0
  6. package/dist/containers/avc/max-buffer-size.js +40 -0
  7. package/dist/containers/avc/parse-avc.d.ts +6 -7
  8. package/dist/containers/avc/parse-avc.js +83 -7
  9. package/dist/containers/flac/parse-streaminfo.js +1 -0
  10. package/dist/containers/iso-base-media/base-media-box.d.ts +2 -1
  11. package/dist/containers/iso-base-media/elst.d.ts +19 -0
  12. package/dist/containers/iso-base-media/elst.js +33 -0
  13. package/dist/containers/iso-base-media/find-keyframe-before-time.d.ts +2 -1
  14. package/dist/containers/iso-base-media/find-keyframe-before-time.js +3 -3
  15. package/dist/containers/iso-base-media/get-moov-atom.js +1 -0
  16. package/dist/containers/iso-base-media/get-seeking-byte-from-fragmented-mp4.js +1 -0
  17. package/dist/containers/iso-base-media/get-seeking-byte.js +1 -0
  18. package/dist/containers/iso-base-media/make-track.d.ts +1 -1
  19. package/dist/containers/iso-base-media/make-track.js +4 -1
  20. package/dist/containers/iso-base-media/mdat/get-editlist.d.ts +5 -0
  21. package/dist/containers/iso-base-media/mdat/get-editlist.js +21 -0
  22. package/dist/containers/iso-base-media/mdat/mdat.js +8 -5
  23. package/dist/containers/iso-base-media/parse-boxes.js +1 -0
  24. package/dist/containers/iso-base-media/process-box.d.ts +2 -0
  25. package/dist/containers/iso-base-media/process-box.js +31 -4
  26. package/dist/containers/iso-base-media/traversal.d.ts +2 -0
  27. package/dist/containers/iso-base-media/traversal.js +10 -1
  28. package/dist/containers/mp3/parse-mpeg-header.js +1 -0
  29. package/dist/containers/riff/convert-queued-sample-to-mediaparser-sample.d.ts +14 -0
  30. package/dist/containers/riff/convert-queued-sample-to-mediaparser-sample.js +55 -0
  31. package/dist/containers/riff/get-seeking-byte.d.ts +3 -1
  32. package/dist/containers/riff/get-seeking-byte.js +5 -1
  33. package/dist/containers/riff/get-strh-for-index.d.ts +2 -0
  34. package/dist/containers/riff/get-strh-for-index.js +17 -0
  35. package/dist/containers/riff/get-tracks-from-avi.js +2 -0
  36. package/dist/containers/riff/parse-movi.js +51 -44
  37. package/dist/containers/riff/parse-riff-body.js +8 -0
  38. package/dist/containers/transport-stream/handle-aac-packet.js +1 -0
  39. package/dist/containers/transport-stream/handle-avc-packet.d.ts +3 -1
  40. package/dist/containers/transport-stream/handle-avc-packet.js +4 -3
  41. package/dist/containers/transport-stream/parse-transport-stream.js +1 -0
  42. package/dist/containers/transport-stream/process-audio.d.ts +3 -1
  43. package/dist/containers/transport-stream/process-audio.js +2 -1
  44. package/dist/containers/transport-stream/process-sample-if-possible.js +2 -0
  45. package/dist/containers/transport-stream/process-stream-buffers.d.ts +5 -2
  46. package/dist/containers/transport-stream/process-stream-buffers.js +4 -2
  47. package/dist/containers/transport-stream/process-video.d.ts +3 -1
  48. package/dist/containers/transport-stream/process-video.js +2 -1
  49. package/dist/containers/wav/parse-fmt.js +1 -0
  50. package/dist/containers/webm/get-sample-from-block.d.ts +3 -1
  51. package/dist/containers/webm/get-sample-from-block.js +4 -3
  52. package/dist/containers/webm/make-track.js +2 -0
  53. package/dist/containers/webm/parse-ebml.d.ts +1 -1
  54. package/dist/containers/webm/parse-ebml.js +3 -1
  55. package/dist/containers/webm/state-for-processing.d.ts +3 -1
  56. package/dist/containers/webm/state-for-processing.js +2 -1
  57. package/dist/convert-audio-or-video-sample.js +1 -0
  58. package/dist/esm/index.mjs +597 -127
  59. package/dist/esm/universal.mjs +9 -8
  60. package/dist/esm/web.mjs +9 -8
  61. package/dist/esm/worker-server-entry.mjs +596 -126
  62. package/dist/esm/worker-web-entry.mjs +596 -126
  63. package/dist/get-seeking-byte.d.ts +3 -1
  64. package/dist/get-seeking-byte.js +2 -1
  65. package/dist/get-tracks.d.ts +3 -0
  66. package/dist/get-tracks.js +10 -1
  67. package/dist/index.d.ts +34 -3
  68. package/dist/readers/from-fetch.js +2 -1
  69. package/dist/run-parse-iteration.js +0 -3
  70. package/dist/state/avc/avc-state.d.ts +12 -0
  71. package/dist/state/avc/avc-state.js +44 -0
  72. package/dist/state/iso-base-media/iso-state.d.ts +4 -0
  73. package/dist/state/iso-base-media/iso-state.js +2 -0
  74. package/dist/state/iso-base-media/timescale-state.d.ts +5 -0
  75. package/dist/state/iso-base-media/timescale-state.js +13 -0
  76. package/dist/state/parser-state.d.ts +34 -3
  77. package/dist/state/parser-state.js +3 -0
  78. package/dist/state/riff/queued-b-frames.d.ts +9 -0
  79. package/dist/state/riff/queued-b-frames.js +47 -0
  80. package/dist/state/riff/queued-frames.d.ts +9 -0
  81. package/dist/state/riff/queued-frames.js +39 -0
  82. package/dist/state/riff/riff-keyframes.js +1 -0
  83. package/dist/state/riff/sample-counter.d.ts +13 -2
  84. package/dist/state/riff/sample-counter.js +34 -7
  85. package/dist/state/riff.d.ts +19 -2
  86. package/dist/state/riff.js +3 -0
  87. package/dist/state/transport-stream/last-emitted-sample.d.ts +1 -1
  88. package/dist/state/transport-stream/transport-stream.d.ts +1 -1
  89. package/dist/version.d.ts +1 -1
  90. package/dist/version.js +1 -1
  91. package/dist/webcodec-sample-types.d.ts +11 -0
  92. package/dist/work-on-seek-request.d.ts +2 -0
  93. package/dist/work-on-seek-request.js +5 -2
  94. package/package.json +3 -3
@@ -262,6 +262,7 @@ const getTrack = ({ timescale, track, }) => {
262
262
  advancedColor,
263
263
  codecEnum,
264
264
  fps: null,
265
+ startInSeconds: 0,
265
266
  };
266
267
  }
267
268
  if ((0, track_entry_1.trackTypeToString)(trackType.value.value) === 'audio') {
@@ -288,6 +289,7 @@ const getTrack = ({ timescale, track, }) => {
288
289
  codecEnum: (0, exports.getMatroskaAudioCodecEnum)({
289
290
  track,
290
291
  }),
292
+ startInSeconds: 0,
291
293
  };
292
294
  }
293
295
  return null;
@@ -5,7 +5,7 @@ export type Prettify<T> = {
5
5
  [K in keyof T]: T[K];
6
6
  } & {};
7
7
  export declare const parseEbml: (iterator: BufferIterator, statesForProcessing: WebmRequiredStatesForProcessing | null) => Promise<Prettify<PossibleEbml>>;
8
- export declare const postprocessEbml: ({ offset, ebml, statesForProcessing: { webmState, callbacks, logLevel, onAudioTrack, onVideoTrack, structureState, }, }: {
8
+ export declare const postprocessEbml: ({ offset, ebml, statesForProcessing: { webmState, callbacks, logLevel, onAudioTrack, onVideoTrack, structureState, avcState, }, }: {
9
9
  offset: number;
10
10
  ebml: Prettify<PossibleEbml>;
11
11
  statesForProcessing: WebmRequiredStatesForProcessing;
@@ -107,7 +107,7 @@ const parseEbml = async (iterator, statesForProcessing) => {
107
107
  throw new Error(`Unknown segment type ${hasInMap.type}`);
108
108
  };
109
109
  exports.parseEbml = parseEbml;
110
- const postprocessEbml = async ({ offset, ebml, statesForProcessing: { webmState, callbacks, logLevel, onAudioTrack, onVideoTrack, structureState, }, }) => {
110
+ const postprocessEbml = async ({ offset, ebml, statesForProcessing: { webmState, callbacks, logLevel, onAudioTrack, onVideoTrack, structureState, avcState, }, }) => {
111
111
  if (ebml.type === 'TimestampScale') {
112
112
  webmState.setTimescale(ebml.value.value);
113
113
  }
@@ -155,6 +155,7 @@ const postprocessEbml = async ({ offset, ebml, statesForProcessing: { webmState,
155
155
  callbacks,
156
156
  logLevel,
157
157
  onVideoTrack,
158
+ avcState,
158
159
  });
159
160
  if (sample.type === 'video-sample') {
160
161
  await callbacks.onVideoSample(sample.videoSample.trackId, sample.videoSample);
@@ -200,6 +201,7 @@ const postprocessEbml = async ({ offset, ebml, statesForProcessing: { webmState,
200
201
  callbacks,
201
202
  logLevel,
202
203
  onVideoTrack,
204
+ avcState,
203
205
  });
204
206
  if (sample && sample.type === 'partial-video-sample') {
205
207
  const completeFrame = {
@@ -1,4 +1,5 @@
1
1
  import type { MediaParserLogLevel } from '../../log';
2
+ import type { AvcState } from '../../state/avc/avc-state';
2
3
  import type { WebmState } from '../../state/matroska/webm';
3
4
  import type { ParserState } from '../../state/parser-state';
4
5
  import type { CallbacksState } from '../../state/sample-callbacks';
@@ -11,5 +12,6 @@ export type WebmRequiredStatesForProcessing = {
11
12
  onAudioTrack: MediaParserOnAudioTrack | null;
12
13
  onVideoTrack: MediaParserOnVideoTrack | null;
13
14
  structureState: StructureState;
15
+ avcState: AvcState;
14
16
  };
15
- export declare const selectStatesForProcessing: ({ callbacks, logLevel, onAudioTrack, onVideoTrack, structure, webm, }: ParserState) => WebmRequiredStatesForProcessing;
17
+ export declare const selectStatesForProcessing: ({ callbacks, logLevel, onAudioTrack, onVideoTrack, structure, webm, avc, }: ParserState) => WebmRequiredStatesForProcessing;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.selectStatesForProcessing = void 0;
4
- const selectStatesForProcessing = ({ callbacks, logLevel, onAudioTrack, onVideoTrack, structure, webm, }) => {
4
+ const selectStatesForProcessing = ({ callbacks, logLevel, onAudioTrack, onVideoTrack, structure, webm, avc, }) => {
5
5
  return {
6
6
  webmState: webm,
7
7
  callbacks,
@@ -9,6 +9,7 @@ const selectStatesForProcessing = ({ callbacks, logLevel, onAudioTrack, onVideoT
9
9
  onAudioTrack,
10
10
  onVideoTrack,
11
11
  structureState: structure,
12
+ avcState: avc,
12
13
  };
13
14
  };
14
15
  exports.selectStatesForProcessing = selectStatesForProcessing;
@@ -28,6 +28,7 @@ const convertAudioOrVideoSampleToWebCodecsTimestamps = ({ sample, timescale, })
28
28
  type: sample.type,
29
29
  offset: sample.offset,
30
30
  timescale: TARGET_TIMESCALE,
31
+ ...('avc' in sample ? { avc: sample.avc } : {}),
31
32
  };
32
33
  };
33
34
  exports.convertAudioOrVideoSampleToWebCodecsTimestamps = convertAudioOrVideoSampleToWebCodecsTimestamps;