SeekMap.Unseekable
Modifier and Type | Field and 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 and Description |
---|
ChunkIndex(int[] sizes,
long[] offsets,
long[] durationsUs,
long[] timesUs) |
Modifier and Type | Method and 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.
|
long |
getPosition(long timeUs)
Maps a seek position in microseconds to a corresponding position (byte offset) in the stream
from which data can be provided to the extractor.
|
boolean |
isSeekable()
Returns whether seeking is supported.
|
public final int length
public final int[] sizes
public final long[] offsets
public final long[] durationsUs
public final long[] timesUs
public ChunkIndex(int[] sizes, long[] offsets, long[] durationsUs, long[] timesUs)
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.public int getChunkIndex(long timeUs)
timeUs
- The time, in microseconds.public boolean isSeekable()
SeekMap
If seeking is not supported then the only valid seek position is the start of the file, and so
SeekMap.getPosition(long)
will return 0 for all input values.
isSeekable
in interface SeekMap
public long getDurationUs()
SeekMap
getDurationUs
in interface SeekMap
C.TIME_UNSET
if the
duration is unknown.public long getPosition(long timeUs)
SeekMap
getPosition
in interface SeekMap
timeUs
- A seek position in microseconds.#isSeekable()
returns false.