ExternallyLoadedImageDecoder


@UnstableApi
class ExternallyLoadedImageDecoder : ImageDecoder


An ImageDecoder for externally loaded images.

Summary

Nested types

The resolver that resolves an external image request to a Bitmap.

A data class providing information about the external image request.

A ImageDecoder.Factory for ExternallyLoadedImageDecoder instances.

Public functions

DecoderInputBuffer?

Dequeues the next input buffer to be filled and queued to the decoder.

ImageOutputBuffer?

Returns the next decoded Bitmap in an ImageOutputBuffer.

Unit

Flushes the decoder.

String!

Returns the name of the decoder.

Unit

Queues an DecoderInputBuffer to the decoder.

Unit

Releases the decoder.

Unit
setOutputStartTimeUs(outputStartTimeUs: Long)

Sets the timestamp from which output buffers should be produced, in microseconds.

Inherited functions

From androidx.media3.decoder.Decoder
abstract O?

Dequeues the next output buffer from the decoder.

abstract Unit
queueInputBuffer(inputBuffer: I!)

Queues an input buffer to the decoder.

Public functions

dequeueInputBuffer

fun dequeueInputBuffer(): DecoderInputBuffer?

Dequeues the next input buffer to be filled and queued to the decoder.

Returns
DecoderInputBuffer?

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

fun dequeueOutputBuffer(): ImageOutputBuffer?

Returns the next decoded Bitmap in an ImageOutputBuffer.

Returns
ImageOutputBuffer?

The output buffer, or null if an output buffer isn't available.

Throws
androidx.media3.exoplayer.image.ImageDecoderException

If a decoder error has occurred.

flush

fun flush(): Unit

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

fun getName(): String!

Returns the name of the decoder.

Returns
String!

The name of the decoder.

queueInputBuffer

fun queueInputBuffer(inputBuffer: DecoderInputBuffer!): Unit

Queues an DecoderInputBuffer to the decoder.

Parameters
inputBuffer: DecoderInputBuffer!

The input buffer containing the byte data corresponding to the image(s).

Throws
androidx.media3.exoplayer.image.ImageDecoderException

If a decoder error has occurred.

release

fun release(): Unit

Releases the decoder. Must be called when the decoder is no longer needed.

setOutputStartTimeUs

fun setOutputStartTimeUs(outputStartTimeUs: Long): Unit

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
outputStartTimeUs: Long

The time from which output buffer should be produced, in microseconds.