SeekParameters
@UnstableApi
public final class SeekParameters
Parameters that apply to seeking.
The predefined EXACT, CLOSEST_SYNC, PREVIOUS_SYNC and NEXT_SYNC parameters are suitable for most use cases. Seeking to sync points is typically faster but less accurate than exact seeking.
In the general case, an instance specifies a maximum tolerance before (toleranceBeforeUs) and after (toleranceAfterUs) a requested seek position (x). If one or more sync points falls within the window [x - toleranceBeforeUs, x +
toleranceAfterUs] then the seek will be performed to the sync point within the window that's closest to x. If no sync point falls within the window then the seek will be performed to x - toleranceBeforeUs. Internally the player may need to seek to an earlier sync point and discard media until this position is reached.
Summary
Constants |
|
|---|---|
static final SeekParameters |
Parameters for seeking to the closest sync point. |
static final SeekParameters |
Default parameters. |
static final SeekParameters |
Parameters for exact seeking. |
static final SeekParameters |
Parameters for seeking to the sync point immediately after a requested seek position. |
static final SeekParameters |
Parameters for seeking to the sync point immediately before a requested seek position. |
Public fields |
|
|---|---|
final long |
The maximum time that the actual position seeked to may exceed the requested seek position, in microseconds. |
final long |
The maximum time that the actual position seeked to may precede the requested seek position, in microseconds. |
Public constructors |
|---|
SeekParameters(long toleranceBeforeUs, long toleranceAfterUs) |
Public methods |
|
|---|---|
boolean |
|
int |
hashCode() |
long |
resolveSeekPositionUs(Resolves a seek based on the parameters, given the requested seek position and two candidate sync points. |
Constants
CLOSEST_SYNC
public static final SeekParameters CLOSEST_SYNC
Parameters for seeking to the closest sync point.
NEXT_SYNC
public static final SeekParameters NEXT_SYNC
Parameters for seeking to the sync point immediately after a requested seek position.
PREVIOUS_SYNC
public static final SeekParameters PREVIOUS_SYNC
Parameters for seeking to the sync point immediately before a requested seek position.
Public fields
toleranceAfterUs
public final long toleranceAfterUs
The maximum time that the actual position seeked to may exceed the requested seek position, in microseconds.
toleranceBeforeUs
public final long toleranceBeforeUs
The maximum time that the actual position seeked to may precede the requested seek position, in microseconds.
Public constructors
SeekParameters
public SeekParameters(long toleranceBeforeUs, long toleranceAfterUs)
| Parameters | |
|---|---|
long toleranceBeforeUs |
The maximum time that the actual position seeked to may precede the requested seek position, in microseconds. Must be non-negative. |
long toleranceAfterUs |
The maximum time that the actual position seeked to may exceed the requested seek position, in microseconds. Must be non-negative. |
Public methods
resolveSeekPositionUs
public long resolveSeekPositionUs(
long positionUs,
long firstSyncUs,
long secondSyncUs
)
Resolves a seek based on the parameters, given the requested seek position and two candidate sync points.
| Parameters | |
|---|---|
long positionUs |
The requested seek position, in microseconds. |
long firstSyncUs |
The first candidate seek point, in microseconds. |
long secondSyncUs |
The second candidate seek point, in microseconds. May equal |
| Returns | |
|---|---|
long |
The resolved seek position, in microseconds. |