From f19e4e712fcaff169a3cbb1028a1bd9a031a7f8b Mon Sep 17 00:00:00 2001 From: Steven Vandevelde Date: Fri, 26 Jun 2026 16:40:46 +0200 Subject: [PATCH] fix: music-metadata mimetype issue --- src/components/metadata/common.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/components/metadata/common.js b/src/components/metadata/common.js index ef0cd615..3dd8eb48 100644 --- a/src/components/metadata/common.js +++ b/src/components/metadata/common.js @@ -52,6 +52,14 @@ export async function musicMetadataTags({ /** @type {any} */ const tokenizer = await rangeTokenizer(httpClient); + // The range tokenizer's fileInfo comes from the HEAD response, which only + // has size/mimeType — no path. Without a path or a recognised MIME-type, + // music-metadata falls back to content-sniffing, which rejects some files + // (e.g. `audio/x-m4a`, or servers returning `application/octet-stream`). + // Provide the filename so it can pick a parser by extension instead. + if (filename) { + tokenizer.fileInfo = { ...tokenizer.fileInfo, path: filename }; + } meta = await parseFromTokenizer(tokenizer, { skipCovers: !includeArtwork }); } else if (stream) { meta = await parseWebStream(stream, { mimeType }, { -- 2.51.2