AVPlayer does not resume playback after at least 120s of pausing an audio livestream

Originator:Benny.Lach
Number:rdar://29362808 Date Originated:22-Nov-2016
Status:closed Resolved:duplicate of 26439302 (open)
Product:iOS SDK Product Version:iOS 10
Classification:Serious Bug Reproducible:yes
 
Summary:
An AVPlayer instance does not resume the playback of an audio livestream after pausing it for at least 120 s or more. If AVPlayer.play() or AVPlayer.rate = 1.0 is called, nothing happens. Checking AVPlayer.reasonForWaitingToPlay is always AVPlayerWaitingToMinimizeStallsReason while AVPlayerItem.isPlaybackBufferFull is true. AVPlayerItem.status is ReadyToPlay. There is also no error that is pointing to a problem.

I've attached a Playground to reproduce the problem.

Steps to Reproduce:
1. Create an AVPlayer instance using an audio livestream url
2. AVPlayer.play()
3. AVPlayer.pause() after 15s 
4. AVPlayer.play() after 120s

Expected Results:
The instance should recover and play or at least it should report an error to give the developer a chance to handle it himself

Actual Results:
The instance is waiting forever to minimize stalls while PlaybackBufferFull = true and status = ReadyToPlay 

Version:
iOS 10.1 Xcode 8.1

Notes:


Configuration:
Doesn't matter which device you are using. It's happening in a playground, on the simulator and on a real device as well.

Attachments:
'Player.playground.zip' was successfully uploaded.

Comments

Playground to reproduce

I've saved the linked Playground as a gist: https://gist.github.com/B-Lach/d78306e95634fb8fa48eb8e15a70405d

By Benny.Lach at Nov. 22, 2016, 9:30 a.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!