From 3b4cb7628b0b04c636cf4847038d25955a6e3fc0 Mon Sep 17 00:00:00 2001 From: nyanmisaka Date: Fri, 4 Dec 2020 17:40:20 +0800 Subject: [PATCH 1/2] fix the issue where the bitrate option is always Auto --- src/components/qualityOptions.js | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/components/qualityOptions.js b/src/components/qualityOptions.js index 5e7230eef..42e7e9f52 100644 --- a/src/components/qualityOptions.js +++ b/src/components/qualityOptions.js @@ -52,19 +52,16 @@ export function getVideoQualityOptions(options) { qualityOptions.push({ name: '360p - 420 kbps', maxHeight: 360, bitrate: 420000 }); if (maxStreamingBitrate) { - let selectedIndex = -1; + let selectedIndex = 0; for (let i = 0, length = qualityOptions.length; i < length; i++) { const option = qualityOptions[i]; - if (selectedIndex === -1 && option.bitrate <= maxStreamingBitrate) { + if (option.bitrate > 0 && option.bitrate <= maxStreamingBitrate) { selectedIndex = i; + break; } } - if (selectedIndex === -1) { - selectedIndex = qualityOptions.length - 1; - } - const currentQualityOption = qualityOptions[selectedIndex]; if (!options.isAutomaticBitrateEnabled) { @@ -103,19 +100,16 @@ export function getAudioQualityOptions(options) { qualityOptions.push({ name: '64 kbps', bitrate: 64000 }); if (maxStreamingBitrate) { - let selectedIndex = -1; + let selectedIndex = 0; for (let i = 0, length = qualityOptions.length; i < length; i++) { const option = qualityOptions[i]; - if (selectedIndex === -1 && option.bitrate <= maxStreamingBitrate) { + if (option.bitrate > 0 && option.bitrate <= maxStreamingBitrate) { selectedIndex = i; + break; } } - if (selectedIndex === -1) { - selectedIndex = qualityOptions.length - 1; - } - const currentQualityOption = qualityOptions[selectedIndex]; if (!options.isAutomaticBitrateEnabled) { From ec27bb50b5840a85682b762e3df6dc07a4846cea Mon Sep 17 00:00:00 2001 From: nyanmisaka Date: Fri, 4 Dec 2020 18:14:20 +0800 Subject: [PATCH 2/2] fallback to the lowest bitrate option --- src/components/qualityOptions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/qualityOptions.js b/src/components/qualityOptions.js index 42e7e9f52..bdf20e279 100644 --- a/src/components/qualityOptions.js +++ b/src/components/qualityOptions.js @@ -52,7 +52,7 @@ export function getVideoQualityOptions(options) { qualityOptions.push({ name: '360p - 420 kbps', maxHeight: 360, bitrate: 420000 }); if (maxStreamingBitrate) { - let selectedIndex = 0; + let selectedIndex = qualityOptions.length - 1; for (let i = 0, length = qualityOptions.length; i < length; i++) { const option = qualityOptions[i]; @@ -100,7 +100,7 @@ export function getAudioQualityOptions(options) { qualityOptions.push({ name: '64 kbps', bitrate: 64000 }); if (maxStreamingBitrate) { - let selectedIndex = 0; + let selectedIndex = qualityOptions.length - 1; for (let i = 0, length = qualityOptions.length; i < length; i++) { const option = qualityOptions[i];