|
1 | 1 | import React from 'react'; |
2 | 2 | import type {SequenceControls, SequenceSchema} from 'remotion'; |
3 | | -import {Internals, useRemotionEnvironment} from 'remotion'; |
| 3 | +import {Internals, Sequence, useRemotionEnvironment} from 'remotion'; |
4 | 4 | import type {InnerVideoProps, VideoProps} from './props'; |
5 | 5 | import {VideoForPreview} from './video-for-preview'; |
6 | 6 | import {VideoForRendering} from './video-for-rendering'; |
@@ -214,43 +214,52 @@ const VideoInner: React.FC< |
214 | 214 | credentials, |
215 | 215 | controls, |
216 | 216 | objectFit, |
| 217 | + from, |
| 218 | + durationInFrames, |
217 | 219 | }) => { |
218 | 220 | const fallbackLogLevel = Internals.useLogLevel(); |
219 | 221 | return ( |
220 | | - <InnerVideo |
221 | | - audioStreamIndex={audioStreamIndex ?? 0} |
222 | | - className={className} |
223 | | - delayRenderRetries={delayRenderRetries ?? null} |
224 | | - delayRenderTimeoutInMilliseconds={ |
225 | | - delayRenderTimeoutInMilliseconds ?? null |
226 | | - } |
227 | | - disallowFallbackToOffthreadVideo={ |
228 | | - disallowFallbackToOffthreadVideo ?? false |
229 | | - } |
230 | | - fallbackOffthreadVideoProps={fallbackOffthreadVideoProps ?? {}} |
231 | | - logLevel={logLevel ?? fallbackLogLevel} |
232 | | - loop={loop ?? false} |
233 | | - loopVolumeCurveBehavior={loopVolumeCurveBehavior ?? 'repeat'} |
234 | | - muted={muted ?? false} |
235 | | - name={name} |
236 | | - onVideoFrame={onVideoFrame} |
237 | | - playbackRate={playbackRate ?? 1} |
238 | | - showInTimeline={showInTimeline ?? true} |
239 | | - src={src} |
240 | | - style={style ?? {}} |
241 | | - trimAfter={trimAfter} |
242 | | - trimBefore={trimBefore} |
243 | | - volume={volume ?? 1} |
244 | | - toneFrequency={toneFrequency ?? 1} |
245 | | - stack={stack} |
246 | | - debugOverlay={debugOverlay ?? false} |
247 | | - debugAudioScheduling={debugAudioScheduling ?? false} |
248 | | - headless={headless ?? false} |
249 | | - onError={onError} |
250 | | - credentials={credentials} |
251 | | - controls={controls} |
252 | | - objectFit={objectFit ?? 'contain'} |
253 | | - /> |
| 222 | + <Sequence |
| 223 | + layout="none" |
| 224 | + from={from ?? 0} |
| 225 | + durationInFrames={durationInFrames ?? Infinity} |
| 226 | + showInTimeline={false} |
| 227 | + > |
| 228 | + <InnerVideo |
| 229 | + audioStreamIndex={audioStreamIndex ?? 0} |
| 230 | + className={className} |
| 231 | + delayRenderRetries={delayRenderRetries ?? null} |
| 232 | + delayRenderTimeoutInMilliseconds={ |
| 233 | + delayRenderTimeoutInMilliseconds ?? null |
| 234 | + } |
| 235 | + disallowFallbackToOffthreadVideo={ |
| 236 | + disallowFallbackToOffthreadVideo ?? false |
| 237 | + } |
| 238 | + fallbackOffthreadVideoProps={fallbackOffthreadVideoProps ?? {}} |
| 239 | + logLevel={logLevel ?? fallbackLogLevel} |
| 240 | + loop={loop ?? false} |
| 241 | + loopVolumeCurveBehavior={loopVolumeCurveBehavior ?? 'repeat'} |
| 242 | + muted={muted ?? false} |
| 243 | + name={name} |
| 244 | + onVideoFrame={onVideoFrame} |
| 245 | + playbackRate={playbackRate ?? 1} |
| 246 | + showInTimeline={showInTimeline ?? true} |
| 247 | + src={src} |
| 248 | + style={style ?? {}} |
| 249 | + trimAfter={trimAfter} |
| 250 | + trimBefore={trimBefore} |
| 251 | + volume={volume ?? 1} |
| 252 | + toneFrequency={toneFrequency ?? 1} |
| 253 | + stack={stack} |
| 254 | + debugOverlay={debugOverlay ?? false} |
| 255 | + debugAudioScheduling={debugAudioScheduling ?? false} |
| 256 | + headless={headless ?? false} |
| 257 | + onError={onError} |
| 258 | + credentials={credentials} |
| 259 | + controls={controls} |
| 260 | + objectFit={objectFit ?? 'contain'} |
| 261 | + /> |
| 262 | + </Sequence> |
254 | 263 | ); |
255 | 264 | }; |
256 | 265 |
|
|
0 commit comments