[AVPlaybackItem fpItem]:消息发送到释放的实例 [英] [AVPlaybackItem fpItem]: message sent to deallocated instance
问题描述
我使用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屋!