Decoder
@UnstableApi
public interface Decoder<I, O, E extends DecoderException>
ImageDecoder |
A |
SimpleDecoder |
Base class for |
SubtitleDecoder |
Decodes |
BitmapFactoryImageDecoder |
An image decoder that uses |
Cea608Decoder |
A |
Cea708Decoder |
A |
ExternallyLoadedImageDecoder |
An |
SimpleSubtitleDecoder |
Base class for subtitle parsers that use their own decode thread. |
A media decoder.
Parameters | |
---|---|
<I> |
The type of buffer input to the decoder. |
<O> |
The type of buffer output from the decoder. |
<E extends DecoderException> |
The type of exception thrown from the decoder. |
Summary
Public methods |
|
---|---|
abstract @Nullable I |
Dequeues the next input buffer to be filled and queued to the decoder. |
abstract @Nullable O |
Dequeues the next output buffer from the decoder. |
abstract void |
flush() Flushes the decoder. |
abstract String |
getName() Returns the name of the decoder. |
abstract void |
queueInputBuffer(I inputBuffer) Queues an input buffer to the decoder. |
abstract void |
release() Releases the decoder. |
abstract void |
setOutputStartTimeUs(long outputStartTimeUs) Sets the timestamp from which output buffers should be produced, in microseconds. |
Public methods
dequeueInputBuffer
abstract @Nullable I dequeueInputBuffer()
Dequeues the next input buffer to be filled and queued to the decoder.
Returns | |
---|---|
@Nullable I |
The input buffer, which will have been cleared, or null if a buffer isn't available. |
Throws | |
---|---|
E |
If a decoder error has occurred. |
dequeueOutputBuffer
abstract @Nullable O dequeueOutputBuffer()
Dequeues the next output buffer from the decoder.
Returns | |
---|---|
@Nullable O |
The output buffer, or null if an output buffer isn't available. |
Throws | |
---|---|
E |
If a decoder error has occurred. |
flush
abstract void flush()
Flushes the decoder. Ownership of dequeued input buffers is returned to the decoder. The caller is still responsible for releasing any dequeued output buffers.
getName
abstract String getName()
Returns the name of the decoder.
Returns | |
---|---|
String |
The name of the decoder. |
queueInputBuffer
abstract void queueInputBuffer(I inputBuffer)
Queues an input buffer to the decoder.
Parameters | |
---|---|
I inputBuffer |
The input buffer. |
Throws | |
---|---|
E |
If a decoder error has occurred. |
release
abstract void release()
Releases the decoder. Must be called when the decoder is no longer needed.
setOutputStartTimeUs
abstract void setOutputStartTimeUs(long outputStartTimeUs)
Sets the timestamp from which output buffers should be produced, in microseconds.
Any decoded buffer with a timestamp less than outputStartTimeUs
should be skipped by the implementation and not made available via dequeueOutputBuffer
.
This method must only be called before queuing the first input buffer
initially or after flush
.
Parameters | |
---|---|
long outputStartTimeUs |
The time from which output buffer should be produced, in microseconds. |