mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-03-11 17:45:38 +00:00
Auto-select first stream sort fix
This commit is contained in:
parent
301560b21a
commit
44f9aa5c35
3 changed files with 8 additions and 5 deletions
1
LibTorrent
Submodule
1
LibTorrent
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit eb1c71397b8716b97fcd375fd646e96c89632a5e
|
||||
1
iTorrent
Submodule
1
iTorrent
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit c27088b0ac36bf9bb30fae34dc36db1231263bfd
|
||||
|
|
@ -234,25 +234,26 @@ export const useStreamsScreen = () => {
|
|||
return 0;
|
||||
};
|
||||
|
||||
const allStreams: Array<{ stream: Stream; quality: number; providerPriority: number }> = [];
|
||||
const allStreams: Array<{ stream: Stream; quality: number; providerPriority: number; originalIndex: number }> = [];
|
||||
|
||||
Object.entries(streamsData).forEach(([addonId, { streams }]) => {
|
||||
const qualityFiltered = filterByQuality(streams);
|
||||
const filteredStreams = filterByLanguage(qualityFiltered);
|
||||
|
||||
filteredStreams.forEach(stream => {
|
||||
filteredStreams.forEach((stream, index) => {
|
||||
const quality = getQualityNumeric(stream.name || stream.title);
|
||||
const providerPriority = getProviderPriority(addonId);
|
||||
allStreams.push({ stream, quality, providerPriority });
|
||||
allStreams.push({ stream, quality, providerPriority, originalIndex: index });
|
||||
});
|
||||
});
|
||||
|
||||
if (allStreams.length === 0) return null;
|
||||
|
||||
// Sort primarily by provider priority, then respect the addon's internal order (originalIndex)
|
||||
// This ensures if an addon lists 1080p before 4K, we pick 1080p
|
||||
allStreams.sort((a, b) => {
|
||||
if (a.quality !== b.quality) return b.quality - a.quality;
|
||||
if (a.providerPriority !== b.providerPriority) return b.providerPriority - a.providerPriority;
|
||||
return 0;
|
||||
return a.originalIndex - b.originalIndex;
|
||||
});
|
||||
|
||||
logger.log(
|
||||
|
|
|
|||
Loading…
Reference in a new issue