@remotion/media 4.0.458 → 4.0.460

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 (2) hide show
  1. package/dist/esm/index.mjs +19 -5
  2. package/package.json +3 -3
@@ -444,6 +444,12 @@ var audioIteratorManager = ({
444
444
  let audioIteratorsCreated = 0;
445
445
  let totalAudioScheduledInSeconds = 0;
446
446
  let currentDelayHandle = null;
447
+ const unblockCurrentDelayHandle = () => {
448
+ if (currentDelayHandle) {
449
+ currentDelayHandle.unblock();
450
+ currentDelayHandle = null;
451
+ }
452
+ };
447
453
  const pendingScheduleWaiters = [];
448
454
  const notifyNodeScheduled = () => {
449
455
  for (let i = pendingScheduleWaiters.length - 1;i >= 0; i--) {
@@ -544,6 +550,7 @@ var audioIteratorManager = ({
544
550
  waitForTurn({
545
551
  getPriority: () => {
546
552
  if (iterator.isDestroyed()) {
553
+ onDestroyed();
547
554
  return null;
548
555
  }
549
556
  const guessedNextTimestamp = iterator.guessNextTimestamp();
@@ -596,9 +603,11 @@ var audioIteratorManager = ({
596
603
  },
597
604
  onError: (e) => {
598
605
  if (e instanceof InputDisposedError) {
606
+ onDestroyed();
599
607
  return;
600
608
  }
601
609
  if (e instanceof StaleWaiterError) {
610
+ onDestroyed();
602
611
  return;
603
612
  }
604
613
  throw e;
@@ -624,6 +633,7 @@ var audioIteratorManager = ({
624
633
  return;
625
634
  }
626
635
  audioBufferIterator?.destroy();
636
+ unblockCurrentDelayHandle();
627
637
  const delayHandle = delayPlaybackHandleIfNotPremounting();
628
638
  currentDelayHandle = delayHandle;
629
639
  const iterator = makeAudioIterator({
@@ -638,6 +648,7 @@ var audioIteratorManager = ({
638
648
  });
639
649
  audioIteratorsCreated++;
640
650
  audioBufferIterator = iterator;
651
+ let chunksScheduled = 0;
641
652
  proceedScheduling({
642
653
  iterator,
643
654
  nonce,
@@ -645,7 +656,10 @@ var audioIteratorManager = ({
645
656
  playbackRate,
646
657
  scheduleAudioNode,
647
658
  onScheduled: () => {
648
- delayHandle.unblock();
659
+ chunksScheduled++;
660
+ if (chunksScheduled === 6) {
661
+ delayHandle.unblock();
662
+ }
649
663
  },
650
664
  onDestroyed: () => {
651
665
  delayHandle.unblock();
@@ -673,6 +687,9 @@ var audioIteratorManager = ({
673
687
  fps,
674
688
  getAudioContextCurrentTimeMockedInTest
675
689
  }) => {
690
+ if (nonce.isStale()) {
691
+ return;
692
+ }
676
693
  if (currentSeek.time === newTime && currentSeek.playbackRate === playbackRate && currentSeek.trimBefore === trimBefore && currentSeek.trimAfter === trimAfter && currentSeek.sequenceOffset === sequenceOffset && currentSeek.sequenceDurationInFrames === sequenceDurationInFrames && currentSeek.loop === loop && currentSeek.fps === fps) {
677
694
  return;
678
695
  }
@@ -724,10 +741,7 @@ var audioIteratorManager = ({
724
741
  destroyIterator: () => {
725
742
  audioBufferIterator?.destroy();
726
743
  audioBufferIterator = null;
727
- if (currentDelayHandle) {
728
- currentDelayHandle.unblock();
729
- currentDelayHandle = null;
730
- }
744
+ unblockCurrentDelayHandle();
731
745
  },
732
746
  seek,
733
747
  getAudioIteratorsCreated: () => audioIteratorsCreated,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/media",
3
- "version": "4.0.458",
3
+ "version": "4.0.460",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "module": "dist/esm/index.mjs",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "mediabunny": "1.42.0",
26
- "remotion": "4.0.458",
26
+ "remotion": "4.0.460",
27
27
  "zod": "4.3.6"
28
28
  },
29
29
  "peerDependencies": {
@@ -31,7 +31,7 @@
31
31
  "react-dom": ">=16.8.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@remotion/eslint-config-internal": "4.0.458",
34
+ "@remotion/eslint-config-internal": "4.0.460",
35
35
  "@vitest/browser-webdriverio": "4.0.9",
36
36
  "eslint": "9.19.0",
37
37
  "react": "19.2.3",