                     }
                     
                     self?._playingPath = assetPath
-                    self?.setBuffering(false)
+                    //self?.setBuffering(false)
                     
                     self?.addPostPlayingBufferListeners(item: item)
+                    self?.addPlayerStatusListeners(item: (self?.player)!);
                     
                     result(nil)
                 case .failed:

    func pause(){
        self.player?.pause()
        
        self.updateNotifStatus(playing: false, stopped: false, rate: 0)
        
        self.playing = false
        self.currentTimeTimer?.invalidate()
    }
    

            // hide buffering
            self?.setBuffering(false)
        })
    }
    
    
    private func addPlayerStatusListeners(item : AVQueuePlayer){
        if #available(iOS 10.0, *){
            observerStatus.append( item.observe(\.timeControlStatus, options: [.new]) { [weak self] (value, _) in
                // show buffering
                if(value.timeControlStatus == AVPlayer.TimeControlStatus.playing){
                    self?.playing = true;
                    self?.updateNotifStatus(playing: true, stopped: false, rate: self?.player?.rate)
                }else if(value.timeControlStatus == AVPlayer.TimeControlStatus.paused){
                    self?.playing = false;
                    self?.updateNotifStatus(playing: false, stopped: false, rate: 0)
                }else{
                    self?.playing = false;
                    self?.updateNotifStatus(playing: false, stopped: false, rate: 0)
                }
            })
        }
    }
    
    func getMillisecondsFromCMTime(_ time: CMTime) -> Double {
