title: precise timing with AVMutableComposition
body: <p>I'm trying to use AVMutableComposition to play a sequence of sound files at precise times.</p>
  
  <p>When the view loads, I create the composition with the intent of playing 4 sounds evenly spaced over 1 second.  It shouldn't matter how long or short the sounds are, I just want to fire them at exactly 0, 0.25, 0.5 and 0.75 seconds:</p>
  
  <pre><code>AVMutableComposition *composition = [[AVMutableComposition alloc] init];
  NSDictionary *options = @{AVURLAssetPreferPreciseDurationAndTimingKey : @YES};
  
  for (NSInteger i = 0; i &lt; 4; i++)
  {
    AVMutableCompositionTrack* track = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
    NSURL *url = [[NSBundle mainBundle] URLForResource:[NSString stringWithFormat:@"sound_file_%i", i] withExtension:@"caf"];
    AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:options];
    AVAssetTrack *assetTrack = [asset tracksWithMediaType:AVMediaTypeAudio].firstObject;
    CMTimeRange timeRange = [assetTrack timeRange];
    Float64 t = i * 0.25;
    NSError *error;
    BOOL success = [track insertTimeRange:timeRange ofTrack:assetTrack atTime:CMTimeMakeWithSeconds(t, 1) error:&amp;error];
    if (!success)
    {
      NSLog(@"unsuccesful creation of composition");
    }
    if (error)
    {
      NSLog(@"composition creation error: %@", error);
    }
  }
  
  AVPlayerItem* playerItem = [AVPlayerItem playerItemWithAsset:composition];
  self.avPlayer = [[AVPlayer alloc] initWithPlayerItem:playerItem];
  </code></pre>
  
  <p>The composition is created successfully with no errors.  Later, when I want to play the sequence I do this:</p>
  
  <pre><code>[self.avPlayer seekToTime:CMTimeMakeWithSeconds(0, 1)];
  [self.avPlayer play];
  </code></pre>
  
  <p>For some reason, the sounds are not evenly spaced at all - but play almost all at once.  I tried the same thing spaced over 4 seconds, replacing the time calculation like this:</p>
  
  <pre><code>Float64 t = i * 1.0;
  </code></pre>
  
  <p>And this plays perfectly.  Any time interval under 1 second seems to generate unexpected results.  What am I missing?  Are AVCompositions not supposed to be used for time intervals under 1 second?  Or perhaps I'm misunderstanding the time intervals?</p>