|Constructor and Description|
|Modifier and Type||Method and Description|
Returns whether data is available to be read.
Throws an error that's preventing data from being read.
Attempts to read from the stream.
Attempts to skip to the keyframe before the specified position, or to the end of the stream if
public boolean isReady()
Note: If the stream has ended then a buffer with the end of stream flag can always be read from
SampleStream.readData(FormatHolder, DecoderInputBuffer, boolean). Hence an ended stream is always
public int skipData(long positionUs)
positionUsis beyond it.
public void maybeThrowError() throws IOException
public int readData(FormatHolder formatHolder, DecoderInputBuffer buffer, boolean formatRequired)
If the stream has ended then
C.BUFFER_FLAG_END_OF_STREAM flag is set on
C.RESULT_BUFFER_READ is returned. Else if no data is available then
C.RESULT_NOTHING_READ is returned. Else if the format of the media is changing or if
formatRequired is set then
formatHolder is populated and
is returned. Else
buffer is populated and
C.RESULT_BUFFER_READ is returned.
FormatHolderto populate in the case of reading a format.
DecoderInputBufferto populate in the case of reading a sample or the end of the stream. If the end of the stream has been reached, the
C.BUFFER_FLAG_END_OF_STREAMflag will be set on the buffer. If a
flags-onlybuffer is passed, then no
DecoderInputBuffer.datawill be read and the read position of the stream will not change, but the flags of the buffer will be populated.
formatRequired- Whether the caller requires that the format of the stream be read even if it's not changing. A sample will never be read if set to true, however it is still possible for the end of stream or nothing to be read.
public void release()