@remotion/media-parser 4.0.288 → 4.0.289

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 (123) hide show
  1. package/dist/containers/aac/get-seeking-byte.d.ts +6 -0
  2. package/dist/containers/aac/get-seeking-byte.js +30 -0
  3. package/dist/containers/aac/parse-aac.js +23 -18
  4. package/dist/containers/aac/seeking-hints.d.ts +13 -0
  5. package/dist/containers/aac/seeking-hints.js +14 -0
  6. package/dist/containers/flac/get-channel-count.d.ts +1 -1
  7. package/dist/containers/flac/get-seeking-byte.d.ts +1 -2
  8. package/dist/containers/flac/get-seeking-byte.js +6 -2
  9. package/dist/containers/flac/parse-flac-frame.js +18 -17
  10. package/dist/containers/flac/parse-flac.js +5 -25
  11. package/dist/containers/flac/seeking-hints.d.ts +4 -1
  12. package/dist/containers/flac/seeking-hints.js +2 -1
  13. package/dist/containers/iso-base-media/get-children.d.ts +2 -1
  14. package/dist/containers/iso-base-media/get-children.js +2 -1
  15. package/dist/containers/iso-base-media/get-mfra-seeking-box.js +1 -0
  16. package/dist/containers/iso-base-media/get-moov-atom.js +2 -1
  17. package/dist/containers/iso-base-media/get-video-codec-from-iso-track.d.ts +1 -1
  18. package/dist/containers/iso-base-media/mdat/mdat.js +26 -33
  19. package/dist/containers/iso-base-media/moov/moov.d.ts +2 -1
  20. package/dist/containers/iso-base-media/moov/moov.js +2 -1
  21. package/dist/containers/iso-base-media/parse-boxes.js +1 -0
  22. package/dist/containers/iso-base-media/process-box.d.ts +2 -1
  23. package/dist/containers/iso-base-media/process-box.js +10 -4
  24. package/dist/containers/iso-base-media/stsd/mebx.d.ts +2 -1
  25. package/dist/containers/iso-base-media/stsd/mebx.js +2 -1
  26. package/dist/containers/iso-base-media/stsd/samples.d.ts +4 -2
  27. package/dist/containers/iso-base-media/stsd/samples.js +7 -2
  28. package/dist/containers/iso-base-media/stsd/stsd.d.ts +2 -1
  29. package/dist/containers/iso-base-media/stsd/stsd.js +2 -1
  30. package/dist/containers/iso-base-media/trak/trak.d.ts +2 -1
  31. package/dist/containers/iso-base-media/trak/trak.js +2 -1
  32. package/dist/containers/mp3/audio-sample-from-cbr.d.ts +11 -0
  33. package/dist/containers/mp3/audio-sample-from-cbr.js +35 -0
  34. package/dist/containers/mp3/get-duration.js +33 -6
  35. package/dist/containers/mp3/get-seeking-byte.d.ts +6 -0
  36. package/dist/containers/mp3/get-seeking-byte.js +49 -0
  37. package/dist/containers/mp3/parse-mp3.js +9 -0
  38. package/dist/containers/mp3/parse-mpeg-header.js +74 -263
  39. package/dist/containers/mp3/parse-packet-header.d.ts +30 -0
  40. package/dist/containers/mp3/parse-packet-header.js +258 -0
  41. package/dist/containers/mp3/parse-xing.d.ts +19 -0
  42. package/dist/containers/mp3/parse-xing.js +120 -0
  43. package/dist/containers/mp3/seek/audio-sample-from-cbr.d.ts +16 -0
  44. package/dist/containers/mp3/seek/audio-sample-from-cbr.js +35 -0
  45. package/dist/containers/mp3/seek/audio-sample-from-vbr.d.ts +8 -0
  46. package/dist/containers/mp3/seek/audio-sample-from-vbr.js +47 -0
  47. package/dist/containers/mp3/seek/get-approximate-byte-from-bitrate.d.ts +9 -0
  48. package/dist/containers/mp3/seek/get-approximate-byte-from-bitrate.js +28 -0
  49. package/dist/containers/mp3/seek/get-byte-from-observed-samples.d.ts +6 -0
  50. package/dist/containers/mp3/seek/get-byte-from-observed-samples.js +27 -0
  51. package/dist/containers/mp3/seek/get-seek-point-from-xing.d.ts +7 -0
  52. package/dist/containers/mp3/seek/get-seek-point-from-xing.js +29 -0
  53. package/dist/containers/mp3/seek/wait-until-syncword.d.ts +4 -0
  54. package/dist/containers/mp3/seek/wait-until-syncword.js +25 -0
  55. package/dist/containers/mp3/seeking-hints.d.ts +24 -0
  56. package/dist/containers/mp3/seeking-hints.js +21 -0
  57. package/dist/containers/riff/expect-riff-box.d.ts +6 -1
  58. package/dist/containers/riff/expect-riff-box.js +37 -27
  59. package/dist/containers/riff/get-seeking-byte.d.ts +8 -0
  60. package/dist/containers/riff/get-seeking-byte.js +56 -0
  61. package/dist/containers/riff/has-index.d.ts +2 -0
  62. package/dist/containers/riff/has-index.js +8 -0
  63. package/dist/containers/riff/parse-avih.js +3 -0
  64. package/dist/containers/riff/parse-idx1.d.ts +6 -0
  65. package/dist/containers/riff/parse-idx1.js +47 -0
  66. package/dist/containers/riff/parse-list-box.d.ts +4 -2
  67. package/dist/containers/riff/parse-list-box.js +8 -3
  68. package/dist/containers/riff/parse-movi.js +35 -40
  69. package/dist/containers/riff/parse-riff-body.js +5 -1
  70. package/dist/containers/riff/parse-riff-box.d.ts +4 -2
  71. package/dist/containers/riff/parse-riff-box.js +10 -3
  72. package/dist/containers/riff/riff-box.d.ts +14 -1
  73. package/dist/containers/riff/seek/fetch-idx1.d.ts +15 -0
  74. package/dist/containers/riff/seek/fetch-idx1.js +38 -0
  75. package/dist/containers/riff/seeking-hints.d.ts +23 -0
  76. package/dist/containers/riff/seeking-hints.js +36 -0
  77. package/dist/containers/transport-stream/handle-aac-packet.js +4 -8
  78. package/dist/containers/transport-stream/handle-avc-packet.js +4 -8
  79. package/dist/containers/wav/get-duration-from-wav.js +1 -10
  80. package/dist/containers/wav/parse-media-section.js +14 -18
  81. package/dist/containers/webm/parse-ebml.js +3 -16
  82. package/dist/containers/webm/seek/seeking-hints.js +1 -1
  83. package/dist/emit-available-info.js +8 -8
  84. package/dist/esm/index.mjs +1479 -383
  85. package/dist/esm/worker-server-entry.mjs +1475 -379
  86. package/dist/esm/worker-web-entry.mjs +1475 -379
  87. package/dist/find-last-keyframe.d.ts +5 -0
  88. package/dist/find-last-keyframe.js +18 -0
  89. package/dist/get-seeking-byte.d.ts +3 -1
  90. package/dist/get-seeking-byte.js +45 -7
  91. package/dist/get-seeking-hints.d.ts +12 -1
  92. package/dist/get-seeking-hints.js +40 -9
  93. package/dist/index.d.ts +56 -8
  94. package/dist/internal-parse-media.js +6 -0
  95. package/dist/parse-loop.js +15 -0
  96. package/dist/seeking-hints.d.ts +5 -1
  97. package/dist/set-seeking-hints.js +28 -8
  98. package/dist/state/aac-state.d.ts +6 -0
  99. package/dist/state/aac-state.js +7 -2
  100. package/dist/state/flac-state.d.ts +6 -0
  101. package/dist/state/flac-state.js +3 -0
  102. package/dist/state/keyframes.d.ts +1 -2
  103. package/dist/state/keyframes.js +2 -2
  104. package/dist/state/matroska/lazy-cues-fetch.js +13 -1
  105. package/dist/state/parser-state.d.ts +52 -6
  106. package/dist/state/parser-state.js +6 -6
  107. package/dist/state/riff/lazy-idx1-fetch.d.ts +30 -0
  108. package/dist/state/riff/lazy-idx1-fetch.js +63 -0
  109. package/dist/state/riff/riff-keyframes.d.ts +10 -0
  110. package/dist/state/riff/riff-keyframes.js +26 -0
  111. package/dist/state/riff/sample-counter.d.ts +12 -0
  112. package/dist/state/riff/sample-counter.js +52 -0
  113. package/dist/state/riff.d.ts +41 -1
  114. package/dist/state/riff.js +12 -1
  115. package/dist/state/sample-callbacks.d.ts +3 -4
  116. package/dist/state/sample-callbacks.js +3 -16
  117. package/dist/state/samples-observed/slow-duration-fps.d.ts +3 -1
  118. package/dist/state/samples-observed/slow-duration-fps.js +7 -0
  119. package/dist/version.d.ts +1 -1
  120. package/dist/version.js +1 -1
  121. package/dist/work-on-seek-request.d.ts +10 -0
  122. package/dist/work-on-seek-request.js +20 -2
  123. package/package.json +3 -3
