ChunkIndex
@UnstableApi
public final class ChunkIndex implements SeekMap
Defines chunks of samples within a media stream.
Summary
Public fields |
|
---|---|
final long |
|
final long[] |
The chunk durations, in microseconds. |
final int |
The number of chunks. |
final long[] |
The chunk byte offsets. |
final int[] |
The chunk sizes, in bytes. |
final long[] |
The start time of each chunk, in microseconds. |
Public constructors |
---|
ChunkIndex( |
Public methods |
|
---|---|
int |
getChunkIndex(long timeUs) Obtains the index of the chunk corresponding to a given time. |
long |
Returns the duration of the stream in microseconds. |
SeekMap.SeekPoints |
getSeekPoints(long timeUs) Obtains seek points for the specified seek time in microseconds. |
boolean |
Returns whether seeking is supported. |
String |
toString() |
Public fields
Public constructors
ChunkIndex
public ChunkIndex(
int[] sizes,
long[] offsets,
long[] durationsUs,
long[] timesUs
)
Parameters | |
---|---|
int[] sizes |
The chunk sizes, in bytes. |
long[] offsets |
The chunk byte offsets. |
long[] durationsUs |
The chunk durations, in microseconds. |
long[] timesUs |
The start time of each chunk, in microseconds. |
Public methods
getChunkIndex
public int getChunkIndex(long timeUs)
Obtains the index of the chunk corresponding to a given time.
Parameters | |
---|---|
long timeUs |
The time, in microseconds. |
Returns | |
---|---|
int |
The index of the corresponding chunk. |
getDurationUs
public long getDurationUs()
Returns the duration of the stream in microseconds.
Returns | |
---|---|
long |
The duration of the stream in microseconds, or |
getSeekPoints
public SeekMap.SeekPoints getSeekPoints(long timeUs)
Obtains seek points for the specified seek time in microseconds. The returned 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.
Parameters | |
---|---|
long timeUs |
A seek time in microseconds. |
Returns | |
---|---|
SeekMap.SeekPoints |
The corresponding seek points. |
isSeekable
public boolean isSeekable()
Returns whether seeking is supported.
Returns | |
---|---|
boolean |
Whether seeking is supported. |