Skip to content

Commit 7346bee

Browse files
Fix quick cleanse MP3 metadata unsupported frame handling
1 parent 46f083a commit 7346bee

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

src/utils/metadata.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,20 @@ export async function writeMP3Metadata(file, metadata) {
123123
const artist = safeText(metadata?.artist);
124124
const genre = safeText(metadata?.genre);
125125

126+
const safeSetFrame = (frameId, value) => {
127+
try {
128+
writer.setFrame(frameId, value);
129+
return true;
130+
} catch (error) {
131+
console.warn('[quick-cleanse] skipped unsupported ID3 frame', { frameId, error });
132+
return false;
133+
}
134+
};
135+
126136
try {
127-
if (title) writer.setFrame('TIT2', title);
128-
if (artist) writer.setFrame('TPE1', [artist]);
129-
if (genre) writer.setFrame('TCON', [genre]);
130-
if (title || artist || genre) writer.setFrame('TENC', 'SpectraCleanseAI Browser Quick Cleanse');
137+
if (title) safeSetFrame('TIT2', title);
138+
if (artist) safeSetFrame('TPE1', [artist]);
139+
if (genre) safeSetFrame('TCON', [genre]);
131140
writer.addTag();
132141
} catch (error) {
133142
throw new Error(`Failed while writing ID3 frames: ${error?.message || String(error)}`);

0 commit comments

Comments
 (0)