diff --git a/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt b/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt
index 80f738b02..38b41d2a0 100644
--- a/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt
+++ b/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt
@@ -77,6 +77,7 @@ object PreferenceKeys {
const val PICTURE_IN_PICTURE = "picture_in_picture"
const val PLAYER_RESIZE_MODE = "player_resize_mode"
const val SB_SKIP_MANUALLY = "sb_skip_manually_key"
+ const val LIMIT_HLS = "limit_hls"
/**
* Background mode
@@ -101,8 +102,6 @@ object PreferenceKeys {
const val CLEAR_WATCH_HISTORY = "clear_watch_history"
const val CLEAR_WATCH_POSITIONS = "clear_watch_positions"
const val SHARE_WITH_TIME_CODE = "share_with_time_code"
- const val BACKUP_SETTINGS = "backup_settings"
- const val RESTORE_SETTINGS = "restore_settings"
/**
* History
diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt
index 5f9dc91ed..6b1053043 100644
--- a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt
+++ b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt
@@ -1358,6 +1358,18 @@ class PlayerFragment : BaseFragment() {
// control for the track sources like subtitles and audio source
trackSelector = DefaultTrackSelector(requireContext())
+ // limit hls to full hd
+ if (
+ PreferenceHelper.getBoolean(
+ PreferenceKeys.LIMIT_HLS,
+ false
+ )
+ ) {
+ val newParams = trackSelector.buildUponParameters()
+ .setMaxVideoSize(1920, 1080)
+ trackSelector.setParameters(newParams)
+ }
+
exoPlayer = ExoPlayer.Builder(requireContext())
.setMediaSourceFactory(DefaultMediaSourceFactory(dataSourceFactory))
.setLoadControl(loadControl)
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 50df12478..ad0ac774b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -333,6 +333,7 @@
Navigation bar
Please select at least one item
Trending seems to be unavailable for the current region. Please select another in the settings.
+ Limit HLS to 1080p
Download Service
diff --git a/app/src/main/res/xml/audio_video_settings.xml b/app/src/main/res/xml/audio_video_settings.xml
index 28de14c7d..80eb31c7c 100644
--- a/app/src/main/res/xml/audio_video_settings.xml
+++ b/app/src/main/res/xml/audio_video_settings.xml
@@ -66,6 +66,12 @@
app:title="@string/playerAudioFormat"
app:useSimpleSummaryProvider="true" />
+
+