From 7074eec94af04b942fa8289670fcd1cc54327598 Mon Sep 17 00:00:00 2001 From: Swakshan Date: Fri, 20 Dec 2024 22:59:49 +0530 Subject: [PATCH] extension(Autoembed): Added stream resolution preference --- javascript/anime/src/all/autoembed.js | 35 ++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/javascript/anime/src/all/autoembed.js b/javascript/anime/src/all/autoembed.js index 3f3c85e5..d96d9df5 100644 --- a/javascript/anime/src/all/autoembed.js +++ b/javascript/anime/src/all/autoembed.js @@ -6,7 +6,7 @@ const mangayomiSources = [{ "iconUrl": "https://www.google.com/s2/favicons?sz=64&domain=https://autoembed.cc/", "typeSource": "multi", "isManga": false, - "version": "0.0.4", + "version": "0.0.5", "dateFormat": "", "dateFormatLocale": "", "pkgPath": "" @@ -162,6 +162,25 @@ class DefaultExtension extends MProvider { return streams; } + async sortStreams(streams) { + var sortedStreams = []; + + var copyStreams = streams.slice() + var pref = await this.getPreference("pref_video_resolution"); + for (var i in streams) { + var stream = streams[i]; + if (stream.quality.indexOf(pref) > -1) { + sortedStreams.push(stream); + var index = copyStreams.indexOf(stream); + if (index > -1) { + copyStreams.splice(index, 1); + } + break; + } + } + return [...sortedStreams, ...copyStreams] + } + // For anime episode video list async getVideoList(url) { var parts = url.split("||"); @@ -182,11 +201,11 @@ class DefaultExtension extends MProvider { streams.push({ url: link, originalUrl: link, - quality: "Auto", + quality: "auto", subtitles: subtitles, }); - return streams; + return await this.sortStreams(streams); } // For manga chapter pages async getPageList() { @@ -206,8 +225,18 @@ class DefaultExtension extends MProvider { entries: ["Day", "Week"], entryValues: ["day", "week"] } + }, { + key: 'pref_video_resolution', + listPreference: { + title: 'Preferred video resolution', + summary: '', + valueIndex: 0, + entries: ["Auto", "1080p", "720p", "360p"], + entryValues: ["auto", "1080", "720", "360"] + } }, + ]; }