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[]durationsUsThe chunk durations, in microseconds.intlengthThe number of chunks.long[]offsetsThe chunk byte offsets.int[]sizesThe chunk sizes, in bytes.long[]timesUsThe 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 intgetChunkIndex(long timeUs)Obtains the index of the chunk corresponding to a given time.longgetDurationUs()Returns the duration of the stream in microseconds.SeekMap.SeekPointsgetSeekPoints(long timeUs)Obtains seek points for the specified seek time in microseconds.booleanisSeekable()Returns whether seeking is supported.StringtoString()
-
-
-
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:SeekMapReturns whether seeking is supported.- Specified by:
isSeekablein interfaceSeekMap- Returns:
- Whether seeking is supported.
-
getDurationUs
public long getDurationUs()
Description copied from interface:SeekMapReturns the duration of the stream in microseconds.- Specified by:
getDurationUsin interfaceSeekMap- Returns:
- The duration of the stream in microseconds, or
C.TIME_UNSETif the duration is unknown.
-
getSeekPoints
public SeekMap.SeekPoints getSeekPoints(long timeUs)
Description copied from interface:SeekMapObtains seek points for the specified seek time in microseconds. The returnedSeekMap.SeekPointswill 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:
getSeekPointsin interfaceSeekMap- Parameters:
timeUs- A seek time in microseconds.- Returns:
- The corresponding seek points.
-
-