From d52686164926a769a4137ed55b44871489f00789 Mon Sep 17 00:00:00 2001 From: Shif-Jess <117321707+Shif-Jess@users.noreply.github.com> Date: Sun, 9 Apr 2023 20:56:25 +0700 Subject: [PATCH] CS3IPlayer: fix buffer lost when seeked to backward --- .../cloudstream3/ui/player/CS3IPlayer.kt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt index 9accf15e..4e6ade70 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/player/CS3IPlayer.kt @@ -670,6 +670,11 @@ class CS3IPlayer : IPlayer { **/ maxVideoHeight: Int? = null ): ExoPlayer { + val bufferDurationMs = if (videoBufferMs <= 0) { + DefaultLoadControl.DEFAULT_MAX_BUFFER_MS + } else { + videoBufferMs.toInt() + } val exoPlayerBuilder = ExoPlayer.Builder(context) .setRenderersFactory { eventHandler, videoRendererEventListener, audioRendererEventListener, textRendererOutput, metadataRendererOutput -> @@ -712,13 +717,13 @@ class CS3IPlayer : IPlayer { if (cacheSize > Int.MAX_VALUE) Int.MAX_VALUE else cacheSize.toInt() } ) + .setBackBuffer( + bufferDurationMs, + true + ) .setBufferDurationsMs( DefaultLoadControl.DEFAULT_MIN_BUFFER_MS, - if (videoBufferMs <= 0) { - DefaultLoadControl.DEFAULT_MAX_BUFFER_MS - } else { - videoBufferMs.toInt() - }, + bufferDurationMs, DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS, DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS ).build()