From b18bf988544f9cc9953f039186dd6d77e58904f2 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Mon, 26 Sep 2022 19:12:52 +0200 Subject: [PATCH] add option to limit hls --- .../com/github/libretube/constants/PreferenceKeys.kt | 3 +-- .../github/libretube/ui/fragments/PlayerFragment.kt | 12 ++++++++++++ app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/audio_video_settings.xml | 6 ++++++ 4 files changed, 20 insertions(+), 2 deletions(-) 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" /> + +