Skip to content

Commit

Permalink
add missing condition
Browse files Browse the repository at this point in the history
  • Loading branch information
plozinski committed Jul 23, 2024
1 parent f847e73 commit 5196072
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions ios/Video/RCTVideo.swift
Original file line number Diff line number Diff line change
Expand Up @@ -793,21 +793,20 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
}
let item: AVPlayerItem? = _player?.currentItem
if (item != nil) && item?.status == .readyToPlay {

let cmSeekTime: CMTime = CMTimeMakeWithSeconds(Float64(time), preferredTimescale: 1000)
let current: CMTime = item?.currentTime() ?? .zero

let tolerance: CMTime = CMTimeMake(value: Int64(tolerance), timescale: 1000)
let wasPaused = _paused

if CMTimeCompare(current, cmSeekTime) != 0 {
if !wasPaused { _player?.pause() }
_player?.seek(to: cmSeekTime, toleranceBefore: tolerance, toleranceAfter: tolerance) { finished in
_player?.seek(to: cmSeekTime, toleranceBefore: tolerance, toleranceAfter: tolerance) { _ in
self._playerObserver.addTimeObserverIfNotSet()
if !wasPaused {
self.setPaused(false)
}
if (self.onVideoSeek != nil) {
if self.onVideoSeek != nil {
self.onVideoSeek?(["currentTime": NSNumber(value: Float(CMTimeGetSeconds(item?.currentTime() ?? .zero))),
"seekTime": time,
"target": self.reactTag])
Expand Down Expand Up @@ -1820,7 +1819,7 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
peripheralPlayer?.pause()

let seekGroup: DispatchGroup = .init()

seekGroup.enter()
_player?.seek(to: cmSeekTime, toleranceBefore: tolerance, toleranceAfter: tolerance, completionHandler: { _ in
seekGroup.leave()
Expand Down Expand Up @@ -1864,10 +1863,13 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
return
}
_videoState = .init(rawValue: .init(_videoState.rawValue | state.rawValue))

if self.isPeripheral() {
let principal = self.principal()
principal?.onPeripheralVideoStatusChange()
} else if isVideoReady() && self.peripheral()?.isVideoReady() ?? false {
self.setPaused(false)
_principalPendingPlayRequest = false
}
}

Expand All @@ -1879,9 +1881,6 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH
if peripheral?.isVideoReady() ?? false && _principalPendingPlayRequest {
self.setPaused(false)
_principalPendingPlayRequest = false
} else if self.isVideoReady() && self.peripheral()?.isVideoReady() ?? false {
self.setPaused(false)
_principalPendingPlayRequest = false
}
}
}

0 comments on commit 5196072

Please sign in to comment.