Class ChunkIndex
- java.lang.Object
-
- com.google.android.exoplayer2.extractor.ChunkIndex
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.extractor.SeekMap
SeekMap.SeekPoints, SeekMap.Unseekable
-
-
Field Summary
Fields Modifier and Type Field Description long[]
durationsUs
The chunk durations, in microseconds.int
length
The number of chunks.long[]
offsets
The chunk byte offsets.int[]
sizes
The chunk sizes, in bytes.long[]
timesUs
The start time of each chunk, in microseconds.
-
Constructor Summary
Constructors Constructor Description ChunkIndex(int[] sizes, long[] offsets, long[] durationsUs, long[] timesUs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getChunkIndex(long timeUs)
Obtains the index of the chunk corresponding to a given time.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.boolean
isSeekable()
Returns whether seeking is supported.String
toString()
-
-
-
Field Detail
-
length
public final int length
The number of chunks.
-
sizes
public final int[] sizes
The chunk sizes, in bytes.
-
offsets
public final long[] offsets
The chunk byte offsets.
-
durationsUs
public final long[] durationsUs
The chunk durations, in microseconds.
-
timesUs
public final long[] timesUs
The start time of each chunk, in microseconds.
-
-
Constructor Detail
-
ChunkIndex
public ChunkIndex(int[] sizes, long[] offsets, long[] durationsUs, long[] timesUs)
- Parameters:
sizes
- The chunk sizes, in bytes.offsets
- The chunk byte offsets.durationsUs
- The chunk durations, in microseconds.timesUs
- The start time of each chunk, in microseconds.
-
-
Method Detail
-
getChunkIndex
public int getChunkIndex(long timeUs)
Obtains the index of the chunk corresponding to a given time.- Parameters:
timeUs
- The time, in microseconds.- Returns:
- The index of the corresponding chunk.
-
isSeekable
public boolean isSeekable()
Description copied from interface:SeekMap
Returns whether seeking is supported.- Specified by:
isSeekable
in interfaceSeekMap
- Returns:
- Whether seeking is supported.
-
getDurationUs
public long getDurationUs()
Description copied from interface:SeekMap
Returns the duration of the stream in microseconds.- Specified by:
getDurationUs
in interfaceSeekMap
- Returns:
- The duration of the stream in microseconds, or
C.TIME_UNSET
if the duration is unknown.
-
getSeekPoints
public SeekMap.SeekPoints getSeekPoints(long timeUs)
Description copied from interface:SeekMap
Obtains seek points for the specified seek time in microseconds. The returnedSeekMap.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.
- Specified by:
getSeekPoints
in interfaceSeekMap
- Parameters:
timeUs
- A seek time in microseconds.- Returns:
- The corresponding seek points.
-
-