diff --git a/app/src/main/java/com/nuvio/tv/ui/screens/player/PlayerScreen.kt b/app/src/main/java/com/nuvio/tv/ui/screens/player/PlayerScreen.kt index c9b9d3ed..86519931 100644 --- a/app/src/main/java/com/nuvio/tv/ui/screens/player/PlayerScreen.kt +++ b/app/src/main/java/com/nuvio/tv/ui/screens/player/PlayerScreen.kt @@ -865,7 +865,8 @@ fun PlayerScreen( ) { PlayerClockOverlay( currentPosition = uiState.currentPosition, - duration = uiState.duration + duration = uiState.duration, + playbackSpeed = uiState.playbackSpeed ) } @@ -1797,7 +1798,8 @@ private fun SeekOverlay(uiState: PlayerUiState) { @Composable private fun PlayerClockOverlay( currentPosition: Long, - duration: Long + duration: Long, + playbackSpeed: Float ) { var nowMs by remember { mutableStateOf(System.currentTimeMillis()) } val context = LocalContext.current @@ -1812,7 +1814,9 @@ private fun PlayerClockOverlay( } } - val remainingMs = (duration - currentPosition).coerceAtLeast(0L) + val effectiveSpeed = playbackSpeed.takeIf { it > 0f } ?: 1f + val remainingMediaMs = (duration - currentPosition).coerceAtLeast(0L) + val remainingMs = kotlin.math.ceil(remainingMediaMs.toDouble() / effectiveSpeed.toDouble()).toLong() val endTimeText = if (duration > 0L) { timeFormatter.format(Date(nowMs + remainingMs)) } else {