mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-30 07:07:22 +02:00
iOS fix infinite loop in AVPlayer observer
This commit is contained in:
@@ -253,15 +253,17 @@ class AudioPlayer: NSObject {
|
|||||||
if playerStatus == .readyToPlay {
|
if playerStatus == .readyToPlay {
|
||||||
self.updateNowPlaying()
|
self.updateNowPlaying()
|
||||||
|
|
||||||
|
let firstReady = self.status < 0
|
||||||
self.status = 0
|
self.status = 0
|
||||||
if self.playWhenReady {
|
if self.playWhenReady {
|
||||||
|
seek(playbackSession.currentTime)
|
||||||
self.playWhenReady = false
|
self.playWhenReady = false
|
||||||
self.play()
|
self.play()
|
||||||
}
|
} else if (firstReady) { // Only seek on first readyToPlay
|
||||||
|
|
||||||
seek(playbackSession.currentTime)
|
seek(playbackSession.currentTime)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else if context == &playerContext {
|
} else if context == &playerContext {
|
||||||
if keyPath == #keyPath(AVPlayer.rate) {
|
if keyPath == #keyPath(AVPlayer.rate) {
|
||||||
self.setPlaybackRate(change?[.newKey] as? Float ?? 1.0, observed: true)
|
self.setPlaybackRate(change?[.newKey] as? Float ?? 1.0, observed: true)
|
||||||
|
|||||||
Reference in New Issue
Block a user