From 1d43a2362cb8a5688c18af76acadb7554965adec Mon Sep 17 00:00:00 2001 From: Robin <robin.gawenda@ondamedia.de> Date: Fri, 14 May 2021 12:05:52 +0200 Subject: [PATCH] Add debug option to disable media tunneling --- app/src/main/java/org/schabi/newpipe/player/Player.java | 6 +++++- app/src/main/res/values/settings_keys.xml | 1 + app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/debug_settings.xml | 7 +++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/Player.java b/app/src/main/java/org/schabi/newpipe/player/Player.java index ba6521b91..d319e99ad 100644 --- a/app/src/main/java/org/schabi/newpipe/player/Player.java +++ b/app/src/main/java/org/schabi/newpipe/player/Player.java @@ -495,7 +495,11 @@ public final class Player implements simpleExoPlayer.addTextOutput(binding.subtitleView); // enable media tunneling - if (DeviceUtils.shouldSupportMediaTunneling()) { + if (DEBUG && PreferenceManager.getDefaultSharedPreferences(context) + .getBoolean(context.getString(R.string.disable_media_tunneling_key), false)) { + Log.d(TAG, "[" + Util.DEVICE_DEBUG_INFO + "] " + + "media tunneling disabled in debug preferences"); + } else if (DeviceUtils.shouldSupportMediaTunneling()) { trackSelector.setParameters( trackSelector.buildUponParameters().setTunnelingEnabled(true)); } else if (DEBUG) { diff --git a/app/src/main/res/values/settings_keys.xml b/app/src/main/res/values/settings_keys.xml index 9a1fcba7d..6973a72f2 100644 --- a/app/src/main/res/values/settings_keys.xml +++ b/app/src/main/res/values/settings_keys.xml @@ -172,6 +172,7 @@ <string name="show_memory_leaks_key" translatable="false">show_memory_leaks_key</string> <string name="allow_disposed_exceptions_key" translatable="false">allow_disposed_exceptions_key</string> <string name="show_original_time_ago_key" translatable="false">show_original_time_ago_text_key</string> + <string name="disable_media_tunneling_key" translatable="false">disable_media_tunneling_text_key</string> <string name="crash_the_app_key" translatable="false">crash_the_app_key</string> <!-- THEMES --> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 247326b7a..5acb83e40 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -521,6 +521,8 @@ <string name="enable_disposed_exceptions_summary">Force reporting of undeliverable Rx exceptions outside of fragment or activity lifecycle after disposal</string> <string name="show_original_time_ago_title">Show original time ago on items</string> <string name="show_original_time_ago_summary">Original texts from services will be visible in stream items</string> + <string name="disable_media_tunneling_title">Disable media tunneling</string> + <string name="disable_media_tunneling_summary">Disable media tunneling if you experience a black screen or stuttering on video playback</string> <string name="crash_the_app">Crash the app</string> <!-- Subscriptions import/export --> <string name="import_export_title">Import/export</string> diff --git a/app/src/main/res/xml/debug_settings.xml b/app/src/main/res/xml/debug_settings.xml index 8dda516fe..d27d67aad 100644 --- a/app/src/main/res/xml/debug_settings.xml +++ b/app/src/main/res/xml/debug_settings.xml @@ -30,6 +30,13 @@ android:title="@string/show_original_time_ago_title" app:iconSpaceReserved="false" /> + <SwitchPreferenceCompat + android:defaultValue="false" + android:key="@string/disable_media_tunneling_key" + android:summary="@string/disable_media_tunneling_summary" + android:title="@string/disable_media_tunneling_title" + app:iconSpaceReserved="false" /> + <Preference android:key="@string/crash_the_app_key" android:title="@string/crash_the_app"