 
 extension Player {
     
-    
     // MARK: - AVPlayerLayerObservers
     
     internal func addPlayerLayerObservers() {

    }

    deinit {
        self._avplayer.removeTimeObserver(_timeObserver)
        self.delegate = nil
        self.removeApplicationObservers()

 
        self.removePlayerLayerObservers()
        self._playerView.player = nil

    // MARK: - AVPlayerObservers
    
    internal func addPlayerObservers() {
        self._timeObserver = self._avplayer.addPeriodicTimeObserver(forInterval: CMTimeMake(1,100), queue: DispatchQueue.main, using: { [weak self] timeInterval in
            guard let strongSelf = self
            else {
                return
            }
            strongSelf.delegate?.playerCurrentTimeDidChange?(strongSelf)
        })
        self._avplayer.addObserver(self, forKeyPath: PlayerRateKey, options: ([.new, .old]) , context: &PlayerObserverContext)
    }
    
    internal func removePlayerObservers() {
        self._avplayer.removeTimeObserver(_timeObserver)
        self._avplayer.removeObserver(self, forKeyPath: PlayerRateKey, context: &PlayerObserverContext)
    }
    
