From bc0220f15cb5b12ffd44f312bb5b7893cdf6aeeb Mon Sep 17 00:00:00 2001 From: VenusIsJaded Date: Fri, 15 May 2026 00:59:11 -0500 Subject: [PATCH] fix: enable decoder fallback when software decoders are available ExoPlayer was not falling back to software decoders when hardware decoders reported NO_EXCEEDS_CAPABILITIES (e.g., HEVC 10-bit on devices like Lenovo Tab M11). This enables setEnableDecoderFallback for all modes except EXTENSION_RENDERER_MODE_OFF (device only), respecting users who explicitly disabled software decoders. --- .../kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/composeApp/src/androidMain/kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt b/composeApp/src/androidMain/kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt index ebdcfd92..23d0508b 100644 --- a/composeApp/src/androidMain/kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt +++ b/composeApp/src/androidMain/kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt @@ -102,6 +102,7 @@ actual fun PlatformPlayerSurface( val exoPlayer = remember(sourceUrl, sourceAudioUrl, sanitizedSourceHeaders, sanitizedSourceResponseHeaders) { val renderersFactory = DefaultRenderersFactory(context) .setExtensionRendererMode(playerSettings.decoderPriority) + .setEnableDecoderFallback(playerSettings.decoderPriority != DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF) .setMapDV7ToHevc(playerSettings.mapDV7ToHevc) val trackSelector = DefaultTrackSelector(context).apply {