@@ -5,7 +5,7 @@ const get_seeking_byte_1 = require("./get-seeking-byte");
5
5
  const get_seeking_hints_1 = require("./get-seeking-hints");
6
6
  const log_1 = require("./log");
7
7
  const perform_seek_1 = require("./perform-seek");
8
- const turnSeekIntoByte = async ({ seek, mediaSectionState, logLevel, iterator, structureState, mp4HeaderSegment, isoState, transportStream, tracksState, webmState, keyframes, }) => {
8
+ const turnSeekIntoByte = async ({ seek, mediaSectionState, logLevel, iterator, structureState, mp4HeaderSegment, isoState, transportStream, tracksState, webmState, keyframes, flacState, samplesObserved, riffState, mp3State, contentLength, aacState, }) => {
9
9
  const mediaSections = mediaSectionState.getMediaSections();
10
10
  if (mediaSections.length === 0) {
11
11
  log_1.Log.trace(logLevel, 'No media sections defined, cannot seek yet');
@@ -18,6 +18,8 @@ const turnSeekIntoByte = async ({ seek, mediaSectionState, logLevel, iterator, s
18
18
  throw new Error(`Cannot seek to a negative time: ${JSON.stringify(seek)}`);
19
19
  }
20
20
  const seekingHints = (0, get_seeking_hints_1.getSeekingHints)({
21
+ riffState,
22
+ samplesObserved,
21
23
  structureState,
22
24
  mp4HeaderSegment,
23
25
  mediaSectionState,
@@ -26,6 +28,10 @@ const turnSeekIntoByte = async ({ seek, mediaSectionState, logLevel, iterator, s
26
28
  tracksState,
27
29
  keyframesState: keyframes,
28
30
  webmState,
31
+ flacState,
32
+ mp3State,
33
+ contentLength,
34
+ aacState,
29
35
  });
30
36
  if (!seekingHints) {
31
37
  log_1.Log.trace(logLevel, 'No seeking info, cannot seek yet');
@@ -44,6 +50,7 @@ const turnSeekIntoByte = async ({ seek, mediaSectionState, logLevel, iterator, s
44
50
  mediaSection: mediaSectionState,
45
51
  mp4HeaderSegment,
46
52
  structure: structureState,
53
+ riffState,
47
54
  });
48
55
  return seekingByte;
49
56
  }
@@ -76,11 +83,16 @@ const getWorkOnSeekRequestOptions = (state) => {
76
83
  tracksState: state.callbacks.tracks,
77
84
  webmState: state.webm,
78
85
  keyframes: state.keyframes,
86
+ flacState: state.flac,
87
+ samplesObserved: state.samplesObserved,
88
+ riffState: state.riff,
89
+ mp3State: state.mp3,
90
+ aacState: state.aac,
79
91
  };
80
92
  };
81
93
  exports.getWorkOnSeekRequestOptions = getWorkOnSeekRequestOptions;
82
94
  const workOnSeekRequest = async (options) => {
83
- const { logLevel, controller, mediaSection, mp4HeaderSegment, isoState, iterator, structureState, src, contentLength, readerInterface, mode, seekInfiniteLoop, currentReader, discardReadBytes, fields, transportStream, tracksState, webmState, keyframes, } = options;
95
+ const { logLevel, controller, mediaSection, mp4HeaderSegment, isoState, iterator, structureState, src, contentLength, readerInterface, mode, seekInfiniteLoop, currentReader, discardReadBytes, fields, transportStream, tracksState, webmState, keyframes, flacState, samplesObserved, riffState, mp3State, aacState, } = options;
84
96
  const seek = controller._internals.seekSignal.getSeek();
85
97
  if (!seek) {
86
98
  return;
@@ -98,6 +110,12 @@ const workOnSeekRequest = async (options) => {
98
110
  tracksState,
99
111
  webmState,
100
112
  keyframes,
113
+ flacState,
114
+ samplesObserved,
115
+ riffState,
116
+ mp3State,
117
+ contentLength,
118
+ aacState,
101
119
  });
102
120
  log_1.Log.trace(logLevel, `Seek action: ${JSON.stringify(resolution)}`);
103
121
  if (resolution.type === 'intermediary-seek') {
package/package.json CHANGED
@@ -3,15 +3,15 @@
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.288",
6
+ "version": "4.0.289",
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.19.0",
12
12
  "@types/bun": "1.2.8",
13
- "@remotion/example-videos": "4.0.288",
14
- "@remotion/eslint-config-internal": "4.0.288"
13
+ "@remotion/example-videos": "4.0.289",
14
+ "@remotion/eslint-config-internal": "4.0.289"
15
15
  },
16
16
  "publishConfig": {
17
17
  "access": "public"