iPadで録画保存済みの動画を読込(A)後、画像を加工(CMSampleBufferを使用)して(B)、出力(C)するために、AVAssetWriterを利用しています。
(A)、(C)の実装は、Apple公式が提供しているドキュメント/サンプルを流用して、その中に、(B)の処理を追加するという実装です。
https://developer.apple.com/jp/documentation/AVFoundationPG.pdf

しかし、上記の方法で出力したファイルを、AVURLAssetとして読み込むと、tracksの数が0になります。
そのため、loadValuesAsynchronouslyForKeys を利用して、加工後の動画ファイルを読み込無む際に、エラーが発生するようになります。

=============
NSArray *requestedKeys = [NSArray arrayWithObjects:@"tracks", kPlayableKey, nil];
[asset loadValuesAsynchronouslyForKeys:requestedKeys completionHandler:
     ^{
         dispatch_async( dispatch_get_main_queue(),
                        ^{
                            /* IMPORTANT: Must dispatch to main queue in order to operate on the AVPlayer and AVPlayerItem. */
                            [self prepareToPlayAsset:asset withKeys:requestedKeys];
                        });
     }];
....
....


=============

- (void)prepareToPlayAsset:(AVURLAsset *)asset withKeys:(NSArray *)requestedKeys
{
    for (NSString *thisKey in requestedKeys)
    {
        NSError *error = nil;
        AVKeyValueStatus keyStatus = [asset statusOfValueForKey:thisKey error:&error];
        if (keyStatus == AVKeyValueStatusFailed)
        {
            [self assetFailedToPrepareForPlayback:error];

            return;
        }

    }
....
....

AVAssetWriterを利用した処理で、トラックを維持したまま、動画ファイルを出力することはできるのでしょうか?
もしくは、track数が0の状態でも、正常に読み込む方法があるのでしょうか?