SwiftのAVPlayerでネットワークからの動画再生を試しています。mp4ファイルをストリーミング再生を試みています。

PlayerのStatusを監視するためにKVOをセットします。

self.playerItem.addObserver(self, forKeyPath: "status", options: .New | .Initial, context: nil)

override func observeValueForKeyPath(keyPath: String,
  ofObject object: AnyObject,
  change: [NSObject : AnyObject],
  context: UnsafeMutablePointer<Void>) {}

でステータス変化時にこのfunctionで受けます。

statusが.ReadyToPlayのときには、play()で再生できますが、.Failedになるときがあります。

しかし、同じファイルを再生していますが、.ReadyToPlayになるときもあれば、.Failedになるときもあります。

はっきりしていませんが、ネットワークのスピードは早く出ているのですが、サーバのハードディスクが動きだした最初のアクセスが.Failedになるような気がします。(何度かやっていてそのような気がしてます)

どのようなときが.Failedになるのでしょうか?また.Failedになってもplay()すると再生ができる可能性はあるのでしょうか?

ご存知であればご教示お願いします。