@remotion/media 4.0.482 → 4.0.484

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 +42 -24
  2. package/package.json +4 -3
@@ -351,9 +351,14 @@ class StaleWaiterError extends Error {
351
351
  var CONCURRENCY = 1;
352
352
  var waiters = [];
353
353
  var running = 0;
354
+ var runningEntry = null;
354
355
  var processNext = () => {
355
356
  if (running >= CONCURRENCY) {
356
- return;
357
+ if (runningEntry?.waiter.getPriority() === null) {
358
+ runningEntry.cancel();
359
+ } else {
360
+ return;
361
+ }
357
362
  }
358
363
  const staleWaiters = [];
359
364
  for (let i = waiters.length - 1;i >= 0; i--) {
@@ -388,11 +393,37 @@ var processNext = () => {
388
393
  }
389
394
  const [next] = waiters.splice(bestIndex, 1);
390
395
  running++;
396
+ let settled = false;
397
+ let cancelled = false;
398
+ const entry = {
399
+ waiter: next,
400
+ cancel: () => {
401
+ cancelled = true;
402
+ entry.settle();
403
+ },
404
+ settle: () => {
405
+ if (settled) {
406
+ return;
407
+ }
408
+ settled = true;
409
+ running--;
410
+ if (runningEntry === entry) {
411
+ runningEntry = null;
412
+ }
413
+ }
414
+ };
415
+ runningEntry = entry;
391
416
  next.fn().then((value) => {
392
- running--;
417
+ entry.settle();
418
+ if (cancelled) {
419
+ return;
420
+ }
393
421
  next.onDone(value, processNext);
394
422
  }, (err) => {
395
- running--;
423
+ entry.settle();
424
+ if (cancelled) {
425
+ return;
426
+ }
396
427
  next.onError(err);
397
428
  });
398
429
  };
@@ -4937,32 +4968,19 @@ var VideoForPreviewAssertedShowing = ({
4937
4968
  };
4938
4969
  }, [_experimentalInitiallyDrawCachedFrame, src]);
4939
4970
  useEffect2(() => {
4940
- if (!sharedAudioContext)
4941
- return;
4942
- if (!sharedAudioContext.audioContext)
4943
- return;
4944
- const {
4945
- audioContext,
4946
- gainNode,
4947
- audioSyncAnchor,
4948
- scheduleAudioNode,
4949
- unscheduleAudioNode
4950
- } = sharedAudioContext;
4951
- if (!gainNode) {
4952
- return;
4953
- }
4971
+ const sharedAudioContextForMediaPlayer = sharedAudioContext?.audioContext && sharedAudioContext.gainNode ? {
4972
+ audioContext: sharedAudioContext.audioContext,
4973
+ gainNode: sharedAudioContext.gainNode,
4974
+ audioSyncAnchor: sharedAudioContext.audioSyncAnchor,
4975
+ scheduleAudioNode: sharedAudioContext.scheduleAudioNode,
4976
+ unscheduleAudioNode: sharedAudioContext.unscheduleAudioNode
4977
+ } : null;
4954
4978
  try {
4955
4979
  const player = new MediaPlayer({
4956
4980
  canvas: canvasRef.current,
4957
4981
  src: preloadedSrc,
4958
4982
  logLevel,
4959
- sharedAudioContext: {
4960
- audioContext,
4961
- gainNode,
4962
- audioSyncAnchor,
4963
- scheduleAudioNode,
4964
- unscheduleAudioNode
4965
- },
4983
+ sharedAudioContext: sharedAudioContextForMediaPlayer,
4966
4984
  loop,
4967
4985
  trimAfter: initialTrimAfterRef.current,
4968
4986
  trimBefore: initialTrimBeforeRef.current,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/media",
3
- "version": "4.0.482",
3
+ "version": "4.0.484",
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.47.0",
26
- "remotion": "4.0.482",
26
+ "remotion": "4.0.484",
27
27
  "zod": "4.3.6"
28
28
  },
29
29
  "peerDependencies": {
@@ -31,7 +31,8 @@
31
31
  "react-dom": ">=16.8.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@remotion/eslint-config-internal": "4.0.482",
34
+ "@remotion/eslint-config-internal": "4.0.484",
35
+ "@remotion/player": "4.0.484",
35
36
  "@vitest/browser-webdriverio": "4.0.9",
36
37
  "eslint": "9.19.0",
37
38
  "react": "19.2.3",