Back to Exoplayer

BinarySearchSeeker.BinarySearchSeekMap (ExoPlayer library)

docs/doc/reference/com/google/android/exoplayer2/extractor/BinarySearchSeeker.BinarySearchSeekMap.html

latest5.0 KB
Original Source

Package com.google.android.exoplayer2.extractor

Class BinarySearchSeeker.BinarySearchSeekMap


public static classBinarySearchSeeker.BinarySearchSeekMapextends[Object](https://developer.android.com/reference/java/lang/Object.html "class or interface in java.lang")implements[SeekMap](SeekMap.html "interface in com.google.android.exoplayer2.extractor")

A SeekMap implementation that returns the estimated byte location from BinarySearchSeeker.SeekOperationParams.calculateNextSearchBytePosition(long, long, long, long, long, long) for each getSeekPoints(long) query.

Nested Class Summary

- 

Nested classes/interfaces inherited from interface com.google.android.exoplayer2.extractor.SeekMap

SeekMap.SeekPoints, SeekMap.Unseekable

Constructor Summary

Constructors | Constructor | Description | | --- | --- | | 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 Summary

All Methods Instance Methods Concrete Methods | Modifier and Type | Method | Description | | --- | --- | --- | | long | getDurationUs() | Returns the duration of the stream in microseconds. | | SeekMap.SeekPoints | getSeekPoints​(long timeUs) | Obtains seek points for the specified seek time in microseconds. | | boolean | isSeekable() | Returns whether seeking is supported. | | long | timeUsToTargetTime​(long timeUs) | |

- 

Methods inherited from class java.lang.Object

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

Constructor Detail

- 

BinarySearchSeekMap

public BinarySearchSeekMap​([BinarySearchSeeker.SeekTimestampConverter](BinarySearchSeeker.SeekTimestampConverter.html "interface in com.google.android.exoplayer2.extractor")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 SeekMapReturns:Whether seeking is supported.

- 

getSeekPoints

public[SeekMap.SeekPoints](SeekMap.SeekPoints.html "class in com.google.android.exoplayer2.extractor")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 SeekMapParameters: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 SeekMapReturns:The duration of the stream in microseconds, or C.TIME_UNSET if the duration is unknown.

- 

timeUsToTargetTime

public long timeUsToTargetTime​(long timeUs)

See Also:BinarySearchSeeker.SeekTimestampConverter.timeUsToTargetTime(long)