@remotion/timeline-utils 4.0.498 → 4.0.500

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.
@@ -10,6 +10,18 @@ const sliceWaveformPeaks = ({ durationInFrames, fps, peaks, playbackRate, startF
10
10
  const durationInSeconds = (durationInFrames / fps) * playbackRate;
11
11
  const startPeakIndex = Math.floor(startTimeInSeconds * constants_1.TARGET_SAMPLE_RATE);
12
12
  const endPeakIndex = Math.ceil((startTimeInSeconds + durationInSeconds) * constants_1.TARGET_SAMPLE_RATE);
13
- return peaks.subarray(Math.max(0, startPeakIndex), Math.min(peaks.length, endPeakIndex));
13
+ if (!Number.isFinite(startPeakIndex) || !Number.isFinite(endPeakIndex)) {
14
+ return peaks.subarray(Math.max(0, startPeakIndex), Math.min(peaks.length, endPeakIndex));
15
+ }
16
+ if (startPeakIndex >= 0 && endPeakIndex <= peaks.length) {
17
+ return peaks.subarray(startPeakIndex, endPeakIndex);
18
+ }
19
+ const portion = new Float32Array(Math.max(0, endPeakIndex - startPeakIndex));
20
+ const sourceStart = Math.max(0, startPeakIndex);
21
+ const sourceEnd = Math.min(peaks.length, endPeakIndex);
22
+ if (sourceStart < sourceEnd) {
23
+ portion.set(peaks.subarray(sourceStart, sourceEnd), sourceStart - startPeakIndex);
24
+ }
25
+ return portion;
14
26
  };
15
27
  exports.sliceWaveformPeaks = sliceWaveformPeaks;
@@ -295,7 +295,19 @@ var sliceWaveformPeaks = ({
295
295
  const durationInSeconds = durationInFrames / fps * playbackRate;
296
296
  const startPeakIndex = Math.floor(startTimeInSeconds * TARGET_SAMPLE_RATE);
297
297
  const endPeakIndex = Math.ceil((startTimeInSeconds + durationInSeconds) * TARGET_SAMPLE_RATE);
298
- return peaks.subarray(Math.max(0, startPeakIndex), Math.min(peaks.length, endPeakIndex));
298
+ if (!Number.isFinite(startPeakIndex) || !Number.isFinite(endPeakIndex)) {
299
+ return peaks.subarray(Math.max(0, startPeakIndex), Math.min(peaks.length, endPeakIndex));
300
+ }
301
+ if (startPeakIndex >= 0 && endPeakIndex <= peaks.length) {
302
+ return peaks.subarray(startPeakIndex, endPeakIndex);
303
+ }
304
+ const portion = new Float32Array(Math.max(0, endPeakIndex - startPeakIndex));
305
+ const sourceStart = Math.max(0, startPeakIndex);
306
+ const sourceEnd = Math.min(peaks.length, endPeakIndex);
307
+ if (sourceStart < sourceEnd) {
308
+ portion.set(peaks.subarray(sourceStart, sourceEnd), sourceStart - startPeakIndex);
309
+ }
310
+ return portion;
299
311
  };
300
312
 
301
313
  // src/loop-display.ts
@@ -298,7 +298,19 @@ var sliceWaveformPeaks = ({
298
298
  const durationInSeconds = durationInFrames / fps * playbackRate;
299
299
  const startPeakIndex = Math.floor(startTimeInSeconds * TARGET_SAMPLE_RATE);
300
300
  const endPeakIndex = Math.ceil((startTimeInSeconds + durationInSeconds) * TARGET_SAMPLE_RATE);
301
- return peaks.subarray(Math.max(0, startPeakIndex), Math.min(peaks.length, endPeakIndex));
301
+ if (!Number.isFinite(startPeakIndex) || !Number.isFinite(endPeakIndex)) {
302
+ return peaks.subarray(Math.max(0, startPeakIndex), Math.min(peaks.length, endPeakIndex));
303
+ }
304
+ if (startPeakIndex >= 0 && endPeakIndex <= peaks.length) {
305
+ return peaks.subarray(startPeakIndex, endPeakIndex);
306
+ }
307
+ const portion = new Float32Array(Math.max(0, endPeakIndex - startPeakIndex));
308
+ const sourceStart = Math.max(0, startPeakIndex);
309
+ const sourceEnd = Math.min(peaks.length, endPeakIndex);
310
+ if (sourceStart < sourceEnd) {
311
+ portion.set(peaks.subarray(sourceStart, sourceEnd), sourceStart - startPeakIndex);
312
+ }
313
+ return portion;
302
314
  };
303
315
  // src/image-thumbnail/get-scaled-image-thumbnail-dimensions.ts
304
316
  var getScaledImageThumbnailDimensions = ({
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/timeline-utils"
4
4
  },
5
5
  "name": "@remotion/timeline-utils",
6
- "version": "4.0.498",
6
+ "version": "4.0.500",
7
7
  "description": "Internal utilities for rendering Remotion timelines",
8
8
  "main": "dist/index.js",
9
9
  "scripts": {
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "devDependencies": {
27
27
  "@mediabunny/server": "1.50.8",
28
- "@remotion/eslint-config-internal": "4.0.498",
28
+ "@remotion/eslint-config-internal": "4.0.500",
29
29
  "eslint": "9.19.0",
30
30
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
31
31
  },