Fix updating playing status

This commit is contained in:
Arkadiusz Fal 2022-09-01 20:10:53 +02:00
parent db98124de5
commit df96c2dba0
2 changed files with 9 additions and 1 deletions

View File

@ -521,6 +521,12 @@ final class AVPlayerBackend: PlayerBackend {
MPNowPlayingInfoCenter.default().playbackState = self.avPlayer.timeControlStatus == .playing ? .playing : .paused
#endif
if self.controls.isPlaying != self.isPlaying {
DispatchQueue.main.async {
self.controls.isPlaying = self.isPlaying
}
}
if let currentTime = self.currentTime {
self.model.handleSegments(at: currentTime)
}
@ -562,7 +568,8 @@ final class AVPlayerBackend: PlayerBackend {
private func addPlayerTimeControlStatusObserver() {
playerTimeControlStatusObserver = avPlayer.observe(\.timeControlStatus) { [weak self] player, _ in
guard let self = self,
self.avPlayer == player
self.avPlayer == player,
self.model.activeBackend == .appleAVPlayer
else {
return
}

View File

@ -366,6 +366,7 @@ final class MPVBackend: PlayerBackend {
}
private func updateControlsIsPlaying() {
guard model.activeBackend == .mpv else { return }
DispatchQueue.main.async { [weak self] in
self?.controls?.isPlaying = self?.isPlaying ?? false
}