{"record":{"id":"2605a81252ec828b","repo":"remotion-dev/remotion","slug":"expected-cuetrack","errorCode":null,"errorMessage":"Expected CueTrack","messagePattern":"Expected CueTrack","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/media-parser/src/containers/webm/seek/format-cues.ts","lineNumber":38,"sourceCode":"\n\t\tconst cueTime = cue.value.find((_cue) => _cue.type === 'CueTime');\n\t\tif (!cueTime) {\n\t\t\tthrow new Error('Expected CueTime');\n\t\t}\n\n\t\tconst cueTrackPositions = cue.value.find(\n\t\t\t(c) => c.type === 'CueTrackPositions',\n\t\t);\n\t\tif (!cueTrackPositions) {\n\t\t\tthrow new Error('Expected CueTrackPositions');\n\t\t}\n\n\t\tconst cueTimeValue = cueTime.value.value;\n\t\tconst cueTrack = cueTrackPositions.value.find(\n\t\t\t(_c) => _c.type === 'CueTrack',\n\t\t);\n\t\tif (!cueTrack) {\n\t\t\tthrow new Error('Expected CueTrack');\n\t\t}\n\n\t\tconst cueClusterPosition = cueTrackPositions.value.find(\n\t\t\t(_c) => _c.type === 'CueClusterPosition',\n\t\t);\n\t\tif (!cueClusterPosition) {\n\t\t\tthrow new Error('Expected CueClusterPosition');\n\t\t}\n\n\t\tconst cueRelativePosition = cueTrackPositions.value.find(\n\t\t\t(_c) => _c.type === 'CueRelativePosition',\n\t\t);\n\n\t\tconst matroskaCue: MatroskaCue = {\n\t\t\ttrackId: cueTrack.value.value,\n\t\t\ttimeInTimescale: cueTimeValue,\n\t\t\tclusterPositionInSegment: cueClusterPosition.value.value,\n\t\t\trelativePosition: cueRelativePosition?.value.value ?? 0,","sourceCodeStart":20,"sourceCodeEnd":56,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/media-parser/src/containers/webm/seek/format-cues.ts#L20-L56","documentation":"Inside a CueTrackPositions, formatCues requires a CueTrack child (the track number the cue applies to); if it is absent the cue cannot be associated with a track, so parsing throws.","triggerScenarios":"A CueTrackPositions element that lacks CueTrack - incomplete seek table entry, typically from a corrupt or partially finalized file.","commonSituations":"Damaged Cues section, muxer bugs, or truncation.","solutions":["Re-mux the file to regenerate Cues.","Use a fresh source file.","Try Mediabunny."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  await parseMedia({src: 'in.mkv', fields: {durationInSeconds: true}});\n} catch (err) {\n  if (err instanceof Error && /Expected CueTrack/.test(err.message)) {\n    throw new Error('Incomplete CueTrackPositions; re-mux the file.', {cause: err});\n  }\n  throw err;\n}","preventionTips":["Re-mux to regenerate CueTrack entries.","Finalize recordings before parsing.","Maintain a fallback source."],"tags":["webm","matroska","media-parser","cues","seek","malformed-file"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}