diff --git a/MediaServiceCore b/MediaServiceCore index 637225b98..45030c762 160000 --- a/MediaServiceCore +++ b/MediaServiceCore @@ -1 +1 @@ -Subproject commit 637225b98e66d7566f769e0d36a8f2e7d9a0bcbe +Subproject commit 45030c762270a8c167b41622796d44880dc6f8a8 diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controllers/VideoLoaderController.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controllers/VideoLoaderController.java index 43ca1188e..60ff74136 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controllers/VideoLoaderController.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/playback/controllers/VideoLoaderController.java @@ -522,14 +522,10 @@ public class VideoLoaderController extends BasePlayerController { // No internet connection or WRONG DATE on the device restartEngine = false; } else if (error instanceof OutOfMemoryError || (error != null && error.getCause() instanceof OutOfMemoryError)) { - if (getPlayerTweaksData().getPlayerDataSource() == PlayerTweaksData.PLAYER_DATA_SOURCE_OKHTTP) { - // OkHttp has memory leak problems - enableFasterDataSource(); - } else if (getPlayerData().getVideoBufferType() == PlayerData.BUFFER_MEDIUM || getPlayerData().getVideoBufferType() == PlayerData.BUFFER_LOW) { - getPlayerTweaksData().enableSectionPlaylist(false); - restartEngine = false; - } else { + if (getPlayerData().getVideoBufferType() == PlayerData.BUFFER_HIGH || getPlayerData().getVideoBufferType() == PlayerData.BUFFER_HIGHEST) { getPlayerData().setVideoBufferType(PlayerData.BUFFER_MEDIUM); + } else { + switchNextEngine(); // OkHttp has memory leak. Cronet - sometimes too. } } else if (Helpers.containsAny(errorContent, "Exception in CronetUrlRequest")) { if (getVideo() != null && !getVideo().isLive) { // Finished live stream may provoke errors in Cronet