diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreenRuntimeUi.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreenRuntimeUi.kt index d83c22fd1..f38658598 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreenRuntimeUi.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/player/PlayerScreenRuntimeUi.kt @@ -384,7 +384,10 @@ private fun BoxScope.RenderPlaybackOverlays( skipIntervalDismissed = skipIntervalDismissed, controlsVisible = controlsVisible, onSkipInterval = { interval -> - playerController?.seekTo((interval.endTime * 1000).toLong()) + val rawMs = (interval.endTime * 1000.0).toLong() + val durationMs = playbackSnapshot.durationMs + val seekMs = if (durationMs > 0L) rawMs.coerceAtMost(durationMs - 1) else rawMs + playerController?.seekTo(seekMs) scheduleProgressSyncAfterSeek() skipIntervalDismissed = true },