Caching com AVPlayer e AVAssetExportSession

Gostaria de armazenar em cache vídeos de download progressivo usando o AVPlayer. Como posso salvar o item de um AVPlayer no disco? Estou tentando usar AVAssetExportSession no currentItem do player (que está totalmente carregado). Este código está me dando "AVAssetExportSessionStatusFailed (a operação não pôde ser concluída) ":

    AVAsset *mediaAsset = self.player.currentItem.asset;

    AVAssetExportSession *es = [[AVAssetExportSession alloc] initWithAsset:mediaAsset presetName:AVAssetExportPresetLowQuality];

    NSString *outPath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"out.mp4"];

    NSFileManager *fileManager = [NSFileManager defaultManager];
    [fileManager removeItemAtPath:outPath error:NULL];

    es.outputFileType = @"com.apple.quicktime-movie";
    es.outputURL = [[[NSURL alloc] initFileURLWithPath:outPath] autorelease];
    NSLog(@"exporting to %@",outPath);
    [es exportAsynchronouslyWithCompletionHandler:^{
        NSString *status = @"";

        if( es.status == AVAssetExportSessionStatusUnknown ) status = @"AVAssetExportSessionStatusUnknown";
        else if( es.status == AVAssetExportSessionStatusWaiting ) status = @"AVAssetExportSessionStatusWaiting";
        else if( es.status == AVAssetExportSessionStatusExporting ) status = @"AVAssetExportSessionStatusExporting";
        else if( es.status == AVAssetExportSessionStatusCompleted ) status = @"AVAssetExportSessionStatusCompleted";
        else if( es.status == AVAssetExportSessionStatusFailed ) status = @"AVAssetExportSessionStatusFailed";
        else if( es.status == AVAssetExportSessionStatusCancelled ) status = @"AVAssetExportSessionStatusCancelled";

        NSLog(@"done exporting to %@ status %d = %@ (%@)",outPath,es.status, status,[[es error] localizedDescription]);
    }];

Como posso exportar com sucesso? Estou procurando copiar o mediaAsset para um AVMutableComposition, mas também não tive muita sorte com isso.

Obrigado

PS: Aqui estão algumas perguntas de pessoas tentando realizar a mesma coisa (mas com o MPMoviePlayerController):

Cache Conteúdo baixado progressivamente no MPMoviePlayerController

Transmita simultaneamente e salva um vídeo?

Caching de vídeos em disco após o pré-carregamento bem-sucedido do MPMoviePlayerController

questionAnswers(2)

yourAnswerToTheQuestion