From e65492c254de034ba810be79a038399ce54a4137 Mon Sep 17 00:00:00 2001 From: Niels van Velzen Date: Tue, 13 Aug 2024 14:25:34 +0200 Subject: [PATCH] Enable constant bitrate seeking --- .../org/jellyfin/androidtv/ui/playback/VideoManager.java | 2 ++ .../media3/exoplayer/src/main/kotlin/ExoPlayerBackend.kt | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/jellyfin/androidtv/ui/playback/VideoManager.java b/app/src/main/java/org/jellyfin/androidtv/ui/playback/VideoManager.java index 4789db398c..81c933350b 100644 --- a/app/src/main/java/org/jellyfin/androidtv/ui/playback/VideoManager.java +++ b/app/src/main/java/org/jellyfin/androidtv/ui/playback/VideoManager.java @@ -191,6 +191,8 @@ private ExoPlayer.Builder configureExoplayerBuilder(Context context) { httpDataSourceFactory.setReadTimeoutMs(30 * 1000); DefaultDataSource.Factory dataSourceFactory = new DefaultDataSource.Factory(context, httpDataSourceFactory); exoPlayerBuilder.setMediaSourceFactory(new DefaultMediaSourceFactory(dataSourceFactory, extractorsFactory)); + extractorsFactory.setConstantBitrateSeekingEnabled(true); + extractorsFactory.setConstantBitrateSeekingAlwaysEnabled(true); return exoPlayerBuilder; } diff --git a/playback/media3/exoplayer/src/main/kotlin/ExoPlayerBackend.kt b/playback/media3/exoplayer/src/main/kotlin/ExoPlayerBackend.kt index bbba11566d..a50ec41ca4 100644 --- a/playback/media3/exoplayer/src/main/kotlin/ExoPlayerBackend.kt +++ b/playback/media3/exoplayer/src/main/kotlin/ExoPlayerBackend.kt @@ -84,14 +84,15 @@ class ExoPlayerBackend( } ), DefaultExtractorsFactory().apply { - val isLowRamDevice = - context.getSystemService()?.isLowRamDevice == true + val isLowRamDevice = context.getSystemService()?.isLowRamDevice == true setTsExtractorTimestampSearchBytes( when (isLowRamDevice) { true -> TS_SEARCH_BYTES_LM false -> TS_SEARCH_BYTES_HM } ) + setConstantBitrateSeekingEnabled(true) + setConstantBitrateSeekingAlwaysEnabled(true) } )) .setPauseAtEndOfMediaItems(true)