From 50f6b15d233336d992d7f6f14c9b1bc5e21106bc Mon Sep 17 00:00:00 2001 From: ronaldheft Date: Thu, 1 Sep 2022 17:40:49 -0400 Subject: [PATCH] Refactor to ensure we aren't missing any update time --- ios/App/Shared/player/AudioPlayer.swift | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ios/App/Shared/player/AudioPlayer.swift b/ios/App/Shared/player/AudioPlayer.swift index 5bb5e962..b20d69d7 100644 --- a/ios/App/Shared/player/AudioPlayer.swift +++ b/ios/App/Shared/player/AudioPlayer.swift @@ -194,18 +194,18 @@ class AudioPlayer: NSObject { } private func setupQueueItemStatusObserver() { + NSLog("queueStatusObserver: Setting up") + + // Listen for player item updates self.queueItemStatusObserver?.invalidate() - let status = self.audioPlayer.currentItem?.status.rawValue ?? -1 - - NSLog("queueStatusObserver: Setting up status=\(status)") - // First item already loaded, we need to fire manually - if status == 1, let playerItem = self.audioPlayer.currentItem { - self.handleQueueItemStatus(playerItem: playerItem) - } - // Now listen for future updates self.queueItemStatusObserver = self.audioPlayer.currentItem?.observe(\.status, options: [.new, .old], changeHandler: { playerItem, change in self.handleQueueItemStatus(playerItem: playerItem) }) + + // Ensure we didn't miss a player item update during initialization + if let playerItem = self.audioPlayer.currentItem { + self.handleQueueItemStatus(playerItem: playerItem) + } } private func handleQueueItemStatus(playerItem: AVPlayerItem) {