mirror of
https://github.com/markuryy/shark.git
synced 2026-06-26 21:31:02 +00:00
feat: re-encode cover images for rockbox compatibility
This commit is contained in:
@@ -87,14 +87,20 @@ export async function downloadTrack(
|
||||
// Get user settings
|
||||
const appSettings = get(settings);
|
||||
|
||||
// Download cover art if enabled
|
||||
// Download cover art if enabled, re-encode as baseline JPEG for player compatibility
|
||||
let coverData: Uint8Array | undefined;
|
||||
if ((appSettings.embedCoverArt || appSettings.saveCoverToFolder) && track.albumCoverUrl) {
|
||||
try {
|
||||
console.log('Downloading cover art...');
|
||||
coverData = await downloadCover(track.albumCoverUrl);
|
||||
const rawCover = await downloadCover(track.albumCoverUrl);
|
||||
const reencoded = await invoke<number[]>('reencode_cover_image', {
|
||||
data: Array.from(rawCover),
|
||||
quality: appSettings.coverImageQuality
|
||||
});
|
||||
coverData = new Uint8Array(reencoded);
|
||||
console.log(`[ImageDownload] Re-encoded cover: ${rawCover.length} -> ${coverData.length} bytes (q=${appSettings.coverImageQuality})`);
|
||||
} catch (error) {
|
||||
console.warn('Failed to download cover art:', error);
|
||||
console.warn('Failed to download/re-encode cover art:', error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user