diff --git a/app/src/main/java/org/schabi/newpipe/settings/ExoPlayerSettingsFragment.java b/app/src/main/java/org/schabi/newpipe/settings/ExoPlayerSettingsFragment.java
new file mode 100644
index 000000000..7e740f869
--- /dev/null
+++ b/app/src/main/java/org/schabi/newpipe/settings/ExoPlayerSettingsFragment.java
@@ -0,0 +1,14 @@
+package org.schabi.newpipe.settings;
+
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+
+public class ExoPlayerSettingsFragment extends BasePreferenceFragment {
+
+ @Override
+ public void onCreatePreferences(@Nullable final Bundle savedInstanceState,
+ @Nullable final String rootKey) {
+ addPreferencesFromResourceRegistry();
+ }
+}
diff --git a/app/src/main/java/org/schabi/newpipe/settings/SettingsResourceRegistry.java b/app/src/main/java/org/schabi/newpipe/settings/SettingsResourceRegistry.java
index 78ddb3786..b3d0741bb 100644
--- a/app/src/main/java/org/schabi/newpipe/settings/SettingsResourceRegistry.java
+++ b/app/src/main/java/org/schabi/newpipe/settings/SettingsResourceRegistry.java
@@ -40,6 +40,7 @@ public final class SettingsResourceRegistry {
add(PlayerNotificationSettingsFragment.class, R.xml.player_notification_settings);
add(UpdateSettingsFragment.class, R.xml.update_settings);
add(VideoAudioSettingsFragment.class, R.xml.video_audio_settings);
+ add(ExoPlayerSettingsFragment.class, R.xml.exoplayer_settings);
}
private SettingRegistryEntry add(
diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml
index 8f3e8e192..f00c25c8c 100644
--- a/app/src/main/res/values/settings_keys.xml
+++ b/app/src/main/res/values/settings_keys.xml
@@ -1366,4 +1366,6 @@
streams_notifications_channels
player_notification_screen
+
+ exoplayer_settings_key
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 43705056b..1dad7c01d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -773,4 +773,8 @@
Partially watched
Upcoming
Sort
+ ExoPlayer settings
+ Manage some ExoPlayer settings. These changes require a player restart to take effect
+ Use ExoPlayer\'s decoder fallback feature
+ Enable this option if you have decoder initialization issues, which falls back to lower-priority decoders if primary decoders initialization fail. This may result in poor playback performance than when using primary decoders
\ No newline at end of file
diff --git a/app/src/main/res/xml/exoplayer_settings.xml b/app/src/main/res/xml/exoplayer_settings.xml
new file mode 100644
index 000000000..fd5637115
--- /dev/null
+++ b/app/src/main/res/xml/exoplayer_settings.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/video_audio_settings.xml b/app/src/main/res/xml/video_audio_settings.xml
index e4485f154..75a925c65 100644
--- a/app/src/main/res/xml/video_audio_settings.xml
+++ b/app/src/main/res/xml/video_audio_settings.xml
@@ -61,13 +61,11 @@
app:iconSpaceReserved="false"
app:useSimpleSummaryProvider="true" />
-