Package com.google.android.exoplayer2.extractor

## Class BinarySearchSeeker.TimestampSearchResult

- java.lang.Object
- - com.google.android.exoplayer2.extractor.BinarySearchSeeker.TimestampSearchResult

- Enclosing class:
    BinarySearchSeeker

      public static final class BinarySearchSeeker.TimestampSearchResult
      extends Object

  Represents possible search results for `BinarySearchSeeker.TimestampSeeker.searchForTimestamp(ExtractorInput, long)`.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static BinarySearchSeeker.TimestampSearchResult` | `NO_TIMESTAMP_IN_RANGE_RESULT` |
    `static int` | `TYPE_NO_TIMESTAMP` | The search didn't find any timestamps.
    `static int` | `TYPE_POSITION_OVERESTIMATED` | The search found only timestamps larger than the target timestamp.
    `static int` | `TYPE_POSITION_UNDERESTIMATED` | The search found only timestamps smaller than the target timestamp.
    `static int` | `TYPE_TARGET_TIMESTAMP_FOUND` | The search found a timestamp that it deems close enough to the given target.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static BinarySearchSeeker.TimestampSearchResult` | `overestimatedResult​(long newCeilingTimestamp, long newCeilingBytePosition)` | Returns a result to signal that the current position in the input stream overestimates the true position of the target frame, and the `BinarySearchSeeker` should modify its `BinarySearchSeeker.SeekOperationParams`'s ceiling timestamp and byte position using the given values.
    `static BinarySearchSeeker.TimestampSearchResult` | `targetFoundResult​(long resultBytePosition)` | Returns a result to signal that the target timestamp has been found at `resultBytePosition`, and the seek operation can stop.
    `static BinarySearchSeeker.TimestampSearchResult` | `underestimatedResult​(long newFloorTimestamp, long newCeilingBytePosition)` | Returns a result to signal that the current position in the input stream underestimates the true position of the target frame, and the `BinarySearchSeeker` should modify its `BinarySearchSeeker.SeekOperationParams`'s floor timestamp and byte position using the given values.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### TYPE_TARGET_TIMESTAMP_FOUND

          public static final int TYPE_TARGET_TIMESTAMP_FOUND

      The search found a timestamp that it deems close enough to the given target.
      See Also:
        Constant Field Values

    - #### TYPE_POSITION_OVERESTIMATED

          public static final int TYPE_POSITION_OVERESTIMATED

      The search found only timestamps larger than the target timestamp.
      See Also:
        Constant Field Values

    - #### TYPE_POSITION_UNDERESTIMATED

          public static final int TYPE_POSITION_UNDERESTIMATED

      The search found only timestamps smaller than the target timestamp.
      See Also:
        Constant Field Values

    - #### TYPE_NO_TIMESTAMP

          public static final int TYPE_NO_TIMESTAMP

      The search didn't find any timestamps.
      See Also:
        Constant Field Values

    - #### NO_TIMESTAMP_IN_RANGE_RESULT

          public static final BinarySearchSeeker.TimestampSearchResult NO_TIMESTAMP_IN_RANGE_RESULT

  - ### Method Detail

    - #### overestimatedResult

          public static BinarySearchSeeker.TimestampSearchResult overestimatedResult​(long newCeilingTimestamp,
                                                                                     long newCeilingBytePosition)

      Returns a result to signal that the current position in the input stream overestimates the true position of the target frame, and the `BinarySearchSeeker` should modify its `BinarySearchSeeker.SeekOperationParams`'s ceiling timestamp and byte position using the given values.

    - #### underestimatedResult

          public static BinarySearchSeeker.TimestampSearchResult underestimatedResult​(long newFloorTimestamp,
                                                                                      long newCeilingBytePosition)

      Returns a result to signal that the current position in the input stream underestimates the true position of the target frame, and the `BinarySearchSeeker` should modify its `BinarySearchSeeker.SeekOperationParams`'s floor timestamp and byte position using the given values.

    - #### targetFoundResult

          public static BinarySearchSeeker.TimestampSearchResult targetFoundResult​(long resultBytePosition)

      Returns a result to signal that the target timestamp has been found at `resultBytePosition`, and the seek operation can stop.