public final class SeekParameters extends Object
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.
| Modifier and Type | Field | Description |
|---|---|---|
static SeekParameters |
CLOSEST_SYNC |
Parameters for seeking to the closest sync point.
|
static SeekParameters |
DEFAULT |
Default parameters.
|
static SeekParameters |
EXACT |
Parameters for exact seeking.
|
static SeekParameters |
NEXT_SYNC |
Parameters for seeking to the sync point immediately after a requested seek position.
|
static SeekParameters |
PREVIOUS_SYNC |
Parameters for seeking to the sync point immediately before a requested seek position.
|
long |
toleranceAfterUs |
The maximum time that the actual position seeked to may exceed the requested seek position, in
microseconds.
|
long |
toleranceBeforeUs |
The maximum time that the actual position seeked to may precede the requested seek position, in
microseconds.
|
| Constructor | Description |
|---|---|
SeekParameters(long toleranceBeforeUs,
long toleranceAfterUs) |
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
equals(Object obj) |
|
int |
hashCode() |
|
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.
|
public static final SeekParameters EXACT
public static final SeekParameters CLOSEST_SYNC
public static final SeekParameters PREVIOUS_SYNC
public static final SeekParameters NEXT_SYNC
public static final SeekParameters DEFAULT
public final long toleranceBeforeUs
public final long toleranceAfterUs
public SeekParameters(long toleranceBeforeUs,
long toleranceAfterUs)
toleranceBeforeUs - The maximum time that the actual position seeked to may precede the
requested seek position, in microseconds. Must be non-negative.toleranceAfterUs - The maximum time that the actual position seeked to may exceed the
requested seek position, in microseconds. Must be non-negative.public long resolveSeekPositionUs(long positionUs,
long firstSyncUs,
long secondSyncUs)
positionUs - The requested seek position, in microseocnds.firstSyncUs - The first candidate seek point, in micrseconds.secondSyncUs - The second candidate seek point, in microseconds. May equal
firstSyncUs if there's only one candidate.