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
- Re-mux with ffmpeg to rebuild the Cues.
- Re-download or re-encode from a known-good source.
- 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
- Re-mux to rebuild the seek table.
- Finalize recordings before parsing.
- Keep a fallback parser/source.
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
- Expected CuePoint
- Expected CueTime
- Expected CueTrack
- Expected CueClusterPosition
- Could not find sample rate or number of channels
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/223c3a4d6574d41d.
Report an issue: GitHub.