I have no problem adding one video asset and one audio asset to an `AVMutableComposition` and getting a playable mov file after using `AVAssetExportSession`. However, when I try to add another video track right after the first I end up with problems. Either 
1) The first video is played and its last frame is frozen for the duration of the mov file (the second video is never played).
2) There is a black frame that is displayed until the second video plays in full.
3) The session won't export at all.

I get these different outcomes by tweaking the time ranges for the video assets in their respective `insertTimeRange:ofTrack:`.. methods.

```
AVURLAsset *firstAsset = [AVURLAsset URLAssetWithURL:vidPathURL options:nil];
AVURLAsset *secondAsset = [AVURLAsset URLAssetWithURL:audPathURL options:nil];   
AVURLAsset *thirdAsset = [AVURLAsset URLAssetWithURL:vidPathURL2 options:nil]; 

AVMutableComposition* mixComposition = [[AVMutableComposition alloc] init];

AVMutableCompositionTrack *firstTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];

[firstTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, firstAsset.duration) ofTrack:[[firstAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] atTime:kCMTimeZero error:nil];

CMTime nextClipStartTime = CMTimeAdd(kCMTimeZero, firstAsset.duration);
CMTimeRange timeRange = CMTimeRangeMake(kCMTimeZero, thirdAsset.duration);
AVAssetTrack *secondVideoTrack = [[thirdAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
[firstTrack insertTimeRange:timeRange ofTrack:secondVideoTrack atTime:nextClipStartTime error:nil];

AVMutableCompositionTrack *secondTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];

[secondTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, secondAsset.duration) ofTrack:[[secondAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0] atTime:kCMTimeZero error:nil]; 

CGAffineTransform rotationTransform = CGAffineTransformMakeRotation(M_PI_2);
firstTrack.preferredTransform = rotationTransform;
    // export session

```

Does anyone have any idea as to what should be tweaked here?

Thanks.