Current State
Hardcoded Values (PlayerScreen.kt, lines 748-757)
Kotlin
val loadControl = DefaultLoadControl.Builder()
.setBufferDurationsMs(
12_000, // minBufferMs ← Fixed to 12 seconds
45_000, // maxBufferMs ← Fixed to 45 seconds
150, // bufferForPlaybackMs
1_500 // bufferForPlaybackAfterRebufferMs
)
.setTargetBufferBytes(targetBufferBytes)
.setPrioritizeTimeOverSizeThresholds(false)
Device-Specific Limits (Lines 743-747)
Kotlin
val targetBufferBytes = if (isConstrainedPlaybackDevice) {
48 * 1024 * 1024 // Constrained: 48 MB
} else {
80 * 1024 * 1024 // Standard: 80 MB
}
IPTV Timeout (Also Hardcoded)
OkHttp connection timeout insufficient for extended watching
Read timeout causes drops during long sessions (Changelog confirms)
Current State
Hardcoded Values (PlayerScreen.kt, lines 748-757)
Kotlin
val loadControl = DefaultLoadControl.Builder()
.setBufferDurationsMs(
12_000, // minBufferMs ← Fixed to 12 seconds
45_000, // maxBufferMs ← Fixed to 45 seconds
150, // bufferForPlaybackMs
1_500 // bufferForPlaybackAfterRebufferMs
)
.setTargetBufferBytes(targetBufferBytes)
.setPrioritizeTimeOverSizeThresholds(false)
Device-Specific Limits (Lines 743-747)
Kotlin
val targetBufferBytes = if (isConstrainedPlaybackDevice) {
48 * 1024 * 1024 // Constrained: 48 MB
} else {
80 * 1024 * 1024 // Standard: 80 MB
}
IPTV Timeout (Also Hardcoded)
OkHttp connection timeout insufficient for extended watching
Read timeout causes drops during long sessions (Changelog confirms)