title: AVMutableComposition Reloading
body: <pre><code>Normally add a music track like as...
  
  let mixComposition = AVMutableComposition()
  let compositionAudioVideo: AVMutableCompositionTrack = mixComposition.addMutableTrack(withMediaType: AVMediaType.audio, preferredTrackID: CMPersistentTrackID())!
  
  let audioMix: AVMutableAudioMix = AVMutableAudioMix()
  var audioMixParam: [AVMutableAudioMixInputParameters] = []
  
  let assetVideoTrack: AVAssetTrack = videoAsset.tracks(withMediaType: AVMediaType.audio)[0]
  let videoParam: AVMutableAudioMixInputParameters = AVMutableAudioMixInputParameters(track: assetVideoTrack)
  videoParam.trackID = compositionAudioVideo.trackID
  
  audioMixParam.append(videoParam)
  
  do {
      try compositionAudioVideo.insertTimeRange(CMTimeRangeMake(kCMTimeZero, videoAsset.duration), of: assetVideoTrack, at: kCMTimeZero)
   } catch _ {
              assertionFailure()
     }
  
  audioMix.inputParameters = audioMixParam
  </code></pre>
  <p>I added multiple audio video track like this, which code not included there. it's work fine but when I want to remove a specific single or multiple track with reloading this mixComposition, I remove track using removeTrack(_ track: AVCompositionTrack). The problem is that it crashes after reloading mixComposition with removing track on mixComposition.addMutableTrack(withMediaType: AVMediaType.video, preferredTrackID: kCMPersistentTrackID_Invalid)!. I want to know that how to add and remove track for reloading existing AVMutableComposition.</p>