@remotion/studio 4.0.317 → 4.0.318

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.
@@ -0,0 +1,25 @@
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __toESM = (mod, isNodeMode, target) => {
7
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
8
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
9
+ for (let key of __getOwnPropNames(mod))
10
+ if (!__hasOwnProp.call(to, key))
11
+ __defProp(to, key, {
12
+ get: () => mod[key],
13
+ enumerable: true
14
+ });
15
+ return to;
16
+ };
17
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
18
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
19
+ }) : x)(function(x) {
20
+ if (typeof require !== "undefined")
21
+ return require.apply(this, arguments);
22
+ throw Error('Dynamic require of "' + x + '" is not supported');
23
+ });
24
+
25
+ export { __toESM, __require };
@@ -21330,18 +21330,37 @@ var Log = {
21330
21330
  return console.error(...args);
21331
21331
  }
21332
21332
  };
21333
+
21334
+ class ResizableBuffer {
21335
+ buffer;
21336
+ uintarray;
21337
+ constructor(buffer) {
21338
+ this.buffer = buffer;
21339
+ this.uintarray = new Uint8Array(buffer);
21340
+ }
21341
+ resize(newLength) {
21342
+ if (typeof this.buffer.resize === "function") {
21343
+ this.buffer.resize(newLength);
21344
+ } else {
21345
+ const newBuffer = new ArrayBuffer(newLength);
21346
+ new Uint8Array(newBuffer).set(new Uint8Array(this.buffer).subarray(0, Math.min(this.buffer.byteLength, newLength)));
21347
+ this.buffer = newBuffer;
21348
+ this.uintarray = new Uint8Array(newBuffer);
21349
+ }
21350
+ }
21351
+ }
21333
21352
  var makeBufferWithMaxBytes = (initialData, maxBytes) => {
21334
21353
  const maxByteLength = Math.min(maxBytes, 2 ** 31);
21335
21354
  try {
21336
21355
  const buf = new ArrayBuffer(initialData.byteLength, {
21337
21356
  maxByteLength
21338
21357
  });
21339
- return buf;
21358
+ return new ResizableBuffer(buf);
21340
21359
  } catch (e) {
21341
21360
  if (e instanceof RangeError && maxBytes > 2 ** 27) {
21342
- return new ArrayBuffer(initialData.byteLength, {
21361
+ return new ResizableBuffer(new ArrayBuffer(initialData.byteLength, {
21343
21362
  maxByteLength: 2 ** 27
21344
- });
21363
+ }));
21345
21364
  }
21346
21365
  throw e;
21347
21366
  }
@@ -21349,17 +21368,17 @@ var makeBufferWithMaxBytes = (initialData, maxBytes) => {
21349
21368
  var bufferManager = ({
21350
21369
  initialData,
21351
21370
  maxBytes,
21352
- counter
21371
+ counter,
21372
+ logLevel
21353
21373
  }) => {
21354
21374
  const buf = makeBufferWithMaxBytes(initialData, maxBytes);
21355
- if (!buf.resize) {
21356
- throw new Error("`ArrayBuffer.resize` is not supported in this Runtime. On the server: Use at least Node.js 20 or Bun. In the browser: Chrome 111, Edge 111, Safari 16.4, Firefox 128, Opera 111");
21375
+ if (!buf.buffer.resize) {
21376
+ Log.warn(logLevel, "`ArrayBuffer.resize` is not supported in this Runtime. Using slow polyfill.");
21357
21377
  }
21358
- let uintArray = new Uint8Array(buf);
21359
- uintArray.set(initialData);
21360
- let view = new DataView(uintArray.buffer);
21378
+ buf.uintarray.set(initialData);
21379
+ let view = new DataView(buf.uintarray.buffer);
21361
21380
  const destroy = () => {
21362
- uintArray = new Uint8Array(0);
21381
+ buf.uintarray = new Uint8Array(0);
21363
21382
  buf.resize(0);
21364
21383
  };
21365
21384
  const flushBytesRead = (force, mode) => {
@@ -21371,11 +21390,11 @@ var bufferManager = ({
21371
21390
  return { bytesRemoved: 0, removedData: null };
21372
21391
  }
21373
21392
  counter.discardBytes(bytesToRemove);
21374
- const removedData = mode === "download" ? uintArray.slice(0, bytesToRemove) : null;
21375
- const newData = uintArray.slice(bytesToRemove);
21376
- uintArray.set(newData);
21393
+ const removedData = mode === "download" ? buf.uintarray.slice(0, bytesToRemove) : null;
21394
+ const newData = buf.uintarray.slice(bytesToRemove);
21395
+ buf.uintarray.set(newData);
21377
21396
  buf.resize(newData.byteLength);
21378
- view = new DataView(uintArray.buffer);
21397
+ view = new DataView(buf.uintarray.buffer);
21379
21398
  return { bytesRemoved: bytesToRemove, removedData };
21380
21399
  };
21381
21400
  const skipTo = (offset) => {
@@ -21391,7 +21410,7 @@ var bufferManager = ({
21391
21410
  counter.increment(offset - currentOffset);
21392
21411
  };
21393
21412
  const addData = (newData) => {
21394
- const oldLength = buf.byteLength;
21413
+ const oldLength = buf.buffer.byteLength;
21395
21414
  const newLength = oldLength + newData.byteLength;
21396
21415
  if (newLength < oldLength) {
21397
21416
  throw new Error("Cannot decrement size");
@@ -21400,22 +21419,22 @@ var bufferManager = ({
21400
21419
  throw new Error(`Exceeded maximum byte length ${maxBytes} with ${newLength}`);
21401
21420
  }
21402
21421
  buf.resize(newLength);
21403
- uintArray = new Uint8Array(buf);
21404
- uintArray.set(newData, oldLength);
21405
- view = new DataView(uintArray.buffer);
21422
+ buf.uintarray = new Uint8Array(buf.buffer);
21423
+ buf.uintarray.set(newData, oldLength);
21424
+ view = new DataView(buf.uintarray.buffer);
21406
21425
  };
21407
21426
  const replaceData = (newData, seekTo) => {
21408
21427
  buf.resize(newData.byteLength);
21409
- uintArray = new Uint8Array(buf);
21410
- uintArray.set(newData);
21411
- view = new DataView(uintArray.buffer);
21428
+ buf.uintarray = new Uint8Array(buf.buffer);
21429
+ buf.uintarray.set(newData);
21430
+ view = new DataView(buf.uintarray.buffer);
21412
21431
  counter.setDiscardedOffset(seekTo);
21413
21432
  counter.decrement(counter.getOffset());
21414
21433
  counter.increment(seekTo);
21415
21434
  };
21416
21435
  return {
21417
- view,
21418
- uintArray,
21436
+ getView: () => view,
21437
+ getUint8Array: () => buf.uintarray,
21419
21438
  destroy,
21420
21439
  addData,
21421
21440
  skipTo,
@@ -21450,17 +21469,21 @@ var makeOffsetCounter = (initial) => {
21450
21469
  }
21451
21470
  };
21452
21471
  };
21453
- var getArrayBufferIterator = (initialData, maxBytes) => {
21472
+ var getArrayBufferIterator = ({
21473
+ initialData,
21474
+ maxBytes,
21475
+ logLevel
21476
+ }) => {
21454
21477
  const counter = makeOffsetCounter(0);
21455
21478
  const {
21456
- uintArray,
21457
- view,
21479
+ getUint8Array,
21480
+ getView,
21458
21481
  addData,
21459
21482
  destroy,
21460
21483
  removeBytesRead,
21461
21484
  skipTo,
21462
21485
  replaceData
21463
- } = bufferManager({ initialData, maxBytes, counter });
21486
+ } = bufferManager({ initialData, maxBytes, counter, logLevel });
21464
21487
  const startCheckpoint = () => {
21465
21488
  const checkpoint = counter.getOffset();
21466
21489
  return {
@@ -21470,7 +21493,7 @@ var getArrayBufferIterator = (initialData, maxBytes) => {
21470
21493
  };
21471
21494
  };
21472
21495
  const getSlice = (amount) => {
21473
- const value = uintArray.slice(counter.getDiscardedOffset(), counter.getDiscardedOffset() + amount);
21496
+ const value = getUint8Array().slice(counter.getDiscardedOffset(), counter.getDiscardedOffset() + amount);
21474
21497
  counter.increment(value.length);
21475
21498
  return value;
21476
21499
  };
@@ -21502,7 +21525,7 @@ var getArrayBufferIterator = (initialData, maxBytes) => {
21502
21525
  return str;
21503
21526
  };
21504
21527
  const getUint8 = () => {
21505
- const val = view.getUint8(counter.getDiscardedOffset());
21528
+ const val = getView().getUint8(counter.getDiscardedOffset());
21506
21529
  counter.increment(1);
21507
21530
  return val;
21508
21531
  };
@@ -21547,22 +21570,22 @@ var getArrayBufferIterator = (initialData, maxBytes) => {
21547
21570
  return lastInt;
21548
21571
  };
21549
21572
  const getUint32 = () => {
21550
- const val = view.getUint32(counter.getDiscardedOffset());
21573
+ const val = getView().getUint32(counter.getDiscardedOffset());
21551
21574
  counter.increment(4);
21552
21575
  return val;
21553
21576
  };
21554
21577
  const getSyncSafeInt32 = () => {
21555
- const val = view.getUint32(counter.getDiscardedOffset());
21578
+ const val = getView().getUint32(counter.getDiscardedOffset());
21556
21579
  counter.increment(4);
21557
21580
  return (val & 2130706432) >> 3 | (val & 8323072) >> 2 | (val & 32512) >> 1 | val & 127;
21558
21581
  };
21559
21582
  const getUint64 = (littleEndian = false) => {
21560
- const val = view.getBigUint64(counter.getDiscardedOffset(), littleEndian);
21583
+ const val = getView().getBigUint64(counter.getDiscardedOffset(), littleEndian);
21561
21584
  counter.increment(8);
21562
21585
  return val;
21563
21586
  };
21564
21587
  const getInt64 = (littleEndian = false) => {
21565
- const val = view.getBigInt64(counter.getDiscardedOffset(), littleEndian);
21588
+ const val = getView().getBigInt64(counter.getDiscardedOffset(), littleEndian);
21566
21589
  counter.increment(8);
21567
21590
  return val;
21568
21591
  };
@@ -21579,22 +21602,22 @@ var getArrayBufferIterator = (initialData, maxBytes) => {
21579
21602
  };
21580
21603
  };
21581
21604
  const getUint32Le = () => {
21582
- const val = view.getUint32(counter.getDiscardedOffset(), true);
21605
+ const val = getView().getUint32(counter.getDiscardedOffset(), true);
21583
21606
  counter.increment(4);
21584
21607
  return val;
21585
21608
  };
21586
21609
  const getInt32Le = () => {
21587
- const val = view.getInt32(counter.getDiscardedOffset(), true);
21610
+ const val = getView().getInt32(counter.getDiscardedOffset(), true);
21588
21611
  counter.increment(4);
21589
21612
  return val;
21590
21613
  };
21591
21614
  const getInt32 = () => {
21592
- const val = view.getInt32(counter.getDiscardedOffset());
21615
+ const val = getView().getInt32(counter.getDiscardedOffset());
21593
21616
  counter.increment(4);
21594
21617
  return val;
21595
21618
  };
21596
21619
  const bytesRemaining = () => {
21597
- return uintArray.byteLength - counter.getDiscardedOffset();
21620
+ return getUint8Array().byteLength - counter.getDiscardedOffset();
21598
21621
  };
21599
21622
  const readExpGolomb = () => {
21600
21623
  if (!bitReadingMode) {
@@ -21709,7 +21732,7 @@ var getArrayBufferIterator = (initialData, maxBytes) => {
21709
21732
  return new TextDecoder().decode(atom);
21710
21733
  },
21711
21734
  detectFileType: () => {
21712
- return detectFileType(uintArray);
21735
+ return detectFileType(getUint8Array());
21713
21736
  },
21714
21737
  getPaddedFourByteNumber,
21715
21738
  getMatroskaSegmentId: () => {
@@ -21787,36 +21810,36 @@ var getArrayBufferIterator = (initialData, maxBytes) => {
21787
21810
  return actualValue;
21788
21811
  },
21789
21812
  getInt8: () => {
21790
- const val = view.getInt8(counter.getDiscardedOffset());
21813
+ const val = getView().getInt8(counter.getDiscardedOffset());
21791
21814
  counter.increment(1);
21792
21815
  return val;
21793
21816
  },
21794
21817
  getUint16: () => {
21795
- const val = view.getUint16(counter.getDiscardedOffset());
21818
+ const val = getView().getUint16(counter.getDiscardedOffset());
21796
21819
  counter.increment(2);
21797
21820
  return val;
21798
21821
  },
21799
21822
  getUint16Le: () => {
21800
- const val = view.getUint16(counter.getDiscardedOffset(), true);
21823
+ const val = getView().getUint16(counter.getDiscardedOffset(), true);
21801
21824
  counter.increment(2);
21802
21825
  return val;
21803
21826
  },
21804
21827
  getUint24: () => {
21805
- const val1 = view.getUint8(counter.getDiscardedOffset());
21806
- const val2 = view.getUint8(counter.getDiscardedOffset() + 1);
21807
- const val3 = view.getUint8(counter.getDiscardedOffset() + 2);
21828
+ const val1 = getView().getUint8(counter.getDiscardedOffset());
21829
+ const val2 = getView().getUint8(counter.getDiscardedOffset() + 1);
21830
+ const val3 = getView().getUint8(counter.getDiscardedOffset() + 2);
21808
21831
  counter.increment(3);
21809
21832
  return val1 << 16 | val2 << 8 | val3;
21810
21833
  },
21811
21834
  getInt24: () => {
21812
- const val1 = view.getInt8(counter.getDiscardedOffset());
21813
- const val2 = view.getUint8(counter.getDiscardedOffset() + 1);
21814
- const val3 = view.getUint8(counter.getDiscardedOffset() + 2);
21835
+ const val1 = getView().getInt8(counter.getDiscardedOffset());
21836
+ const val2 = getView().getUint8(counter.getDiscardedOffset() + 1);
21837
+ const val3 = getView().getUint8(counter.getDiscardedOffset() + 2);
21815
21838
  counter.increment(3);
21816
21839
  return val1 << 16 | val2 << 8 | val3;
21817
21840
  },
21818
21841
  getInt16: () => {
21819
- const val = view.getInt16(counter.getDiscardedOffset());
21842
+ const val = getView().getInt16(counter.getDiscardedOffset());
21820
21843
  counter.increment(2);
21821
21844
  return val;
21822
21845
  },
@@ -21864,13 +21887,13 @@ var getArrayBufferIterator = (initialData, maxBytes) => {
21864
21887
  };
21865
21888
  },
21866
21889
  getFloat64: () => {
21867
- const val = view.getFloat64(counter.getDiscardedOffset());
21890
+ const val = getView().getFloat64(counter.getDiscardedOffset());
21868
21891
  counter.increment(8);
21869
21892
  return val;
21870
21893
  },
21871
21894
  readUntilNullTerminator,
21872
21895
  getFloat32: () => {
21873
- const val = view.getFloat32(counter.getDiscardedOffset());
21896
+ const val = getView().getFloat32(counter.getDiscardedOffset());
21874
21897
  counter.increment(4);
21875
21898
  return val;
21876
21899
  },
@@ -21907,10 +21930,18 @@ var parseMvhd = ({
21907
21930
  const durationInUnits = version === 1 ? iterator.getUint64() : iterator.getUint32();
21908
21931
  const durationInSeconds = Number(durationInUnits) / timeScale;
21909
21932
  const rateArray = iterator.getSlice(4);
21910
- const rateView = getArrayBufferIterator(rateArray, rateArray.length);
21933
+ const rateView = getArrayBufferIterator({
21934
+ initialData: rateArray,
21935
+ maxBytes: rateArray.length,
21936
+ logLevel: "error"
21937
+ });
21911
21938
  const rate = rateView.getInt8() * 10 + rateView.getInt8() + rateView.getInt8() * 0.1 + rateView.getInt8() * 0.01;
21912
21939
  const volumeArray = iterator.getSlice(2);
21913
- const volumeView = getArrayBufferIterator(volumeArray, volumeArray.length);
21940
+ const volumeView = getArrayBufferIterator({
21941
+ initialData: volumeArray,
21942
+ maxBytes: volumeArray.length,
21943
+ logLevel: "error"
21944
+ });
21914
21945
  const volume = volumeView.getInt8() + volumeView.getInt8() * 0.1;
21915
21946
  iterator.discard(2);
21916
21947
  iterator.discard(4);
@@ -22721,7 +22752,11 @@ var mediaParserAdvancedColorToWebCodecsColor = (color2) => {
22721
22752
  };
22722
22753
  };
22723
22754
  var parseAv1PrivateData = (data, colrAtom) => {
22724
- const iterator = getArrayBufferIterator(data, data.byteLength);
22755
+ const iterator = getArrayBufferIterator({
22756
+ initialData: data,
22757
+ maxBytes: data.byteLength,
22758
+ logLevel: "error"
22759
+ });
22725
22760
  iterator.startReadingBits();
22726
22761
  if (iterator.getBits(1) !== 1) {
22727
22762
  iterator.destroy();
@@ -23096,7 +23131,11 @@ var getAudioDescription = (track) => {
23096
23131
  throw new Error("Error parsing vorbis codec private");
23097
23132
  }
23098
23133
  const vorbisBooks = privateData.slice(offset);
23099
- const bufferIterator = getArrayBufferIterator(vorbisInfo.slice(0), vorbisInfo.length);
23134
+ const bufferIterator = getArrayBufferIterator({
23135
+ initialData: vorbisInfo.slice(0),
23136
+ maxBytes: vorbisInfo.length,
23137
+ logLevel: "error"
23138
+ });
23100
23139
  bufferIterator.getUint8();
23101
23140
  const vorbis = bufferIterator.getByteString(6, false);
23102
23141
  if (vorbis !== "vorbis") {
@@ -23193,7 +23232,11 @@ var getMatroskaVideoCodecString = ({
23193
23232
  }
23194
23233
  if (codec.value === "V_MPEGH/ISO/HEVC") {
23195
23234
  const priv = getPrivateData(track);
23196
- const iterator = getArrayBufferIterator(priv, priv.length);
23235
+ const iterator = getArrayBufferIterator({
23236
+ initialData: priv,
23237
+ maxBytes: priv.length,
23238
+ logLevel: "error"
23239
+ });
23197
23240
  return "hvc1." + getHvc1CodecString(iterator);
23198
23241
  }
23199
23242
  if (codec.value === "V_AV1") {
@@ -23265,7 +23308,11 @@ var getMatroskaAudioCodecString = (track) => {
23265
23308
  }
23266
23309
  if (codec.value === "A_AAC") {
23267
23310
  const priv = getPrivateData(track);
23268
- const iterator = getArrayBufferIterator(priv, priv.length);
23311
+ const iterator = getArrayBufferIterator({
23312
+ initialData: priv,
23313
+ maxBytes: priv.length,
23314
+ logLevel: "error"
23315
+ });
23269
23316
  iterator.startReadingBits();
23270
23317
  const profile = iterator.getBits(5);
23271
23318
  iterator.stopReadingBits();
@@ -24652,7 +24699,11 @@ var parseAvcc = ({
24652
24699
  };
24653
24700
  };
24654
24701
  var parseIccProfile = (data) => {
24655
- const iterator = getArrayBufferIterator(data, data.length);
24702
+ const iterator = getArrayBufferIterator({
24703
+ initialData: data,
24704
+ maxBytes: data.length,
24705
+ logLevel: "error"
24706
+ });
24656
24707
  const size4 = iterator.getUint32();
24657
24708
  if (size4 !== data.length) {
24658
24709
  throw new Error("Invalid ICC profile size");
@@ -24697,7 +24748,11 @@ var parseIccProfile = (data) => {
24697
24748
  for (const entry of entries) {
24698
24749
  const found = data.slice(entry.offset, entry.offset + entry.size);
24699
24750
  if (entry.tag === "rXYZ" || entry.tag === "gXYZ" || entry.tag === "bXYZ" || entry.tag === "wtpt") {
24700
- const it = getArrayBufferIterator(found, found.length);
24751
+ const it = getArrayBufferIterator({
24752
+ initialData: found,
24753
+ maxBytes: found.length,
24754
+ logLevel: "error"
24755
+ });
24701
24756
  it.discard(4);
24702
24757
  const x = it.getInt32() / 65536;
24703
24758
  const y = it.getInt32() / 65536;
@@ -26212,7 +26267,11 @@ var findEnd = (buffer) => {
26212
26267
  return null;
26213
26268
  };
26214
26269
  var inspect = (buffer, avcState) => {
26215
- const iterator = getArrayBufferIterator(buffer, buffer.byteLength);
26270
+ const iterator = getArrayBufferIterator({
26271
+ initialData: buffer,
26272
+ maxBytes: buffer.byteLength,
26273
+ logLevel: "error"
26274
+ });
26216
26275
  iterator.startReadingBits();
26217
26276
  iterator.getBits(1);
26218
26277
  const nal_ref_idc = iterator.getBits(2);
@@ -26406,7 +26465,11 @@ var getSampleFromBlock = async ({
26406
26465
  onVideoTrack,
26407
26466
  avcState
26408
26467
  }) => {
26409
- const iterator = getArrayBufferIterator(ebml.value, ebml.value.length);
26468
+ const iterator = getArrayBufferIterator({
26469
+ initialData: ebml.value,
26470
+ maxBytes: ebml.value.length,
26471
+ logLevel: "error"
26472
+ });
26410
26473
  const trackNumber2 = iterator.getVint();
26411
26474
  if (trackNumber2 === null) {
26412
26475
  throw new Error("Not enough data to get track number, should not happen");
@@ -30772,7 +30835,11 @@ var emitSample = async ({
30772
30835
  data,
30773
30836
  offset
30774
30837
  }) => {
30775
- const iterator = getArrayBufferIterator(data, data.length);
30838
+ const iterator = getArrayBufferIterator({
30839
+ initialData: data,
30840
+ maxBytes: data.length,
30841
+ logLevel: "error"
30842
+ });
30776
30843
  const parsed = parseFrameHeader({ iterator, state });
30777
30844
  if (!parsed) {
30778
30845
  throw new Error("Invalid CRC");
@@ -31305,7 +31372,11 @@ var getMoovAtom = async ({
31305
31372
  });
31306
31373
  return null;
31307
31374
  } : null;
31308
- const iterator = getArrayBufferIterator(new Uint8Array([]), state.contentLength - endOfMdat);
31375
+ const iterator = getArrayBufferIterator({
31376
+ initialData: new Uint8Array([]),
31377
+ maxBytes: state.contentLength - endOfMdat,
31378
+ logLevel: "error"
31379
+ });
31309
31380
  while (true) {
31310
31381
  const result = await reader.reader.read();
31311
31382
  if (result.value) {
@@ -34205,7 +34276,11 @@ var readAdtsHeader = (buffer) => {
34205
34276
  if (buffer.byteLength < 9) {
34206
34277
  return null;
34207
34278
  }
34208
- const iterator = getArrayBufferIterator(buffer, buffer.byteLength);
34279
+ const iterator = getArrayBufferIterator({
34280
+ initialData: buffer,
34281
+ maxBytes: buffer.byteLength,
34282
+ logLevel: "error"
34283
+ });
34209
34284
  iterator.startReadingBits();
34210
34285
  const bits = iterator.getBits(12);
34211
34286
  if (bits !== 4095) {
@@ -34748,6 +34823,64 @@ var parseData = ({
34748
34823
  }
34749
34824
  return Promise.resolve(null);
34750
34825
  };
34826
+ var parseFact = ({
34827
+ state
34828
+ }) => {
34829
+ const { iterator } = state;
34830
+ const size4 = iterator.getUint32Le();
34831
+ if (size4 !== 4) {
34832
+ throw new Error(`Expected size 4 for fact box, got ${size4}`);
34833
+ }
34834
+ const numberOfSamplesPerChannel = iterator.getUint32Le();
34835
+ const factBox = {
34836
+ type: "wav-fact",
34837
+ numberOfSamplesPerChannel
34838
+ };
34839
+ state.structure.getWavStructure().boxes.push(factBox);
34840
+ return Promise.resolve(null);
34841
+ };
34842
+ var WMMEDIASUBTYPE_PCM = [
34843
+ 1,
34844
+ 0,
34845
+ 0,
34846
+ 0,
34847
+ 0,
34848
+ 0,
34849
+ 16,
34850
+ 0,
34851
+ 128,
34852
+ 0,
34853
+ 0,
34854
+ 170,
34855
+ 0,
34856
+ 56,
34857
+ 155,
34858
+ 113
34859
+ ];
34860
+ var KSDATAFORMAT_SUBTYPE_IEEE_FLOAT = [
34861
+ 3,
34862
+ 0,
34863
+ 0,
34864
+ 0,
34865
+ 0,
34866
+ 0,
34867
+ 16,
34868
+ 0,
34869
+ 128,
34870
+ 0,
34871
+ 0,
34872
+ 170,
34873
+ 0,
34874
+ 56,
34875
+ 155,
34876
+ 113
34877
+ ];
34878
+ var subformatIsPcm = (subformat) => {
34879
+ return subformat.every((value, index) => value === WMMEDIASUBTYPE_PCM[index]);
34880
+ };
34881
+ var subformatIsIeeeFloat = (subformat) => {
34882
+ return subformat.every((value, index) => value === KSDATAFORMAT_SUBTYPE_IEEE_FLOAT[index]);
34883
+ };
34751
34884
  var CHANNELS = {
34752
34885
  0: "Front Left",
34753
34886
  1: "Front Right",
@@ -34821,10 +34954,8 @@ var parseFmt = async ({
34821
34954
  if (subFormat.length !== 16) {
34822
34955
  throw new Error(`Only supporting WAVE with PCM audio format, but got ${subFormat.length}`);
34823
34956
  }
34824
- for (let i = 0;i < 16; i++) {
34825
- if (subFormat[i] !== [1, 0, 0, 0, 0, 0, 16, 0, 128, 0, 0, 170, 0, 56, 155, 113][i]) {
34826
- throw new Error(`Only supporting WAVE with PCM audio format, but got subformat ${subFormat[i]}`);
34827
- }
34957
+ if (subformatIsPcm(subFormat)) {} else if (subformatIsIeeeFloat(subFormat)) {} else {
34958
+ throw new Error(`Unsupported subformat: ${subFormat}`);
34828
34959
  }
34829
34960
  const channels2 = getChannelsFromMask(channelMask);
34830
34961
  wavHeader.numberOfChannels = channels2.length;
@@ -34984,6 +35115,9 @@ var parseWav = (state) => {
34984
35115
  if (type === "JUNK" || type === "FLLR") {
34985
35116
  return parseJunk({ state });
34986
35117
  }
35118
+ if (type === "fact") {
35119
+ return parseFact({ state });
35120
+ }
34987
35121
  if (type === "\x00") {
34988
35122
  return Promise.resolve(null);
34989
35123
  }
@@ -35516,8 +35650,8 @@ var warnIfRemotionLicenseNotAcknowledged = ({
35516
35650
  return;
35517
35651
  }
35518
35652
  warningShown = true;
35519
- Log.warn(logLevel, "Note: Some companies are required to obtain a license to use @remotion/media-parser. See: https://remotion.dev/license");
35520
- Log.warn(logLevel, `Pass \`acknowledgeRemotionLicense: true\` to \`${apiName}\` function to make this message disappear.`);
35653
+ Log.warn(logLevel, `Note: Some companies are required to obtain a license to use @remotion/media-parser. See: https://remotion.dev/license
35654
+ Pass \`acknowledgeRemotionLicense: true\` to \`${apiName}\` function to make this message disappear.`);
35521
35655
  };
35522
35656
  var setSeekingHints = ({
35523
35657
  hints,
@@ -35780,7 +35914,11 @@ var getMfraAtom = async ({
35780
35914
  logLevel,
35781
35915
  prefetchCache
35782
35916
  });
35783
- const iterator = getArrayBufferIterator(new Uint8Array, parentSize);
35917
+ const iterator = getArrayBufferIterator({
35918
+ initialData: new Uint8Array,
35919
+ maxBytes: parentSize,
35920
+ logLevel: "error"
35921
+ });
35784
35922
  while (true) {
35785
35923
  const res = await result.reader.reader.read();
35786
35924
  if (res.value) {
@@ -35812,7 +35950,11 @@ var getMfroAtom = async ({
35812
35950
  return null;
35813
35951
  }
35814
35952
  result.reader.abort();
35815
- const iterator = getArrayBufferIterator(value, value.length);
35953
+ const iterator = getArrayBufferIterator({
35954
+ initialData: value,
35955
+ maxBytes: value.length,
35956
+ logLevel: "error"
35957
+ });
35816
35958
  const size4 = iterator.getUint32();
35817
35959
  if (size4 !== 16) {
35818
35960
  iterator.destroy();
@@ -36247,7 +36389,11 @@ var fetchWebmCues = async ({
36247
36389
  return null;
36248
36390
  }
36249
36391
  result.reader.abort();
36250
- const iterator = getArrayBufferIterator(value, value.length);
36392
+ const iterator = getArrayBufferIterator({
36393
+ initialData: value,
36394
+ maxBytes: value.length,
36395
+ logLevel: "error"
36396
+ });
36251
36397
  const segment = await expectSegment({
36252
36398
  iterator,
36253
36399
  logLevel,
@@ -36504,7 +36650,11 @@ var fetchIdx1 = async ({
36504
36650
  if (result.contentLength === null) {
36505
36651
  throw new Error("Content length is null");
36506
36652
  }
36507
- const iterator = getArrayBufferIterator(new Uint8Array, contentLength - position + 1);
36653
+ const iterator = getArrayBufferIterator({
36654
+ initialData: new Uint8Array,
36655
+ maxBytes: contentLength - position + 1,
36656
+ logLevel: "error"
36657
+ });
36508
36658
  while (true) {
36509
36659
  const res = await result.reader.reader.read();
36510
36660
  if (res.value) {
@@ -37099,7 +37249,11 @@ var makeParserState = ({
37099
37249
  }) => {
37100
37250
  let skippedBytes = 0;
37101
37251
  const returnValue = {};
37102
- const iterator = getArrayBufferIterator(new Uint8Array([]), contentLength);
37252
+ const iterator = getArrayBufferIterator({
37253
+ initialData: new Uint8Array([]),
37254
+ maxBytes: contentLength,
37255
+ logLevel
37256
+ });
37103
37257
  const increaseSkippedBytes = (bytes) => {
37104
37258
  skippedBytes += bytes;
37105
37259
  };