MPEG4Writer+MPEG4Extractor:EditList to handle tracks' start times

1) Handle tracks (video with bframes and without bframes) starting with different start
   offsets through edit list entries. Empty edit list entries for positive offsets.
   Normal edit list entries for negative offsets.
2) Handle audio tracks with start timestamps < 0, without affecting gapless playback.
3) Replaced the logic of adjusting first sample's delta/duration for video tracks
   without B-frames and non-video tracks inorder to maintain AV sync with edit list
   entries.
4) Adjusted CTTS offsets to reflect only the offset needed for BFrames reordering.
   To maintain AV sync start offset of tracks with BFrames were added to these offsets
   earlier.

Bug: 135030072
Bug: 142580952
Bug: 141653301

Test: 1) atest CtsMediaTestCases -- \
         --module-arg CtsMediaTestCases:size:small
      2) atest android.media.cts.MediaMuxerTest
      3) gapless playback clips are playing fine.

Change-Id: If3fa71431de199b02a17323a05af46759b20b905
4 files changed