Prioritizing known video qualities as fallbacks, fixed Gamma quality format.
This commit is contained in:
10
src/media.js
10
src/media.js
@@ -213,7 +213,7 @@ function baseSourceToBaseMedia(baseSource, role, metadata) {
|
||||
|
||||
function sortBaseTrailersByQuality(sources, role) {
|
||||
if (role === 'trailers') {
|
||||
const sortedSources = sources.sort((sourceA, sourceB) => {
|
||||
const sortedSources = sources.toSorted((sourceA, sourceB) => {
|
||||
if (config.media.trailerQuality.includes(sourceB.quality) && config.media.trailerQuality.indexOf(sourceA.quality) > config.media.trailerQuality.indexOf(sourceB.quality)) {
|
||||
return 1;
|
||||
}
|
||||
@@ -222,6 +222,14 @@ function sortBaseTrailersByQuality(sources, role) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (config.media.trailerQuality.includes(sourceB.quality) && !config.media.trailerQuality.includes(sourceA.quality)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (config.media.trailerQuality.includes(sourceA.quality) && !config.media.trailerQuality.includes(sourceB.quality)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
});
|
||||
|
||||
|
||||
@@ -436,6 +436,10 @@ async function scrapeScene({ query }, url, channel, baseRelease, mobileItem, opt
|
||||
return release;
|
||||
}
|
||||
|
||||
const qualityMap = {
|
||||
'4k': 2160,
|
||||
};
|
||||
|
||||
async function scrapeReleaseApi(data, site, options, movieScenes) {
|
||||
const release = {};
|
||||
|
||||
@@ -478,7 +482,10 @@ async function scrapeReleaseApi(data, site, options, movieScenes) {
|
||||
release.teaser = `https://videothumb.gammacdn.com/500x281/${release.entryId}.mp4`;
|
||||
|
||||
if (data.trailers) {
|
||||
release.trailer = Object.entries(data.trailers).map(([quality, source]) => ({ src: source, quality }));
|
||||
release.trailer = Object.entries(data.trailers).map(([quality, source]) => ({
|
||||
src: source,
|
||||
quality: qualityMap[quality] || parseInt(quality, 10) || quality,
|
||||
}));
|
||||
}
|
||||
|
||||
if (data.movie_id && !data.movie_path && options.parameters.sceneMovies !== false) {
|
||||
@@ -494,7 +501,7 @@ async function scrapeReleaseApi(data, site, options, movieScenes) {
|
||||
}
|
||||
|
||||
release.channel = slugify(data.mainChannel?.id || data.sitename, ''); // remove -
|
||||
release.qualities = data.download_sizes;
|
||||
release.qualities = data.download_sizes?.map((quality) => qualityMap[quality] || parseInt(quality, 10) || quality);
|
||||
|
||||
return release;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user