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 bd6446fb0..4a39312b6 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 @@ -333,7 +333,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) else rawMs + playerController?.seekTo(seekMs) scheduleProgressSyncAfterSeek() skipIntervalDismissed = true },