title: How to properly use AVAssetExportSession to set metadata for an audio asset?
body: <p>I have looked at every example I can find for setting meta data using <code>AVAssetExportSession</code>, but even though the audio export works fine ( resultant audio file plays OK ), there's still no meta data exported with the file. I'm using Xcode 4.5, target build iOS 5, test device iOS 6. Please see the code I'm using below, and please let me know what I'm doing wrong.</p>
  
  <p>header</p>
  
  <pre><code>// for metadata export
  
  NSArray *MyMetadata;
  AVMutableMetadataItem *common1;
  AVMutableMetadataItem *common2;
  AVMutableMetadataItem *common3;
  AVMutableMetadataItem *common4;
  </code></pre>
  
  <p>implementation</p>
  
  <pre><code>AVAsset *asset = [AVAsset assetWithURL:audioFileInput];
  AVAssetExportSession *exportSession = [AVAssetExportSession exportSessionWithAsset:asset presetName:AVAssetExportPresetPassthrough];
  
  if (!exportSession) {
      return;
  }
  
  CMTime startTime = CMTimeMake((int)(floor(fileStartMarker * 100)), 100);
  CMTime stopTime = CMTimeMake((int)(ceil(fileEndMarker * 100)), 100);
  CMTimeRange exportTimeRange = CMTimeRangeFromTimeToTime(startTime, stopTime);
  
  exportSession.outputURL = audioFileOutput;
  exportSession.outputFileType = @"com.apple.coreaudio-format";
  exportSession.timeRange = exportTimeRange;
  
  // define meta data for file
  // Common metadata
  common1 = [[AVMutableMetadataItem alloc] init];    // Title
  common1.keySpace = AVMetadataKeySpaceCommon;
  common1.key = AVMetadataCommonKeyTitle;
  common1.value = @"Title Test Value";
  
  common2 = [[AVMutableMetadataItem alloc] init];    // Description
  common2.keySpace = AVMetadataKeySpaceCommon;
  common2.key = AVMetadataCommonKeyDescription;
  common2.value = @"Description Test Value";
  
  common3 = [[AVMutableMetadataItem alloc] init];   // Creation Date
  common3.keySpace = AVMetadataKeySpaceCommon;
  common3.key = AVMetadataCommonKeyCreationDate;
  common3.value = @"Creation Date Test Value";
  
  common4 = [[AVMutableMetadataItem alloc] init];    // Software
  common4.keySpace = AVMetadataKeySpaceCommon;
  common4.key = AVMetadataCommonKeySoftware;
  common4.value = @"My File Trimmer";
  
  MyMetadata = [[NSArray alloc] initWithObjects:common1, common2, common3, common4, nil];
  exportSession.metadata = MyMetadata;
  
  [common1 release];
  [common2 release];
  [common3 release];
  [common4 release];
  
  [exportSession exportAsynchronouslyWithCompletionHandler:^{
      if (exportSession.status == AVAssetExportSessionStatusCompleted) {
          // export done
      }
      else if (exportSession.status == AVAssetExportSessionStatusFailed)     {
          // export failed
      }
  }];
  
  [MyMetadata release];
  </code></pre>