Question

I am using the following code to play the video. Actually it is playing very nicely. Sometimes i get the following error -[AVFileValidator fpItemNotificationInfo:]: unrecognized selector sent to instance 0x8114e50 . When i searched about this i reached to private section of media player. I didn't understand really what it means. Please help if any one knows the answer.

-(void)playerPrepare
{

    player.view.frame = CGRectMake(0.0f, 0.0f, 480.0f, 320.0f);

    [self.view addSubview:player.view];

    [player setControlStyle:MPMovieControlStyleNone];

    [player play];

}

-(void)breadInPlate
{
    // Do any additional setup after loading the view from its nib.
    NSString *url = [[NSBundle mainBundle] pathForResource:@"10_Anim_iPhone" 
                                                    ofType:@"mp4"];

    NSURL *movieURL = [NSURL fileURLWithPath:url];



    player = [[MPMoviePlayerController alloc] 
              initWithContentURL:movieURL];




    [[NSNotificationCenter defaultCenter] 
     addObserver:self
     selector:@selector(movieFinishedCallback:)                                                 
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:player];

    [player prepareToPlay];

    [self performSelector:@selector(playerPrepare) withObject:nil afterDelay:0.5];

    breadTimer = nil;

}

-(void)viewDidLoad
{
breadTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(breadInPlate) userInfo:nil repeats:NO];
}

- (void) movieFinishedCallback:(NSNotification*) aNotification {
    player = [aNotification object];
    [[NSNotificationCenter defaultCenter] 
     removeObserver:self
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:player];    


    [player.view removeFromSuperview];
    [player release];
    player = nil;


}

While running the code occassionally i am getting the folllowing error.

-[AVFileValidator fpItemNotificationInfo:]: unrecognized selector sent to instance 0x8114e50
2011-10-20 14:48:16.754 PansjoPictureBook[1596:307] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AVFileValidator fpItemNotificationInfo:]: unrecognized selector sent to instance 0x8114e50'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x33ac0987 __exceptionPreprocess + 114
    1   libobjc.A.dylib                     0x3347b49d objc_exception_throw + 24
    2   CoreFoundation                      0x33ac2133 -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
    3   CoreFoundation                      0x33a69aa9 ___forwarding___ + 508
    4   CoreFoundation                      0x33a69860 _CF_forwarding_prep_0 + 48
    5   CoreFoundation                      0x33a5ebbf -[NSObject(NSObject) performSelector:withObject:] + 22
    6   Celestial                           0x33c9e309 -[AVObjectRegistry safeInvokeWithDescription:] + 124
    7   CoreFoundation                      0x33a5ebbf -[NSObject(NSObject) performSelector:withObject:] + 22
    8   Foundation                          0x33639795 __NSThreadPerformPerform + 268
    9   CoreFoundation                      0x33a767dd __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
    10  CoreFoundation                      0x33a485b7 __CFRunLoopDoSources0 + 382
    11  CoreFoundation                      0x33a47e5b __CFRunLoopRun + 230
    12  CoreFoundation                      0x33a47c87 CFRunLoopRunSpecific + 230
    13  CoreFoundation                      0x33a47b8f CFRunLoopRunInMode + 58
    14  GraphicsServices                    0x33b0e4ab GSEventRunModal + 114
    15  GraphicsServices                    0x33b0e557 GSEventRun + 62
    16  UIKit                               0x32099329 -[UIApplication _run] + 412
    17  UIKit                               0x32096e93 UIApplicationMain + 670
    18  PansjoPictureBook                   0x0000224f main + 82
    19  PansjoPictureBook                   0x000021f8 start + 40
)
terminate called after throwing an instance of 'NSException'
Was it helpful?

Solution

To avoid this error. Please check mpmovieplayer is already playing, if it is playing then release it and only after the relaese of first player send request to play the second player.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top