MediaParser.SeekMap
public
static
final
class
MediaParser.SeekMap
extends Object
| java.lang.Object | |
| ↳ | android.media.MediaParser.SeekMap |
Maps seek positions to SeekPoints in the stream.
A SeekPoint is a position in the stream from which a player may successfully start
playing media samples.
Summary
Constants | |
|---|---|
int |
UNKNOWN_DURATION
Returned by |
Public methods | |
|---|---|
long
|
getDurationMicros()
Returns the duration of the stream in microseconds or |
Pair<MediaParser.SeekPoint, MediaParser.SeekPoint>
|
getSeekPoints(long timeMicros)
Obtains seek points for the specified seek time in microseconds. |
Pair<MediaParser.SeekPoint, MediaParser.SeekPoint>
|
getSeekPoints(long timeMicros, int trackIndex)
Obtains seek points for the specified seek time in microseconds, using cue points from a specific track. |
boolean
|
isSeekable()
Returns whether seeking is supported. |
boolean
|
trackHasSeekPoints(int trackIndex)
Returns whether the given track has its own seek points. |
Inherited methods | |
|---|---|
Constants
UNKNOWN_DURATION
public static final int UNKNOWN_DURATION
Returned by getDurationMicros() when the duration is unknown.
Constant Value: -2147483648 (0x80000000)
Public methods
getDurationMicros
public long getDurationMicros ()
Returns the duration of the stream in microseconds or UNKNOWN_DURATION if the
duration is unknown.
| Returns | |
|---|---|
long |
|
getSeekPoints
public Pair<MediaParser.SeekPoint, MediaParser.SeekPoint> getSeekPoints (long timeMicros)
Obtains seek points for the specified seek time in microseconds.
getSeekPoints(timeMicros).first contains the latest seek point for samples
with timestamp equal to or smaller than timeMicros.
getSeekPoints(timeMicros).second contains the earliest seek point for samples
with timestamp equal to or greater than timeMicros. If a seek point exists for
timeMicros, the returned pair will contain the same SeekPoint twice.
| Parameters | |
|---|---|
timeMicros |
long: A seek time in microseconds. |
| Returns | |
|---|---|
Pair<MediaParser.SeekPoint, MediaParser.SeekPoint> |
The corresponding seek points.
This value cannot be null. |
getSeekPoints
public Pair<MediaParser.SeekPoint, MediaParser.SeekPoint> getSeekPoints (long timeMicros, int trackIndex)
Obtains seek points for the specified seek time in microseconds, using cue points from a specific track.
This method is similar to getSeekPoints(long), but allows specifying a trackIndex. The trackIndex is the same index passed to OutputConsumer.onTrackDataFound(int,TrackData).
Use trackHasSeekPoints(int) to check if a track has its own seek points. If
it returns false for the given trackIndex, this method will fall back to
using the container's seek points, which is equivalent to calling getSeekPoints(long).
| Parameters | |
|---|---|
timeMicros |
long: A seek time in microseconds. |
trackIndex |
int: The index of the track to use for finding seek points. |
| Returns | |
|---|---|
Pair<MediaParser.SeekPoint, MediaParser.SeekPoint> |
The corresponding seek points.
This value cannot be null. |
isSeekable
public boolean isSeekable ()
Returns whether seeking is supported.
| Returns | |
|---|---|
boolean |
|
trackHasSeekPoints
public boolean trackHasSeekPoints (int trackIndex)
Returns whether the given track has its own seek points.
The trackIndex is the same index passed to OutputConsumer.onTrackDataFound(int,TrackData).
This method can return false for all tracks even when isSeekable()
returns true. In such cases, seeking is supported for the container, but not on a
per-track basis. When this method returns false for a given track, calling getSeekPoints(long, int) for that track will fall back to using the container's seek
points.
| Parameters | |
|---|---|
trackIndex |
int: The index of the track. |
| Returns | |
|---|---|
boolean |
Whether seeking is supported for the track. |