title: AVAssetTrack.duration is shorter than AVURLAsset.duration
body: <p>This is weird, after hours' testing I still can't figure it out.
  <br>
  Ok, this is what I'm going to do: merge two videos, that is to append one after another.
  <br>
  I shoot two videos, then have two urls. Then I created two AVURLAsset using :
  <br></p>
  
  <pre><code> AVURLAsset* video1 = [[AVURLAsset alloc]initWithURL:url1 options:options];
   AVURLAsset* video2 = [[AVURLAsset alloc]initWithURL:url2 options:options];
  </code></pre>
  
  <p>Then I get the corresponding tracks:</p>
  
  <pre><code>AVAssetTrack *videoAsset1Track = [[video1 tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
  AVAssetTrack *videoAsset2Track = [[video2 tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
  </code></pre>
  
  <p>Then, I have several CMTime to compare:</p>
  
  <pre><code>CMTime endtime1 = videoAsset1Track.timeRange.duration;
  CMTime endtime2 = videoAsset2Track.timeRange.duration;
  CMTime starttime1 = videoAsset1Track.timeRange.start;
  CMTime starttime2 = videoAsset2Track.timeRange.start;
  </code></pre>
  
  <p>Strange things then happen. When I Log :</p>
  
  <pre><code>NSLog(@"video 1 duration : %f , start : %f, end : %f ", CMTimeGetSeconds(video1.duration), CMTimeGetSeconds(starttime1), CMTimeGetSeconds(endtime1));
  NSLog(@"video 2 duration : %f , start : %f, end : %f ", CMTimeGetSeconds(video2.duration), CMTimeGetSeconds(starttime2), CMTimeGetSeconds(endtime2));
  </code></pre>
  
  <p>It always comes with :<code>
   video 1 duration : 4.738333 , start : 0.000000, end : 4.738333 
   video 2 duration : 4.736871 , start : 0.000000, end : 3.090011</code>
  Video 1 is always ok, while video 2: track's duration &lt; asset's duration.</p>
  
  <p>By the way, I'm using <code>GPUImageVideoCamera</code> and <code>GPUImageMovieWriter</code>(But I don't think it matters, for video 1 is always ok) to shooting videos and merge.</p>
  
  <hr>
  
  <p><strong>Edit</strong>
  <br>
  God I have another super weird observation:
  <br>
  Whenever I shoot the video, the duration of the track is always shorter than the asset's. 
  However if I check it for the second time, all will be ok... That's...
  What do I do during the two check times? I just use an <code>AVPlayer</code> to play the url... </p>
  
  <hr>
  
  <p><strong>Edit Again</strong>
  <br>
  Guys this is super super weird!!! I just play the url, and world becomes better. I don't know why, but at least find a way out...(No, this way sometimes still doesn't work...)</p>