{"record":{"id":"6d65c9a94438d125","repo":"remotion-dev/remotion","slug":"no-selected-track","errorCode":null,"errorMessage":"No selected track","messagePattern":"No selected track","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/core/src/animated-image/create-image-decoder.ts","lineNumber":33,"sourceCode":"\t\t);\n\t}\n\n\tconst response = await fetch(resolvedSrc, {...requestInit, signal});\n\tconst {body} = response;\n\tif (!body) {\n\t\tthrow new Error('Got no body');\n\t}\n\n\tconst decoder = new ImageDecoder({\n\t\tdata: body,\n\t\ttype: contentType ?? response.headers.get('Content-Type') ?? 'image/gif',\n\t});\n\tawait Promise.all([decoder.completed, decoder.tracks.ready]);\n\n\tconst {selectedTrack} = decoder.tracks;\n\tif (!selectedTrack) {\n\t\tdecoder.close();\n\t\tthrow new Error('No selected track');\n\t}\n\n\treturn {decoder, selectedTrack};\n};\n","sourceCodeStart":15,"sourceCodeEnd":38,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/core/src/animated-image/create-image-decoder.ts#L15-L38","documentation":"Thrown when the decoded image track has no selected track. ImageDecoder.tracks.selectedTrack is null when the container advertises no default track or track selection failed, so there is nothing to decode.","triggerScenarios":"Decoding a malformed or zero-track animated image, or a format variant where the browser cannot auto-select a track.","commonSituations":"Corrupted GIF/WebP/AVIF, non-animated image passed through the animated path, browser-specific track selection quirks.","solutions":["Re-export the image with a known-good tool (ffmpeg, imagemagick).","Use a static image format if the asset is not actually animated.","Try a different browser to rule out a decoder bug."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"// Pre-validate the asset is a well-formed animated image\n// using a tool such as `ffprobe` or imagemagick `identify`.","typeGuard":null,"tryCatchPattern":"try {\n  await createImageDecoder({...});\n} catch (e) {\n  if (e.message === 'No selected track') {\n    // fall back to a static image\n  }\n}","preventionTips":["Validate animated images during the build step.","Maintain static fallbacks for assets that may not decode."],"tags":["image-decoder","animated-image","corruption"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}