@remotion/media 4.0.478 → 4.0.479

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.
@@ -21,4 +21,4 @@ export declare const Audio: React.ComponentType<{
21
21
  onError?: import("../on-error").MediaOnError | undefined;
22
22
  credentials?: RequestCredentials | undefined;
23
23
  requestInit?: import("..").MediaRequestInit | undefined;
24
- } & Pick<import("remotion").SequenceProps, "durationInFrames" | "freeze" | "from" | "hidden" | "name" | "showInTimeline">>;
24
+ } & import("remotion").InteractiveBaseProps>;
@@ -1,4 +1,4 @@
1
- import type { LogLevel, LoopVolumeCurveBehavior, SequenceProps, VolumeProp } from 'remotion';
1
+ import type { InteractiveBaseProps, LogLevel, LoopVolumeCurveBehavior, VolumeProp } from 'remotion';
2
2
  import type { MediaOnError } from '../on-error';
3
3
  import type { MediaRequestInit } from '../request-init';
4
4
  export type FallbackHtml5AudioProps = {
@@ -38,4 +38,4 @@ export type AudioProps = {
38
38
  */
39
39
  credentials?: RequestCredentials;
40
40
  requestInit?: MediaRequestInit;
41
- } & Pick<SequenceProps, 'from' | 'durationInFrames' | 'freeze' | 'name' | 'showInTimeline' | 'hidden'>;
41
+ } & InteractiveBaseProps;
@@ -40,6 +40,7 @@ var __callDispose = (stack, error, hasError) => {
40
40
  import { useMemo as useMemo3, useState as useState3 } from "react";
41
41
  import {
42
42
  Internals as Internals16,
43
+ Interactive,
43
44
  Sequence,
44
45
  useRemotionEnvironment as useRemotionEnvironment2,
45
46
  useVideoConfig as useVideoConfig2
@@ -139,7 +140,10 @@ import { ALL_FORMATS, Input, UrlSource } from "mediabunny";
139
140
  import { Internals as Internals5 } from "remotion";
140
141
 
141
142
  // src/audio-iterator-manager.ts
142
- import { AudioBufferSink, InputDisposedError } from "mediabunny";
143
+ import {
144
+ AudioBufferSink,
145
+ InputDisposedError
146
+ } from "mediabunny";
143
147
  import { Internals as Internals3 } from "remotion";
144
148
 
145
149
  // src/make-iterator-with-priming.ts
@@ -573,6 +577,7 @@ var audioIteratorManager = ({
573
577
  }
574
578
  if (!result.value) {
575
579
  next();
580
+ onDone();
576
581
  return;
577
582
  }
578
583
  onScheduled(result.value.timestamp);
@@ -4603,9 +4608,7 @@ var AudioForRendering = ({
4603
4608
  import { jsx as jsx3 } from "react/jsx-runtime";
4604
4609
  var { validateMediaProps } = Internals16;
4605
4610
  var audioSchema = {
4606
- durationInFrames: Internals16.durationInFramesField,
4607
- from: Internals16.fromField,
4608
- freeze: Internals16.freezeField,
4611
+ ...Internals16.baseSchema,
4609
4612
  volume: {
4610
4613
  type: "number",
4611
4614
  min: 0,
@@ -4624,15 +4627,14 @@ var audioSchema = {
4624
4627
  hiddenFromList: false,
4625
4628
  keyframable: false
4626
4629
  },
4627
- loop: { type: "boolean", default: false, description: "Loop" },
4628
- hidden: Internals16.hiddenField
4630
+ loop: { type: "boolean", default: false, description: "Loop" }
4629
4631
  };
4630
4632
  var AudioInner = (props) => {
4631
4633
  const {
4632
4634
  name,
4633
4635
  stack,
4634
4636
  showInTimeline,
4635
- _experimentalControls: controls,
4637
+ controls,
4636
4638
  from,
4637
4639
  durationInFrames,
4638
4640
  freeze,
@@ -4695,7 +4697,7 @@ var AudioInner = (props) => {
4695
4697
  _remotionInternalIsMedia: isMedia,
4696
4698
  name: name ?? "<Audio>",
4697
4699
  _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/media/audio" : undefined,
4698
- _experimentalControls: controls,
4700
+ controls,
4699
4701
  _remotionInternalLoopDisplay: loopDisplay,
4700
4702
  showInTimeline: showInTimeline ?? true,
4701
4703
  hidden,
@@ -4709,7 +4711,7 @@ var AudioInner = (props) => {
4709
4711
  })
4710
4712
  });
4711
4713
  };
4712
- var Audio = Internals16.wrapInSchema({
4714
+ var Audio = Interactive.withSchema({
4713
4715
  Component: AudioInner,
4714
4716
  componentIdentity: "dev.remotion.media.Audio",
4715
4717
  schema: audioSchema,
@@ -4721,6 +4723,7 @@ Internals16.addSequenceStackTraces(Audio);
4721
4723
  import React6, { useMemo as useMemo6, useState as useState6 } from "react";
4722
4724
  import {
4723
4725
  Internals as Internals20,
4726
+ Interactive as Interactive2,
4724
4727
  Sequence as Sequence2,
4725
4728
  useRemotionEnvironment as useRemotionEnvironment4,
4726
4729
  useVideoConfig as useVideoConfig5
@@ -5535,9 +5538,7 @@ var VideoForRendering = ({
5535
5538
  import { jsx as jsx6 } from "react/jsx-runtime";
5536
5539
  var { validateMediaTrimProps, resolveTrimProps, validateMediaProps: validateMediaProps2 } = Internals20;
5537
5540
  var videoSchema = {
5538
- durationInFrames: Internals20.durationInFramesField,
5539
- from: Internals20.fromField,
5540
- freeze: Internals20.freezeField,
5541
+ ...Internals20.baseSchema,
5541
5542
  volume: {
5542
5543
  type: "number",
5543
5544
  min: 0,
@@ -5556,13 +5557,8 @@ var videoSchema = {
5556
5557
  hiddenFromList: false,
5557
5558
  keyframable: false
5558
5559
  },
5559
- hidden: {
5560
- type: "boolean",
5561
- default: false,
5562
- description: "Hidden"
5563
- },
5564
5560
  loop: { type: "boolean", default: false, description: "Loop" },
5565
- ...Internals20.sequenceVisualStyleSchema
5561
+ ...Internals20.transformSchema
5566
5562
  };
5567
5563
  var InnerVideo = ({
5568
5564
  src,
@@ -5590,7 +5586,7 @@ var InnerVideo = ({
5590
5586
  onError,
5591
5587
  credentials,
5592
5588
  requestInit,
5593
- _experimentalControls: controls,
5589
+ controls,
5594
5590
  objectFit,
5595
5591
  _experimentalInitiallyDrawCachedFrame,
5596
5592
  effects,
@@ -5704,7 +5700,7 @@ var VideoInner = ({
5704
5700
  onError,
5705
5701
  credentials,
5706
5702
  requestInit,
5707
- _experimentalControls: controls,
5703
+ controls,
5708
5704
  objectFit,
5709
5705
  _experimentalInitiallyDrawCachedFrame,
5710
5706
  effects,
@@ -5772,10 +5768,10 @@ var VideoInner = ({
5772
5768
  _remotionInternalIsMedia: isMedia,
5773
5769
  name: name ?? "<Video>",
5774
5770
  _remotionInternalDocumentationLink: name === undefined ? "https://www.remotion.dev/docs/media/video" : undefined,
5775
- _experimentalControls: controls,
5771
+ controls,
5776
5772
  _remotionInternalLoopDisplay: loopDisplay,
5777
5773
  _remotionInternalEffects: memoizedEffectDefinitions,
5778
- _remotionInternalRefForOutline: refForOutline,
5774
+ outlineRef: refForOutline,
5779
5775
  showInTimeline: showInTimeline ?? true,
5780
5776
  hidden,
5781
5777
  children: /* @__PURE__ */ jsx6(InnerVideo, {
@@ -5805,7 +5801,7 @@ var VideoInner = ({
5805
5801
  onError,
5806
5802
  credentials,
5807
5803
  requestInit,
5808
- _experimentalControls: controls,
5804
+ controls,
5809
5805
  objectFit: objectFit ?? "contain",
5810
5806
  _experimentalInitiallyDrawCachedFrame: _experimentalInitiallyDrawCachedFrame ?? false,
5811
5807
  effects: memoizedEffects,
@@ -5814,7 +5810,7 @@ var VideoInner = ({
5814
5810
  })
5815
5811
  });
5816
5812
  };
5817
- var Video = Internals20.wrapInSchema({
5813
+ var Video = Interactive2.withSchema({
5818
5814
  Component: VideoInner,
5819
5815
  componentIdentity: "dev.remotion.media.Video",
5820
5816
  schema: videoSchema,
package/dist/index.d.ts CHANGED
@@ -25,7 +25,7 @@ export declare const experimental_Audio: import("react").ComponentType<{
25
25
  onError?: import("./on-error").MediaOnError | undefined;
26
26
  credentials?: RequestCredentials | undefined;
27
27
  requestInit?: import("./request-init").MediaRequestInit | undefined;
28
- } & Pick<import("remotion").SequenceProps, "durationInFrames" | "freeze" | "from" | "hidden" | "name" | "showInTimeline">>;
28
+ } & import("remotion").InteractiveBaseProps>;
29
29
  /**
30
30
  * @deprecated Now just `Video`
31
31
  */
@@ -62,7 +62,7 @@ export declare const experimental_Video: import("react").ComponentType<{
62
62
  objectFit: import(".").VideoObjectFit;
63
63
  _experimentalInitiallyDrawCachedFrame: boolean;
64
64
  effects: import("remotion").EffectsProp;
65
- }> & Omit<import("react").HTMLAttributes<HTMLElement>, "_experimentalInitiallyDrawCachedFrame" | "audioStreamIndex" | "className" | "credentials" | "debugOverlay" | "delayRenderRetries" | "delayRenderTimeoutInMilliseconds" | "disallowFallbackToOffthreadVideo" | "effects" | "fallbackOffthreadVideoProps" | "headless" | "logLevel" | "loop" | "loopVolumeCurveBehavior" | "muted" | "objectFit" | "onError" | "onVideoFrame" | "playbackRate" | "requestInit" | "showInTimeline" | "src" | "stack" | "style" | "toneFrequency" | "trimAfter" | "trimBefore" | "volume"> & Record<`data-${string}`, string | undefined> & Pick<import("remotion").SequenceProps, "durationInFrames" | "freeze" | "from" | "hidden" | "name" | "showInTimeline">>;
65
+ }> & Omit<import("react").HTMLAttributes<HTMLElement>, "_experimentalInitiallyDrawCachedFrame" | "audioStreamIndex" | "className" | "credentials" | "debugOverlay" | "delayRenderRetries" | "delayRenderTimeoutInMilliseconds" | "disallowFallbackToOffthreadVideo" | "effects" | "fallbackOffthreadVideoProps" | "headless" | "logLevel" | "loop" | "loopVolumeCurveBehavior" | "muted" | "objectFit" | "onError" | "onVideoFrame" | "playbackRate" | "requestInit" | "showInTimeline" | "src" | "stack" | "style" | "toneFrequency" | "trimAfter" | "trimBefore" | "volume"> & Record<`data-${string}`, string | undefined> & import("remotion").InteractiveBaseProps>;
66
66
  export { AudioForPreview } from './audio/audio-for-preview';
67
67
  export { AudioProps, FallbackHtml5AudioProps } from './audio/props';
68
68
  export { MediaErrorAction } from './on-error';
@@ -1,5 +1,5 @@
1
1
  import type React from 'react';
2
- import type { EffectDefinitionAndStack, EffectsProp, LogLevel, LoopVolumeCurveBehavior, OnVideoFrame, SequenceProps, VolumeProp } from 'remotion';
2
+ import type { EffectDefinitionAndStack, EffectsProp, InteractiveBaseProps, LogLevel, LoopVolumeCurveBehavior, OnVideoFrame, VolumeProp } from 'remotion';
3
3
  import type { MediaOnError } from '../on-error';
4
4
  import type { MediaRequestInit } from '../request-init';
5
5
  export type MediaErrorEvent = {
@@ -64,5 +64,5 @@ export type NativeVideoProps = Omit<React.HTMLAttributes<HTMLElement>, keyof Man
64
64
  export type InnerVideoProps = MandatoryVideoProps & OuterVideoProps & Omit<OptionalVideoProps, 'effects'> & NativeVideoProps & {
65
65
  effects: EffectDefinitionAndStack<unknown>[];
66
66
  };
67
- export type VideoProps = MandatoryVideoProps & Partial<OuterVideoProps> & Partial<OptionalVideoProps> & NativeVideoProps & Pick<SequenceProps, 'durationInFrames' | 'from' | 'freeze' | 'name' | 'showInTimeline' | 'hidden'>;
67
+ export type VideoProps = MandatoryVideoProps & Partial<OuterVideoProps> & Partial<OptionalVideoProps> & NativeVideoProps & InteractiveBaseProps;
68
68
  export {};
@@ -32,4 +32,4 @@ export declare const Video: React.ComponentType<{
32
32
  objectFit: import("./props").VideoObjectFit;
33
33
  _experimentalInitiallyDrawCachedFrame: boolean;
34
34
  effects: import("remotion").EffectsProp;
35
- }> & Omit<React.HTMLAttributes<HTMLElement>, "_experimentalInitiallyDrawCachedFrame" | "audioStreamIndex" | "className" | "credentials" | "debugOverlay" | "delayRenderRetries" | "delayRenderTimeoutInMilliseconds" | "disallowFallbackToOffthreadVideo" | "effects" | "fallbackOffthreadVideoProps" | "headless" | "logLevel" | "loop" | "loopVolumeCurveBehavior" | "muted" | "objectFit" | "onError" | "onVideoFrame" | "playbackRate" | "requestInit" | "showInTimeline" | "src" | "stack" | "style" | "toneFrequency" | "trimAfter" | "trimBefore" | "volume"> & Record<`data-${string}`, string | undefined> & Pick<import("remotion").SequenceProps, "durationInFrames" | "freeze" | "from" | "hidden" | "name" | "showInTimeline">>;
35
+ }> & Omit<React.HTMLAttributes<HTMLElement>, "_experimentalInitiallyDrawCachedFrame" | "audioStreamIndex" | "className" | "credentials" | "debugOverlay" | "delayRenderRetries" | "delayRenderTimeoutInMilliseconds" | "disallowFallbackToOffthreadVideo" | "effects" | "fallbackOffthreadVideoProps" | "headless" | "logLevel" | "loop" | "loopVolumeCurveBehavior" | "muted" | "objectFit" | "onError" | "onVideoFrame" | "playbackRate" | "requestInit" | "showInTimeline" | "src" | "stack" | "style" | "toneFrequency" | "trimAfter" | "trimBefore" | "volume"> & Record<`data-${string}`, string | undefined> & import("remotion").InteractiveBaseProps>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/media",
3
- "version": "4.0.478",
3
+ "version": "4.0.479",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "module": "dist/esm/index.mjs",
@@ -22,8 +22,8 @@
22
22
  "make": "tsgo && bun --env-file=../.env.bundle bundle.ts"
23
23
  },
24
24
  "dependencies": {
25
- "mediabunny": "1.45.0",
26
- "remotion": "4.0.478",
25
+ "mediabunny": "1.47.0",
26
+ "remotion": "4.0.479",
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.478",
34
+ "@remotion/eslint-config-internal": "4.0.479",
35
35
  "@vitest/browser-webdriverio": "4.0.9",
36
36
  "eslint": "9.19.0",
37
37
  "react": "19.2.3",