remotion-dev/remotion · error · Error

Expected CueTrackPositions

Error message

Expected CueTrackPositions

What it means

A CuePoint has no CueTrackPositions child. formatCues needs CueTrackPositions to resolve which track and cluster position the cue points at; without it the cue cannot be mapped to a byte offset, so parsing aborts.

Source

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

	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(
			(_c) => _c.type === 'CueClusterPosition',
		);
		if (!cueClusterPosition) {
			throw new Error('Expected CueClusterPosition');
		}

		const cueRelativePosition = cueTrackPositions.value.find(

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Re-mux with ffmpeg to rebuild the Cues.
  2. Re-download or re-encode from a known-good source.
  3. 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 CueTrackPositions/.test(err.message)) {
    throw new Error('Incomplete Cues entries; re-mux the file.', {cause: err});
  }
  throw err;
}

Prevention

When it happens

Trigger: The Cues section contains a CuePoint missing its CueTrackPositions sub-element - a malformed or partially written seek table.

Common situations: Corrupt seek index, non-conformant muxer output, or truncation during the Cues section.

Related errors


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