From b64cc1c3b45f0ee5f84b48088ec351d4a83ea3b9 Mon Sep 17 00:00:00 2001 From: Youssef Date: Mon, 2 Feb 2026 21:18:16 +0100 Subject: [PATCH] fix: loop no smooth on Ios player --- .../composemediaplayer/VideoPlayerState.ios.kt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/mediaplayer/src/iosMain/kotlin/io/github/kdroidfilter/composemediaplayer/VideoPlayerState.ios.kt b/mediaplayer/src/iosMain/kotlin/io/github/kdroidfilter/composemediaplayer/VideoPlayerState.ios.kt index c938d8b6..71d6415e 100644 --- a/mediaplayer/src/iosMain/kotlin/io/github/kdroidfilter/composemediaplayer/VideoPlayerState.ios.kt +++ b/mediaplayer/src/iosMain/kotlin/io/github/kdroidfilter/composemediaplayer/VideoPlayerState.ios.kt @@ -252,8 +252,18 @@ open class DefaultVideoPlayerState: VideoPlayerState { queue = null ) { _ -> if (_loop) { - player.seekToTime(CMTimeMakeWithSeconds(0.0, 1)) - player.playImmediatelyAtRate(_playbackSpeed) + val zeroTime = CMTimeMake(0, 1) + player.seekToTime( + time = CMTimeMakeWithSeconds(0.0, NSEC_PER_SEC.toInt()), + toleranceBefore = zeroTime, + toleranceAfter = zeroTime + ) { finished -> + if (finished) { + dispatch_async(dispatch_get_main_queue()) { + player.playImmediatelyAtRate(_playbackSpeed) + } + } + } } else { player.pause() _isPlaying = false