         center.removeObserver(self, name: AVPlayerItemDidPlayToEndTimeNotification, object: player)
 
         //Unobserving AVPlayer's property
-        for keyPath in AVPlayer.KVOProperties {
+        for keyPath in AVPlayer.ap_KVOProperties {
             player.removeObserver(self, forKeyPath: keyPath)
         }
 

            name: AVPlayerItemDidPlayToEndTimeNotification, object: player)

        //Observing AVPlayer's property
        for keyPath in AVPlayer.KVOProperties {
            player.addObserver(self, forKeyPath: keyPath, options: .New, context: nil)
        }



private extension AVPlayer {
    /// The list of properties that is observed through KVO.
    static var ap_KVOProperties: [String] {
        return [
            "currentItem.playbackBufferEmpty",
            "currentItem.playbackLikelyToKeepUp",
