SeekMap.SeekPoints, SeekMap.Unseekable
Constructor and Description |
---|
ConstantBitrateSeekMap(long inputLength,
long firstFrameBytePosition,
int bitrate,
int frameSize)
Constructs a new instance from a stream.
|
Modifier and Type | Method and 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.
|
long |
getTimeUsAtPosition(long position)
Returns the stream time in microseconds for a given position.
|
boolean |
isSeekable()
Returns whether seeking is supported.
|
public ConstantBitrateSeekMap(long inputLength, long firstFrameBytePosition, int bitrate, int frameSize)
inputLength
- The length of the stream in bytes, or C.LENGTH_UNSET
if unknown.firstFrameBytePosition
- The byte-position of the first frame in the stream.bitrate
- The bitrate (which is assumed to be constant in the stream).frameSize
- The size of each frame in the stream in bytes. May be C.LENGTH_UNSET
if unknown.public boolean isSeekable()
SeekMap
isSeekable
in interface SeekMap
public SeekMap.SeekPoints getSeekPoints(long timeUs)
SeekMap
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.
getSeekPoints
in interface SeekMap
timeUs
- A seek time in microseconds.public long getDurationUs()
SeekMap
getDurationUs
in interface SeekMap
C.TIME_UNSET
if the duration is
unknown.public long getTimeUsAtPosition(long position)
position
- The stream byte-position.