remotion-dev/remotion · error · Error

Expected CueTime

Error message

Expected CueTime

What it means

A CuePoint element in the Cues table has no CueTime child. formatCues requires CueTime to compute the cue's timestamp, so its absence means the cue entry is incomplete and unusable for seeking.

Source

Thrown at packages/media-parser/src/containers/webm/seek/format-cues.ts:23

	timeInTimescale: number;
	clusterPositionInSegment: number;
	relativePosition: number;
};

export const formatCues = (cues: PossibleEbml[]) => {
	const matroskaCues: MatroskaCue[] = [];
	for (const cue of cues) {
		if (cue.type === 'Crc32') {
			continue;
		}

		if (cue.type !== 'CuePoint') {
			throw new Error('Expected CuePoint');
		}

		const cueTime = cue.value.find((_cue) => _cue.type === 'CueTime');
		if (!cueTime) {
			throw new Error('Expected CueTime');
		}

		const cueTrackPositions = cue.value.find(
			(c) => c.type === 'CueTrackPositions',
		);
		if (!cueTrackPositions) {
			throw new Error('Expected CueTrackPositions');
		}

		const cueTimeValue = cueTime.value.value;
		const cueTrack = cueTrackPositions.value.find(
			(_c) => _c.type === 'CueTrack',
		);
		if (!cueTrack) {
			throw new Error('Expected CueTrack');
		}

		const cueClusterPosition = cueTrackPositions.value.find(

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Re-mux the file to regenerate a complete Cues table.
  2. Ensure the source file is fully written before parsing.
  3. Use a different source.
  4. Try Mediabunny.
Defensive patterns

Strategy: try-catch

Try / catch

try {
  await parseMedia({src: 'in.mkv', fields: {durationInSeconds: true}});
} catch (err) {
  if (err instanceof Error && /Expected CueTime/.test(err.message)) {
    throw new Error('Incomplete Cues entries; re-mux the file.', {cause: err});
  }
  throw err;
}

Prevention

When it happens

Trigger: Parsing the Cues section of a file whose CuePoint entries omit CueTime - typically a partially written or corrupted seek table.

Common situations: Live muxers that emit incomplete Cues, files truncated during the Cues section, or binary corruption of element IDs.

Related errors


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