Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS 6 streaming player com.apple.coremedia.networkbuffering bug

I'm having trouble on make my app(music and video stream player) running on iOS 6 simulator.

When I start a music ou video it crashes showing an error on this thread: com.apple.coremedia.networkbuffering

and this on log info:

2012-09-13 17:45:09.260 app[32563:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-09-13 17:45:09.260 app[32563:c07] [MPAVController] Autoplay: Disabling autoplay
2012-09-13 17:45:09.305 app[32563:c07] [MPAVController] Autoplay: Enabling autoplay
2012-09-13 17:45:09.307 app[32563:c07] handlePlaybackNowPlayingNotification
2012-09-13 17:45:09.308 app[32563:c07] [MPAVController] Autoplay: Likely to keep up or full buffer: 0
2012-09-13 17:45:09.308 app[32563:c07] [MPAVController] Autoplay: Skipping autoplay, not enough buffered to keep up.
2012-09-13 17:45:09.318 app[32563:c07] [MPAVController] Autoplay: Enabling autoplay
2012-09-13 17:45:09.320 app[32563:c07] [MPCloudAssetDownloadController] Prioritization requested for media item ID: 0

I'm using MPMoviePlayerController with http based stream, and it works fine on iOS 4 or iOS 5

Any ideas on how to fix it?

like image 388
jMelnik Avatar asked Sep 13 '12 21:09

jMelnik


2 Answers

I was having the exact same problem...

try to do this just after you instantiate your player:

[player prepareToPlay];

It should be called automatically when you call play but apparently on iOS 6 something goes wrong if you don't call it explicitly.

In my case it solved the problem.

like image 89
ortnec Avatar answered Nov 16 '22 10:11

ortnec


What you are observing is not a crash but an exception. You most likely have an exception breakpoint enabled and that leads you to the assumption that the app crashes.

That exception actually is properly handled (cought) by the SDK and does not cause an app crash.

Please note that this is only happening on the simulator, not on the device.

The issue is closely related to this issue what-does-this-gdb-output-mean. The difference is that you won't get those error messages anymore but the exception's still are thrown (but also cought).

like image 13
Till Avatar answered Nov 16 '22 09:11

Till