Back to Exoplayer

ChunkSampleStream.EmbeddedSampleStream (ExoPlayer library)

docs/doc/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.EmbeddedSampleStream.html

latest6.9 KB
Original Source

Package com.google.android.exoplayer2.source.chunk

Class ChunkSampleStream.EmbeddedSampleStream


public final classChunkSampleStream.EmbeddedSampleStreamextends[Object](https://developer.android.com/reference/java/lang/Object.html "class or interface in java.lang")implements[SampleStream](../SampleStream.html "interface in com.google.android.exoplayer2.source")

A SampleStream embedded in a ChunkSampleStream.

Nested Class Summary

- 

Nested classes/interfaces inherited from interface com.google.android.exoplayer2.source.SampleStream

SampleStream.ReadDataResult, SampleStream.ReadFlags

Field Summary

Fields | Modifier and Type | Field | Description | | --- | --- | --- | | ChunkSampleStream<T> | parent | |

- 

Fields inherited from interface com.google.android.exoplayer2.source.SampleStream

FLAG_OMIT_SAMPLE_DATA, FLAG_PEEK, FLAG_REQUIRE_FORMAT

Constructor Summary

Constructors | Constructor | Description | | --- | --- | | EmbeddedSampleStream​(ChunkSampleStream<T> parent, SampleQueue sampleQueue, int index) | |

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. | | void | release() | | | int | skipData​(long positionUs) | Attempts to skip to the keyframe before the specified position, or to the end of the stream if positionUs is beyond it. |

- 

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

- 

parent

public final[ChunkSampleStream](ChunkSampleStream.html "class in com.google.android.exoplayer2.source.chunk")<[T](ChunkSampleStream.html "type parameter in ChunkSampleStream")extends[ChunkSource](ChunkSource.html "interface in com.google.android.exoplayer2.source.chunk")> parent

Constructor Detail

- 

EmbeddedSampleStream

public EmbeddedSampleStream​([ChunkSampleStream](ChunkSampleStream.html "class in com.google.android.exoplayer2.source.chunk")<[T](ChunkSampleStream.html "type parameter in ChunkSampleStream")> parent,[SampleQueue](../SampleQueue.html "class in com.google.android.exoplayer2.source")sampleQueue,
                            int index)

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 interface SampleStreamReturns:Whether data is available to be read.

- 

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 if positionUs is beyond it. Specified by:skipData in interface SampleStreamParameters:positionUs - The specified time.Returns:The number of samples that were skipped.

- 

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 interface SampleStream

- 

readData

public int readData​([FormatHolder](../../FormatHolder.html "class in com.google.android.exoplayer2")formatHolder,[DecoderInputBuffer](../../decoder/DecoderInputBuffer.html "class in com.google.android.exoplayer2.decoder")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 on buffer and 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 C.RESULT_FORMAT_READ is returned. Else buffer is populated and C.RESULT_BUFFER_READ is returned.

Specified by:readData in interface SampleStreamParameters:formatHolder - A FormatHolder to populate in the case of reading a format.buffer - A DecoderInputBuffer to 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_STREAM flag will be set on the buffer.readFlags - Flags controlling the behavior of this read operation.Returns:The result of the read operation.

- 

release

public void release()