[AVPlaybackItem fpItem]:消息发送到释放的实例 [英] [AVPlaybackItem fpItem]: message sent to deallocated instance

查看:189
本文介绍了[AVPlaybackItem fpItem]:消息发送到释放的实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用MPMoviePlayerController播放电影。后来,应用程序被重新启动(意味着伪重置,其中所有viewControllers被删除,用户返回主屏幕),并再次播放相同的电影。

I play a movie with MPMoviePlayerController. Later, the app is "restarted" (meaning a pseudo-reset, where all viewControllers are removed and the user returns to the home screen), and the same movie is played again.

这会导致iPad上的iOS 3.2.2崩溃:

This leads to a crash in iOS 3.2.2 on the iPad:


[AVPlaybackItem fpItem]:message sent
to deallocated instance

[AVPlaybackItem fpItem]: message sent to deallocated instance

我不知道从哪里来。似乎是私人的东西。有没有人经历过并可能解决了同样的问题?

I have no idea where that comes from. Seems to be something private. Has anyone experienced and possibly solved the same problem?

该特定地址的堆栈跟踪:

The stack trace for that particular address:

(gdb) info malloc 0x11471400
Alloc: Block address: 0x11471400 length: 76
Stack - pthread: 0xa0630500 number of frames: 34
    0: 0x9534e0c3 in malloc_zone_calloc
    1: 0x9534e01a in calloc
    2: 0x343edc9 in _internal_class_createInstanceFromZone
    3: 0x344b5c9 in _class_createInstanceFromZone
    4: 0x344b5ef in class_createInstance
    5: 0x3326b57 in +[NSObject allocWithZone:]
    6: 0x332583a in +[NSObject alloc]
    7: 0x536ab67 in -[AVPlaybackQueue queueItemWasAddedNotification:]
    8: 0x27f586 in _nsnote_callback
    9: 0x328d165 in _CFXNotificationPostNotification
   10: 0x2762ca in -[NSNotificationCenter postNotificationName:object:userInfo:]
   11: 0x5354982 in -[AVQueue itemWasAdded:atIndex:]
   12: 0x5354801 in -[AVQueue insertItem:atIndex:error:]
   13: 0x53549d8 in -[AVQueue appendItem:error:]
   14: 0x535c3be in -[AVController addNextFeederItemToQueue]
   15: 0x535b06f in -[AVController checkQueueSpace]
   16: 0x5359f46 in -[AVController setQueue:]
   17: 0x535ac62 in -[AVController setQueueFeeder:withIndex:]
   18: 0x30eee20 in -[MPAVController reloadFeederWithStartIndex:]
   19: 0x30deed7 in -[MPMoviePlayerControllerNew _prepareToPlayWithStartIndex:]
   20: 0x30dc686 in -[MPMoviePlayerControllerNew prepareToPlay]
   21: 0x27f586 in _nsnote_callback
   22: 0x328d165 in _CFXNotificationPostNotification
   23: 0x2762ca in -[NSNotificationCenter postNotificationName:object:userInfo:]
   24: 0x281238 in -[NSNotificationCenter postNotificationName:object:]
   25: 0x31596d1 in -[MPMovie _determineMediaType]
   26: 0x291b87 in __NSFireDelayedPerform
   27: 0x32747dc in CFRunLoopRunSpecific
   28: 0x32738a8 in CFRunLoopRunInMode
   29: 0x3aaf89d in GSEventRunModal
   30: 0x3aaf962 in GSEventRun
   31: 0x52b372 in UIApplicationMain
   32: 0x27be in main at /blablabla 
   33: 0x2735 in start


推荐答案

也许你打电话准备玩多次电影,我认为这是问题,它存在于所有ios 4.3之前我猜(不知道)所以只是标记电影,如果准备播放被调用一次,然后不记得同一个文件

maybe you call prepare to play more than once for the same movie and i think this is the problem and it exists to all ios prior to 4.3 i guess (not sure though) so just flag the movie if prepare to play was called once then don't recall it for the same file

这篇关于[AVPlaybackItem fpItem]:消息发送到释放的实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