@remotion/promo-pages 4.0.540 → 4.0.541

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.
package/dist/experts.js CHANGED
@@ -1347,7 +1347,7 @@ var setComponentIdentityResolver = (resolver) => {
1347
1347
  var resolveComponentIdentity = (component) => {
1348
1348
  return componentIdentityResolver?.(component) ?? component;
1349
1349
  };
1350
- var getSingleChildComponent = (children) => {
1350
+ var getSingleChildElement = (children) => {
1351
1351
  const mountedChildren = React4.Children.toArray(children);
1352
1352
  if (mountedChildren.length !== 1) {
1353
1353
  return null;
@@ -1357,12 +1357,19 @@ var getSingleChildComponent = (children) => {
1357
1357
  return null;
1358
1358
  }
1359
1359
  if (child.type === IsNotInsideSeriesProvider) {
1360
- return getSingleChildComponent(child.props.children);
1360
+ return getSingleChildElement(child.props.children);
1361
1361
  }
1362
1362
  if (typeof child.type !== "function" && typeof child.type !== "object") {
1363
1363
  return null;
1364
1364
  }
1365
- return resolveComponentIdentity(child.type);
1365
+ return child;
1366
+ };
1367
+ var getSingleChildComponent = (children) => {
1368
+ const child = getSingleChildElement(children);
1369
+ return child === null ? null : resolveComponentIdentity(child.type);
1370
+ };
1371
+ var getSingleChildProps = (children) => {
1372
+ return getSingleChildElement(children)?.props ?? null;
1366
1373
  };
1367
1374
  var CompositionRegistryFallbackContext = createContext5(null);
1368
1375
  var useIsomorphicLayoutEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
@@ -2770,9 +2777,11 @@ var makeOriginalSourceStack = ({
2770
2777
  fileName,
2771
2778
  lineNumber,
2772
2779
  columnNumber
2773
- }) => {
2774
- return `Error
2780
+ }, compiledSourceHash = null) => {
2781
+ const location = `Error
2775
2782
  at remotionOriginalSource (${ORIGINAL_SOURCE_STACK_PREFIX}${encodeURIComponent(fileName)}:${lineNumber}:${columnNumber})`;
2783
+ return compiledSourceHash === null ? location : `${location}
2784
+ at remotionCompiledSource (remotion-source-sha256:${compiledSourceHash})`;
2776
2785
  };
2777
2786
  var parseOriginalSourceStack = (stack) => {
2778
2787
  if (!stack) {
@@ -2802,7 +2811,7 @@ var setStackForControls = (controls, stack) => {
2802
2811
  var getStackForControls = (controls) => {
2803
2812
  return stacksByControls.get(controls) ?? null;
2804
2813
  };
2805
- var VERSION = "4.0.540";
2814
+ var VERSION = "4.0.541";
2806
2815
  var checkMultipleRemotionVersions = () => {
2807
2816
  if (typeof globalThis === "undefined") {
2808
2817
  return;
@@ -6558,7 +6567,7 @@ function hslToRgb(h, s, l) {
6558
6567
  return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;
6559
6568
  }
6560
6569
  function parse255(str) {
6561
- const int = Number.parseInt(str, 10);
6570
+ const int = Math.round(Number.parseFloat(str));
6562
6571
  if (int < 0) {
6563
6572
  return 0;
6564
6573
  }
@@ -8310,6 +8319,7 @@ var setSequenceWrapperRef = (ref, wrapperRef, node) => {
8310
8319
  ref.current = node;
8311
8320
  }
8312
8321
  };
8322
+ var getSingleChildPropsFromRef = (childrenRef) => getSingleChildProps(childrenRef.current);
8313
8323
  var RegularSequenceContentRefForwardingFunction = ({
8314
8324
  timing,
8315
8325
  from = 0,
@@ -8330,6 +8340,7 @@ var RegularSequenceContentRefForwardingFunction = ({
8330
8340
  _remotionInternalLoopDisplay: loopDisplay,
8331
8341
  _remotionInternalStack: stack,
8332
8342
  _remotionInternalSingleChildComponent: childComponentOverride,
8343
+ _remotionInternalSingleChildren: authoredChildrenOverride,
8333
8344
  _remotionInternalDocumentationLink: documentationLink,
8334
8345
  _remotionInternalPremountDisplay: premountDisplay,
8335
8346
  _remotionInternalPostmountDisplay: postmountDisplay,
@@ -8380,6 +8391,7 @@ var RegularSequenceContentRefForwardingFunction = ({
8380
8391
  loopPeriod,
8381
8392
  loopIteration,
8382
8393
  contentVisible,
8394
+ inheritedFrozenFrame,
8383
8395
  currentFrameRef
8384
8396
  } = timing;
8385
8397
  if (typeof contentDurationInFrames !== "number") {
@@ -8504,7 +8516,13 @@ var RegularSequenceContentRefForwardingFunction = ({
8504
8516
  }, [name]);
8505
8517
  const resolvedDocumentationLink = documentationLink ?? "https://www.remotion.dev/docs/sequence";
8506
8518
  const isInsideSeries = useContext28(IsInsideSeriesContext);
8507
- const singleChildComponent = useMemo22(() => childComponentOverride === undefined ? getSingleChildComponent(children) : childComponentOverride, [children, childComponentOverride]);
8519
+ const authoredChildren = authoredChildrenOverride === undefined ? children : authoredChildrenOverride;
8520
+ const singleChildComponent = useMemo22(() => childComponentOverride === undefined ? getSingleChildComponent(authoredChildren) : childComponentOverride, [authoredChildren, childComponentOverride]);
8521
+ const childrenRef = useRef8(authoredChildren);
8522
+ useLayoutEffect9(() => {
8523
+ childrenRef.current = authoredChildren;
8524
+ }, [authoredChildren]);
8525
+ const getRegisteredSingleChildProps = useMemo22(() => childComponentOverride === undefined ? getSingleChildPropsFromRef.bind(null, childrenRef) : null, [childComponentOverride]);
8508
8526
  const registrationStack = controls ? getStackForControls(controls) ?? stack ?? null : stack ?? null;
8509
8527
  const getStack = useMemo22(() => getSequenceStack.bind(null, registrationStack), [registrationStack]);
8510
8528
  const registeredFrozenFrame = typeof freeze === "number" ? freeze : null;
@@ -8513,7 +8531,8 @@ var RegularSequenceContentRefForwardingFunction = ({
8513
8531
  const parentCumulatedNegativeFrom = parentSequence?.cumulatedNegativeFrom ?? 0;
8514
8532
  const startMediaFrom = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom - cumulatedNegativeFrom : null;
8515
8533
  const mediaFrameAtSequenceZero = isMedia && isMedia.type !== "image" ? isMedia.data.startMediaFrom + parentCumulatedNegativeFrom : null;
8516
- const frozenMediaFrame = isMedia && isMedia.type !== "image" && mediaFrameAtSequenceZero !== null ? registeredFrozenFrame === null ? null : mediaFrameAtSequenceZero + (resolvedLoopDisplay ? registeredFrozenFrame % resolvedLoopDisplay.durationInFrames : registeredFrozenFrame) * isMedia.data.playbackRate : null;
8534
+ const mediaFreezeFrame = registeredFrozenFrame ?? (contentVisible && !parentDormant && !premounting && !postmounting ? inheritedFrozenFrame : null);
8535
+ const frozenMediaFrame = isMedia && isMedia.type !== "image" && mediaFrameAtSequenceZero !== null && mediaFreezeFrame !== null ? mediaFrameAtSequenceZero + (resolvedLoopDisplay ? mediaFreezeFrame % resolvedLoopDisplay.durationInFrames : mediaFreezeFrame) * isMedia.data.playbackRate : null;
8517
8536
  const controlsSchema = controls?.schema;
8518
8537
  const controlsRuntimeValues = controls?.runtimeValues;
8519
8538
  const controlsOverrideId = controls?.overrideId;
@@ -8521,8 +8540,7 @@ var RegularSequenceContentRefForwardingFunction = ({
8521
8540
  const controlsComponentIdentity = controls?.componentIdentity;
8522
8541
  const controlsComponentName = controls?.componentName;
8523
8542
  const controlsVideoConfigValues = controls?.videoConfigValues;
8524
- const isInsideNonPremountFreeze = useIsInsideNonPremountFreeze();
8525
- const canInferDuration = (controlsComponentIdentity === "dev.remotion.remotion.Series" || controlsComponentIdentity === "dev.remotion.transitions.TransitionSeries") && !loop && registeredFrozenFrame === null && !isInsideNonPremountFreeze && !hidden;
8543
+ const canInferDuration = (controlsComponentIdentity === "dev.remotion.remotion.Series" || controlsComponentIdentity === "dev.remotion.transitions.TransitionSeries") && !loop && registeredFrozenFrame === null && inheritedFrozenFrame === null && !hidden;
8526
8544
  const autoDuration = canInferDuration && durationInFrames === undefined;
8527
8545
  const isSeriesChild = controlsComponentIdentity === "dev.remotion.remotion.Series.Sequence" || controlsComponentIdentity === "dev.remotion.transitions.TransitionSeries.Sequence" || controlsComponentIdentity === "dev.remotion.transitions.TransitionSeries.Transition" || controlsComponentIdentity === "dev.remotion.transitions.TransitionSeries.Overlay";
8528
8546
  const effectRuntimeValues = useMemo22(() => _remotionInternalEffects?.runtimeValues ?? null, [_remotionInternalEffects]);
@@ -8584,7 +8602,8 @@ var RegularSequenceContentRefForwardingFunction = ({
8584
8602
  refForOutline: refForOutline ?? null,
8585
8603
  isInsideSeries,
8586
8604
  frozenFrame: registeredFrozenFrame,
8587
- singleChildComponent: singleChildComponent ?? null
8605
+ singleChildComponent: singleChildComponent ?? null,
8606
+ getSingleChildProps: getRegisteredSingleChildProps
8588
8607
  };
8589
8608
  }
8590
8609
  return {
@@ -8617,7 +8636,8 @@ var RegularSequenceContentRefForwardingFunction = ({
8617
8636
  isInsideSeries,
8618
8637
  frozenFrame: registeredFrozenFrame,
8619
8638
  frozenMediaFrame,
8620
- singleChildComponent: singleChildComponent ?? null
8639
+ singleChildComponent: singleChildComponent ?? null,
8640
+ getSingleChildProps: getRegisteredSingleChildProps
8621
8641
  };
8622
8642
  }
8623
8643
  return {
@@ -8647,7 +8667,8 @@ var RegularSequenceContentRefForwardingFunction = ({
8647
8667
  refForOutline: refForOutline ?? null,
8648
8668
  isInsideSeries,
8649
8669
  frozenFrame: registeredFrozenFrame,
8650
- singleChildComponent: singleChildComponent ?? null
8670
+ singleChildComponent: singleChildComponent ?? null,
8671
+ getSingleChildProps: getRegisteredSingleChildProps
8651
8672
  };
8652
8673
  }, [
8653
8674
  id,
@@ -8681,7 +8702,8 @@ var RegularSequenceContentRefForwardingFunction = ({
8681
8702
  startMediaFrom,
8682
8703
  mediaFrameAtSequenceZero,
8683
8704
  frozenMediaFrame,
8684
- singleChildComponent
8705
+ singleChildComponent,
8706
+ getRegisteredSingleChildProps
8685
8707
  ]);
8686
8708
  const getSequenceForRegistration = useMemo22(() => getSequenceRegistration.bind(null, sequenceForRegistration), [sequenceForRegistration]);
8687
8709
  const registration = useSequenceRegistration({
@@ -8845,6 +8867,7 @@ var RegularSequenceRefForwardingFunction = (props, ref) => {
8845
8867
  const loopOffset = loopPeriod === null ? 0 : loopIteration * loopPeriod;
8846
8868
  const currentSequenceStart = cumulatedFrom + (from + loopOffset - trimBefore / playbackRate) / parentPlaybackRate;
8847
8869
  const currentFrame = typeof freeze === "number" ? freeze : (absoluteFrame - currentSequenceStart) * (parentPlaybackRate * playbackRate);
8870
+ const inheritedFrozenFrame = useIsInsideNonPremountFreeze() ? currentFrame : null;
8848
8871
  const currentFrameRef = useRef8(currentFrame);
8849
8872
  const timing = useMemo22(() => ({
8850
8873
  contentDurationInFrames,
@@ -8853,6 +8876,7 @@ var RegularSequenceRefForwardingFunction = (props, ref) => {
8853
8876
  loopPeriod,
8854
8877
  loopIteration,
8855
8878
  contentVisible,
8879
+ inheritedFrozenFrame,
8856
8880
  currentFrameRef
8857
8881
  }), [
8858
8882
  contentDurationInFrames,
@@ -8860,7 +8884,8 @@ var RegularSequenceRefForwardingFunction = (props, ref) => {
8860
8884
  actualDurationInFrames,
8861
8885
  loopPeriod,
8862
8886
  loopIteration,
8863
- contentVisible
8887
+ contentVisible,
8888
+ inheritedFrozenFrame
8864
8889
  ]);
8865
8890
  return /* @__PURE__ */ jsxs22(React27.Fragment, {
8866
8891
  children: [
@@ -9140,6 +9165,16 @@ var AbsoluteFill = withInteractivitySchema({
9140
9165
  supportsEffects: false
9141
9166
  });
9142
9167
  addSequenceStackTraces(AbsoluteFill);
9168
+ var getCanvasPropsFromSequenceProps = (props) => {
9169
+ const canvasProps = {};
9170
+ const mutableCanvasProps = canvasProps;
9171
+ for (const key in props) {
9172
+ if (Object.prototype.hasOwnProperty.call(props, key) && (key.startsWith("data-") || key.startsWith("aria-"))) {
9173
+ mutableCanvasProps[key] = props[key];
9174
+ }
9175
+ }
9176
+ return canvasProps;
9177
+ };
9143
9178
  var useCropStyle = ({
9144
9179
  cropLeft,
9145
9180
  cropRight,
@@ -10427,16 +10462,6 @@ var animatedImageSchema = {
10427
10462
  ...borderSchema,
10428
10463
  ...borderRadiusSchema
10429
10464
  };
10430
- var getCanvasPropsFromSequenceProps = (props) => {
10431
- const canvasProps = {};
10432
- const mutableCanvasProps = canvasProps;
10433
- for (const key in props) {
10434
- if (Object.prototype.hasOwnProperty.call(props, key) && (key.startsWith("data-") || key.startsWith("aria-"))) {
10435
- mutableCanvasProps[key] = props[key];
10436
- }
10437
- }
10438
- return canvasProps;
10439
- };
10440
10465
  var AnimatedImageContent = forwardRef4(({
10441
10466
  src,
10442
10467
  width,
@@ -10922,6 +10947,16 @@ var RenderAssetManagerProvider = ({ children, collectAssets }) => {
10922
10947
  });
10923
10948
  };
10924
10949
  var ArtifactThumbnail = Symbol("Thumbnail");
10950
+ var encodeBinaryArtifact = (bytes) => {
10951
+ if ("toBase64" in bytes && typeof bytes.toBase64 === "function") {
10952
+ return bytes.toBase64();
10953
+ }
10954
+ let binary = "";
10955
+ for (let offset = 0;offset < bytes.length; offset += 32768) {
10956
+ binary += String.fromCharCode(...bytes.subarray(offset, offset + 32768));
10957
+ }
10958
+ return btoa(binary);
10959
+ };
10925
10960
  var Artifact = ({ filename, content, downloadBehavior }) => {
10926
10961
  const { registerRenderAsset, unregisterRenderAsset } = useContext30(RenderAssetManager);
10927
10962
  const env = useRemotionEnvironment();
@@ -10937,7 +10972,7 @@ var Artifact = ({ filename, content, downloadBehavior }) => {
10937
10972
  registerRenderAsset({
10938
10973
  type: "artifact",
10939
10974
  id,
10940
- content: btoa(new TextDecoder("utf8").decode(content)),
10975
+ content: encodeBinaryArtifact(content),
10941
10976
  filename,
10942
10977
  frame,
10943
10978
  contentType: "binary",
@@ -12718,9 +12753,7 @@ var getMediaSyncAction = (input) => {
12718
12753
  ended,
12719
12754
  desiredUnclampedTime,
12720
12755
  mediaTagTime,
12721
- mediaTagLastUpdate,
12722
12756
  rvcTime,
12723
- rvcLastUpdate,
12724
12757
  isVariableFpsVideo,
12725
12758
  acceptableTimeShift,
12726
12759
  lastSeekDueToShift,
@@ -12732,13 +12765,11 @@ var getMediaSyncAction = (input) => {
12732
12765
  onlyWarnForMediaSeekingError,
12733
12766
  isPremounting,
12734
12767
  isPostmounting,
12735
- pauseWhenBuffering
12768
+ pauseWhenBuffering,
12769
+ mediaType
12736
12770
  } = input;
12737
12771
  const shouldBeTime = !Number.isNaN(duration) && Number.isFinite(duration) ? Math.min(duration, desiredUnclampedTime) : desiredUnclampedTime;
12738
- const timeShiftMediaTag = Math.abs(shouldBeTime - mediaTagTime);
12739
- const timeShiftRvcTag = rvcTime ? Math.abs(shouldBeTime - rvcTime) : null;
12740
- const mostRecentTimeshift = rvcLastUpdate && rvcTime > mediaTagLastUpdate ? timeShiftRvcTag : timeShiftMediaTag;
12741
- const timeShift = timeShiftRvcTag && !isVariableFpsVideo ? mostRecentTimeshift : timeShiftMediaTag;
12772
+ const timeShift = Math.abs(shouldBeTime - mediaTagTime);
12742
12773
  if (timeShift > acceptableTimeShift && lastSeekDueToShift !== shouldBeTime) {
12743
12774
  return {
12744
12775
  type: "seek-due-to-shift",
@@ -12751,18 +12782,23 @@ var getMediaSyncAction = (input) => {
12751
12782
  }
12752
12783
  const seekThreshold = playing ? 0.15 : 0.01;
12753
12784
  const makesSenseToSeek = Math.abs(currentTime - shouldBeTime) > seekThreshold;
12785
+ const audioLead = currentTime - shouldBeTime;
12786
+ const holdAudioUntilTimelineCatchesUp = mediaType === "audio" && playing && playbackRate > 0 && makesSenseToSeek && audioLead > 0 && audioLead <= acceptableTimeShift;
12754
12787
  const isSomethingElseBuffering = playerBuffering && !mediaTagBufferingOrStalled;
12755
12788
  if (!playing || isSomethingElseBuffering) {
12756
12789
  return {
12757
12790
  type: "seek-if-not-playing",
12758
12791
  shouldBeTime,
12759
- why: makesSenseToSeek ? `not playing or something else is buffering. time offset is over seek threshold (${seekThreshold})` : null
12792
+ why: makesSenseToSeek && !holdAudioUntilTimelineCatchesUp ? `not playing or something else is buffering. time offset is over seek threshold (${seekThreshold})` : null
12760
12793
  };
12761
12794
  }
12762
12795
  if (!playing || playerBuffering) {
12763
12796
  return { type: "none" };
12764
12797
  }
12765
12798
  const pausedCondition = paused && !ended;
12799
+ if (pausedCondition && holdAudioUntilTimelineCatchesUp) {
12800
+ return { type: "none" };
12801
+ }
12766
12802
  const firstFrameCondition = absoluteFrame === 0;
12767
12803
  if (pausedCondition || firstFrameCondition) {
12768
12804
  const reason = pausedCondition ? "media tag is paused" : "absolute frame is 0";
@@ -12776,19 +12812,15 @@ var getMediaSyncAction = (input) => {
12776
12812
  }
12777
12813
  return { type: "none" };
12778
12814
  };
12779
- var useCurrentTimeOfMediaTagWithUpdateTimeStamp = (mediaRef) => {
12780
- const lastUpdate = React35.useRef({
12781
- time: mediaRef.current?.currentTime ?? 0,
12782
- lastUpdate: performance.now()
12815
+ var useCurrentTimeOfMediaTag = (mediaRef) => {
12816
+ const currentTime = React35.useRef({
12817
+ time: mediaRef.current?.currentTime ?? 0
12783
12818
  });
12784
12819
  const nowCurrentTime = mediaRef.current?.currentTime ?? null;
12785
12820
  if (nowCurrentTime !== null) {
12786
- if (lastUpdate.current.time !== nowCurrentTime) {
12787
- lastUpdate.current.time = nowCurrentTime;
12788
- lastUpdate.current.lastUpdate = performance.now();
12789
- }
12821
+ currentTime.current.time = nowCurrentTime;
12790
12822
  }
12791
- return lastUpdate;
12823
+ return currentTime;
12792
12824
  };
12793
12825
  var seek = ({
12794
12826
  mediaRef,
@@ -12955,8 +12987,7 @@ var useRequestVideoCallbackTime = ({
12955
12987
  const { current } = mediaRef;
12956
12988
  if (current) {
12957
12989
  currentTime.current = {
12958
- time: current.currentTime,
12959
- lastUpdate: performance.now()
12990
+ time: current.currentTime
12960
12991
  };
12961
12992
  } else {
12962
12993
  currentTime.current = null;
@@ -12986,8 +13017,7 @@ var useRequestVideoCallbackTime = ({
12986
13017
  }
12987
13018
  }
12988
13019
  currentTime.current = {
12989
- time: info.mediaTime,
12990
- lastUpdate: performance.now()
13020
+ time: info.mediaTime
12991
13021
  };
12992
13022
  request();
12993
13023
  });
@@ -13118,7 +13148,7 @@ var useMediaPlayback = ({
13118
13148
  lastSeek,
13119
13149
  onVariableFpsVideoDetected
13120
13150
  });
13121
- const mediaTagCurrentTime = useCurrentTimeOfMediaTagWithUpdateTimeStamp(mediaRef);
13151
+ const mediaTagCurrentTime = useCurrentTimeOfMediaTag(mediaRef);
13122
13152
  const desiredUnclampedTime = getMediaTime({
13123
13153
  frame,
13124
13154
  playbackRate: localPlaybackRate,
@@ -13199,9 +13229,7 @@ var useMediaPlayback = ({
13199
13229
  ended: current.ended,
13200
13230
  desiredUnclampedTime,
13201
13231
  mediaTagTime: mediaTagCurrentTime.current.time,
13202
- mediaTagLastUpdate: mediaTagCurrentTime.current.lastUpdate,
13203
13232
  rvcTime: rvcCurrentTime.current?.time ?? null,
13204
- rvcLastUpdate: rvcCurrentTime.current?.lastUpdate ?? null,
13205
13233
  isVariableFpsVideo: Boolean(isVariableFpsVideoMap.current[src]),
13206
13234
  acceptableTimeShift: acceptableTimeShiftButLessThanDuration,
13207
13235
  lastSeekDueToShift: lastSeekDueToShift.current,
@@ -13213,7 +13241,8 @@ var useMediaPlayback = ({
13213
13241
  onlyWarnForMediaSeekingError,
13214
13242
  isPremounting,
13215
13243
  isPostmounting,
13216
- pauseWhenBuffering
13244
+ pauseWhenBuffering,
13245
+ mediaType
13217
13246
  });
13218
13247
  if (action.type === "none") {
13219
13248
  return;
@@ -14057,7 +14086,8 @@ var SolidInner = ({
14057
14086
  pixelDensity,
14058
14087
  overrideId,
14059
14088
  videoConfigValues,
14060
- reference
14089
+ reference,
14090
+ canvasProps
14061
14091
  }) => {
14062
14092
  const { delayRender, continueRender, cancelRender } = useDelayRender();
14063
14093
  const resolvedPixelDensity = resolveSolidPixelDensity(pixelDensity);
@@ -14145,6 +14175,7 @@ var SolidInner = ({
14145
14175
  };
14146
14176
  }, [height, style, width]);
14147
14177
  return /* @__PURE__ */ jsx31("canvas", {
14178
+ ...canvasProps,
14148
14179
  ref: canvasRef,
14149
14180
  width: canvasWidth,
14150
14181
  height: canvasHeight,
@@ -14241,6 +14272,7 @@ var SolidOuter = forwardRef8(({
14241
14272
  _remotionInternalIsPostmounting: postmountingActive,
14242
14273
  children: /* @__PURE__ */ jsx31(SequenceContent, {
14243
14274
  children: /* @__PURE__ */ jsx31(SolidInner, {
14275
+ canvasProps: getCanvasPropsFromSequenceProps(props),
14244
14276
  reference: actualRef,
14245
14277
  videoConfigValues: controls?.videoConfigValues ?? null,
14246
14278
  overrideId: controls?.overrideId ?? null,
@@ -16651,7 +16683,7 @@ var createElementSourceProxy = (api, sourceArgumentIndex, getSourceFileName) =>
16651
16683
  fileName: getSourceFileName(source.fileName),
16652
16684
  lineNumber: source.lineNumber,
16653
16685
  columnNumber: source.columnNumber - 1
16654
- });
16686
+ }, typeof source.__remotionCompiledSourceHash === "string" ? source.__remotionCompiledSourceHash : null);
16655
16687
  } else {
16656
16688
  const { stackTraceLimit } = Error;
16657
16689
  const canLimitStack = typeof stackTraceLimit === "number" && stackTraceLimit > 2 && Object.getOwnPropertyDescriptor(Error, "stackTraceLimit")?.writable;