                 if let contentUrl = sources[0].contentUrl {
                     PKLog.trace("prepareNext item for player")
                     self.replaceCurrentItem(with: AVPlayerItem(url: contentUrl))
-                    
+                    self.setupNonObservablePropertiesUpdateTimer()
                     self.addObservers()
-                    self.nonObservablePropertiesUpdateTimer.suspend()
-                    self.setupNonObservablePropertiesUpdateTimer()
                 }
             }
         }

        nonObservablePropertiesUpdateTimer.setEventHandler { [weak self] in
            self?.updateNonObservableProperties()
        }
        
        nonObservablePropertiesUpdateTimer.scheduleRepeating(deadline: DispatchTime.now(),
                                                             interval: DispatchTimeInterval.milliseconds(50))
    }
    
    /**

    }
    
    private func updateNonObservableProperties() {
        if let currItem = self.currentItem {
            if let timebase = currItem.timebase {
                if let timebaseRate: Float64 = CMTimebaseGetRate(timebase){
                    if timebaseRate == 1.0 {
                        self.postEvent(event: PlayerEvents.playing())
                        nonObservablePropertiesUpdateTimer.suspend()
                    }
                    
                    PKLog.trace("timebaseRate:: \(timebaseRate)")
                }
            }
        }
    }
}
