Class BinarySearchSeeker.BinarySearchSeekMap

    • Constructor Detail

      • BinarySearchSeekMap

        public BinarySearchSeekMap​(BinarySearchSeeker.SeekTimestampConverter seekTimestampConverter,
                                   long durationUs,
                                   long floorTimePosition,
                                   long ceilingTimePosition,
                                   long floorBytePosition,
                                   long ceilingBytePosition,
                                   long approxBytesPerFrame)
        Constructs a new instance of this seek map.
    • Method Detail

      • isSeekable

        public boolean isSeekable()
        Description copied from interface: SeekMap
        Returns whether seeking is supported.
        Specified by:
        isSeekable in interface SeekMap
        Returns:
        Whether seeking is supported.
      • getSeekPoints

        public SeekMap.SeekPoints getSeekPoints​(long timeUs)
        Description copied from interface: SeekMap
        Obtains seek points for the specified seek time in microseconds. The returned SeekMap.SeekPoints will contain one or two distinct seek points.

        Two seek points [A, B] are returned in the case that seeking can only be performed to discrete points in time, there does not exist a seek point at exactly the requested time, and there exist seek points on both sides of it. In this case A and B are the closest seek points before and after the requested time. A single seek point is returned in all other cases.

        Specified by:
        getSeekPoints in interface SeekMap
        Parameters:
        timeUs - A seek time in microseconds.
        Returns:
        The corresponding seek points.
      • getDurationUs

        public long getDurationUs()
        Description copied from interface: SeekMap
        Returns the duration of the stream in microseconds.
        Specified by:
        getDurationUs in interface SeekMap
        Returns:
        The duration of the stream in microseconds, or C.TIME_UNSET if the duration is unknown.