mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-05-21 16:57:18 +02:00
fix(YouTube - Video playback): Correctly set default quality when changing from a low quality video
This commit is contained in:
parent
9f2276813c
commit
e5bbc036f4
@ -5,6 +5,7 @@ import static app.revanced.extension.shared.utils.StringRef.str;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import app.revanced.extension.shared.settings.IntegerSetting;
|
||||
import app.revanced.extension.shared.utils.Logger;
|
||||
import app.revanced.extension.shared.utils.Utils;
|
||||
import app.revanced.extension.youtube.settings.Settings;
|
||||
import app.revanced.extension.youtube.shared.PlayerType;
|
||||
@ -58,11 +59,11 @@ public class VideoQualityPatch {
|
||||
if (defaultQuality == DEFAULT_YOUTUBE_VIDEO_QUALITY)
|
||||
return;
|
||||
|
||||
Utils.runOnMainThreadDelayed(() ->
|
||||
VideoInformation.overrideVideoQuality(
|
||||
VideoInformation.getAvailableVideoQuality(defaultQuality)
|
||||
),
|
||||
delayMillis
|
||||
Utils.runOnMainThreadDelayed(() -> {
|
||||
final int qualityToUseFinal = VideoInformation.getAvailableVideoQuality(defaultQuality);
|
||||
Logger.printDebug(() -> "Changing video quality to: " + qualityToUseFinal);
|
||||
VideoInformation.overrideVideoQuality(qualityToUseFinal);
|
||||
}, delayMillis
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -71,6 +71,8 @@ public final class VideoInformation {
|
||||
@Nullable
|
||||
private static List<Integer> videoQualities;
|
||||
|
||||
private static boolean qualityNeedsUpdating;
|
||||
|
||||
/**
|
||||
* Injection point.
|
||||
*/
|
||||
@ -415,16 +417,18 @@ public final class VideoInformation {
|
||||
* @return available video quality.
|
||||
*/
|
||||
public static int getAvailableVideoQuality(int preferredQuality) {
|
||||
if (videoQualities != null) {
|
||||
int qualityToUse = videoQualities.get(0); // first element is automatic mode
|
||||
for (Integer quality : videoQualities) {
|
||||
if (quality <= preferredQuality && qualityToUse < quality) {
|
||||
qualityToUse = quality;
|
||||
}
|
||||
}
|
||||
preferredQuality = qualityToUse;
|
||||
if (!qualityNeedsUpdating || videoQualities == null) {
|
||||
return preferredQuality;
|
||||
}
|
||||
return preferredQuality;
|
||||
qualityNeedsUpdating = false;
|
||||
|
||||
int qualityToUse = videoQualities.get(0); // first element is automatic mode
|
||||
for (Integer quality : videoQualities) {
|
||||
if (quality <= preferredQuality && qualityToUse < quality) {
|
||||
qualityToUse = quality;
|
||||
}
|
||||
}
|
||||
return qualityToUse;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user