mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-11 02:31:45 +00:00
cache downloader getCoverBuffer()
This commit is contained in:
@ -10,6 +10,7 @@ const { fetchFromGenius } = require('../lyrics-genius/back');
|
|||||||
const { isEnabled } = require('../../config/plugins');
|
const { isEnabled } = require('../../config/plugins');
|
||||||
const { getImage } = require('../../providers/song-info');
|
const { getImage } = require('../../providers/song-info');
|
||||||
const { injectCSS } = require('../utils');
|
const { injectCSS } = require('../utils');
|
||||||
|
const { cache } = require("../../providers/decorators")
|
||||||
const {
|
const {
|
||||||
presets,
|
presets,
|
||||||
cropMaxWidth,
|
cropMaxWidth,
|
||||||
@ -34,13 +35,6 @@ const ffmpeg = require('@ffmpeg/ffmpeg').createFFmpeg({
|
|||||||
});
|
});
|
||||||
const ffmpegMutex = new Mutex();
|
const ffmpegMutex = new Mutex();
|
||||||
|
|
||||||
const cache = {
|
|
||||||
getCoverBuffer: {
|
|
||||||
buffer: null,
|
|
||||||
url: null,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const config = require('./config');
|
const config = require('./config');
|
||||||
|
|
||||||
/** @type {Innertube} */
|
/** @type {Innertube} */
|
||||||
@ -295,19 +289,10 @@ async function iterableStreamToMP3(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getCoverBuffer(url) {
|
const getCoverBuffer = cache(async (url) => {
|
||||||
const store = cache.getCoverBuffer;
|
|
||||||
if (store.url === url) {
|
|
||||||
return store.buffer;
|
|
||||||
}
|
|
||||||
store.url = url;
|
|
||||||
|
|
||||||
const nativeImage = cropMaxWidth(await getImage(url));
|
const nativeImage = cropMaxWidth(await getImage(url));
|
||||||
store.buffer =
|
return nativeImage && !nativeImage.isEmpty() ? nativeImage.toPNG() : null;
|
||||||
nativeImage && !nativeImage.isEmpty() ? nativeImage.toPNG() : null;
|
});
|
||||||
|
|
||||||
return store.buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function writeID3(buffer, metadata, sendFeedback) {
|
async function writeID3(buffer, metadata, sendFeedback) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user