MetadataDecoderAppInfoTableDecoder, EventMessageDecoder, IcyDecoder, Id3Decoder, SpliceInfoDecoderpublic abstract class SimpleMetadataDecoder extends Object implements MetadataDecoder
MetadataDecoder base class that validates input buffers and discards any for which
Buffer.isDecodeOnly() is true.| Constructor | Description |
|---|---|
SimpleMetadataDecoder() |
| Modifier and Type | Method | Description |
|---|---|---|
Metadata |
decode(MetadataInputBuffer inputBuffer) |
Decodes a
Metadata element from the provided input buffer. |
protected abstract Metadata |
decode(MetadataInputBuffer inputBuffer,
ByteBuffer buffer) |
Called by
decode(MetadataInputBuffer) after input buffer validation has been
performed, except in the case that Buffer.isDecodeOnly() is true. |
@Nullable public final Metadata decode(MetadataInputBuffer inputBuffer)
MetadataDecoderMetadata element from the provided input buffer.
Respects Buffer.limit() of inputBuffer.data, but assumes Buffer.position() and ByteBuffer.arrayOffset() are both zero and ByteBuffer.hasArray() is true.
decode in interface MetadataDecoderinputBuffer - The input buffer to decode.null if the metadata could not be decoded or if
Buffer.isDecodeOnly() was set on the input buffer.@Nullable protected abstract Metadata decode(MetadataInputBuffer inputBuffer, ByteBuffer buffer)
decode(MetadataInputBuffer) after input buffer validation has been
performed, except in the case that Buffer.isDecodeOnly() is true.inputBuffer - The input buffer to decode.buffer - The input buffer's data buffer, for convenience.
Validation by decode(com.google.android.exoplayer2.metadata.MetadataInputBuffer) guarantees that ByteBuffer.hasArray(), Buffer.position() and ByteBuffer.arrayOffset() are true, 0 and
0 respectively.null if the metadata could not be decoded.