             strongSelf.playbackDelegate?.playerCurrentTimeDidChange(strongSelf)
         })
         
-        self._avplayer.addObserver(self, forKeyPath: PlayerRateKey, options: [.new, .old], context: &PlayerObserverContext)
         if #available(iOS 10.0, tvOS 10.0, *) {
             self._avplayer.addObserver(self, forKeyPath: PlayerTimeControlStatusKey, options: [.new, .old], context: &PlayerObserverContext)
         }

    // MARK: -

    override open func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {

        // PlayerRateKey, PlayerObserverContext

        if context == &PlayerItemObserverContext {


        if let observer = self._playerTimeObserver {
            self._avplayer.removeTimeObserver(observer)
        }
        if #available(iOS 10.0, tvOS 10.0, *) {
            self._avplayer.removeObserver(self, forKeyPath: PlayerTimeControlStatusKey, context: &PlayerObserverContext)
        }
