title: AVPlayer Not Recovering After Buffering
body: <p>My iOS app uses an <code>AVPlayer</code> to stream media from the web. I'm using KVO to detect events like buffering (<code>playbackBufferEmpty</code>) and being caught up (<code>playbackLikelyToKeepUp</code>). However, I've noticed an eerily specific bug. Although during most network slowdowns, the <code>playbackBufferEmpty</code> KVO is hit, and when it recovers, the <code>playbackLikelyToKeepUp</code> KVO is hit as expected, I have noticed that (with some frequency) the <code>AVPlayer</code> will buffer for some period of time, recover, the <code>playbackLikelyToKeepUp</code> is hit, the audio plays for maybe 1-3 seconds, and then the audio stops playing again as if it were buffering—<em>without</em> hitting the <code>playbackBufferEmpty</code> KVO again. And it doesn't recover from this.</p>
  
  <p>TL;DR: <code>playbackBufferEmpty</code> (10-20 seconds) -> <code>playbackLikelyToKeepUp</code> -> plays for 1-3s -> stops playing but no KVO is hit. </p>
  
  <p>The worst part is when this happens, the <code>AVPlayer</code> does not auto-start playing again like it does when recovering from buffering, and the app is silent until the <code>AVPlayer</code> is manually stopped/started again. It happens more or less every time I stream, eventually. Is this a known issue with <code>AVPlayer</code>? Is this some third KVO event that I can watch for? Or any tips on how to debug this? Thanks!</p>
  
  <p><strong>EDIT</strong>: additional info:
  The <code>AVPlayer</code>'s <code>error</code> property is <code>nil</code> when this happens, the <code>status</code> property is Ready to Play, and the <code>rate</code> property is 1. AKA Nothing else weird going on, as far as I can tell.</p>