Commit a05c5ffd by ibaker Committed by Tianyi Feng

Add comment about out-of-order timestamps in `AtomParsers.parseStbl`

PiperOrigin-RevId: 550596173
(cherry picked from commit 2a53b529061b801cf60112c217278c1f88e7f249)
parent 96083199
......@@ -737,6 +737,13 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
long editDuration =
Util.scaleLargeTimestamp(
track.editListDurations[i], track.timescale, track.movieTimescale);
// The timestamps array is in the order read from the media, which might not be strictly
// sorted, but will ensure that a) all sync frames are in-order and b) any out-of-order
// frames are after their respective sync frames. This means that although the result of
// this binary search might be slightly incorrect (due to out-of-order timestamps), the loop
// below that walks forward to find the next sync frame will result in a correct start
// index. The start index would also be correct if we walk backwards to the previous sync
// frame (https://github.com/google/ExoPlayer/issues/1659).
startIndices[i] =
Util.binarySearchFloor(
timestamps, editMediaTime, /* inclusive= */ true, /* stayInBounds= */ true);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment