Class EmptySampleStream
- java.lang.Object
-
- com.google.android.exoplayer2.source.EmptySampleStream
-
- All Implemented Interfaces:
SampleStream
public final class EmptySampleStream extends Object implements SampleStream
An emptySampleStream
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.source.SampleStream
SampleStream.ReadDataResult, SampleStream.ReadFlags
-
-
Field Summary
-
Fields inherited from interface com.google.android.exoplayer2.source.SampleStream
FLAG_OMIT_SAMPLE_DATA, FLAG_PEEK, FLAG_REQUIRE_FORMAT
-
-
Constructor Summary
Constructors Constructor Description EmptySampleStream()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isReady()
Returns whether data is available to be read.void
maybeThrowError()
Throws an error that's preventing data from being read.int
readData(FormatHolder formatHolder, DecoderInputBuffer buffer, @com.google.android.exoplayer2.source.SampleStream.ReadFlags int readFlags)
Attempts to read from the stream.int
skipData(long positionUs)
Attempts to skip to the keyframe before the specified position, or to the end of the stream ifpositionUs
is beyond it.
-
-
-
Method Detail
-
isReady
public boolean isReady()
Description copied from interface:SampleStream
Returns whether data is available to be read.Note: If the stream has ended then a buffer with the end of stream flag can always be read from
SampleStream.readData(com.google.android.exoplayer2.FormatHolder, com.google.android.exoplayer2.decoder.DecoderInputBuffer, @com.google.android.exoplayer2.source.SampleStream.ReadFlags int)
. Hence an ended stream is always ready.- Specified by:
isReady
in interfaceSampleStream
- Returns:
- Whether data is available to be read.
-
maybeThrowError
public void maybeThrowError()
Description copied from interface:SampleStream
Throws an error that's preventing data from being read. Does nothing if no such error exists.- Specified by:
maybeThrowError
in interfaceSampleStream
-
readData
public int readData(FormatHolder formatHolder, DecoderInputBuffer buffer, @com.google.android.exoplayer2.source.SampleStream.ReadFlags int readFlags)
Description copied from interface:SampleStream
Attempts to read from the stream.If the stream has ended then
C.BUFFER_FLAG_END_OF_STREAM
flag is set onbuffer
andC.RESULT_BUFFER_READ
is returned. Else if no data is available thenC.RESULT_NOTHING_READ
is returned. Else if the format of the media is changing or ifformatRequired
is set thenformatHolder
is populated andC.RESULT_FORMAT_READ
is returned. Elsebuffer
is populated andC.RESULT_BUFFER_READ
is returned.- Specified by:
readData
in interfaceSampleStream
- Parameters:
formatHolder
- AFormatHolder
to populate in the case of reading a format.buffer
- ADecoderInputBuffer
to populate in the case of reading a sample or the end of the stream. If the end of the stream has been reached, theC.BUFFER_FLAG_END_OF_STREAM
flag will be set on the buffer.readFlags
- Flags controlling the behavior of this read operation.- Returns:
- The
result
of the read operation.
-
skipData
public int skipData(long positionUs)
Description copied from interface:SampleStream
Attempts to skip to the keyframe before the specified position, or to the end of the stream ifpositionUs
is beyond it.- Specified by:
skipData
in interfaceSampleStream
- Parameters:
positionUs
- The specified time.- Returns:
- The number of samples that were skipped.
-
-