remotion-dev/remotion · error · Error

No src passed

Error message

No src passed

What it means

Thrown inside the render-path AudioForRendering useEffect when props.src is falsy. During server-side rendering Remotion must register a render asset for each audio tag; a missing src makes registration impossible.

Source

Thrown at packages/core/src/audio/AudioForRendering.tsx:93

			sequenceContext?.cumulatedFrom,
			sequenceContext?.durationInFrames,
		],
	);

	const volume = evaluateVolume({
		volume: volumeProp,
		frame: volumePropFrame,
		mediaVolume: 1,
	});
	warnAboutTooHighVolume(volume);

	useImperativeHandle(ref, () => {
		return audioRef.current as HTMLVideoElement;
	}, []);

	useEffect(() => {
		if (!props.src) {
			throw new Error('No src passed');
		}

		if (!window.remotion_audioEnabled) {
			return;
		}

		if (props.muted) {
			return;
		}

		if (volume <= 0) {
			return;
		}

		registerRenderAsset({
			type: 'audio',
			src: getAbsoluteSrc(props.src),
			id,

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Ensure src is a valid string before the composition renders.
  2. Conditionally render <Audio> only when src exists.
  3. If src is imported, confirm the bundler resolves it to a URL.

Example fix

// before
<Audio src={audioSrc} />

// after
{audioSrc ? <Audio src={audioSrc} /> : null}
Defensive patterns

Strategy: type-guard

Validate before calling

if (!props.src || typeof props.src !== 'string') {
  // skip mounting the audio component during render
}

Type guard

const hasRenderAudioSrc = (v: unknown): v is string =>
  typeof v === 'string' && v.length > 0;

Prevention

When it happens

Trigger: Rendering a composition that contains <Audio> with no src, or where src resolves to undefined at render time.

Common situations: Dynamic src that is undefined when rendering (e.g. import not bundled), conditional audio that still mounts during render, prop drilling that lost the value.

Related errors


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/321a328b8ddb3850. Report an issue: GitHub.