Class DecoderInputBuffer
- java.lang.Object
-
- com.google.android.exoplayer2.decoder.Buffer
-
- com.google.android.exoplayer2.decoder.DecoderInputBuffer
-
- Direct Known Subclasses:
MetadataInputBuffer
,SubtitleInputBuffer
@Deprecated public class DecoderInputBuffer extends Buffer
Deprecated.com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.Holds input for a decoder.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
DecoderInputBuffer.BufferReplacementMode
Deprecated.The buffer replacement mode.static class
DecoderInputBuffer.InsufficientCapacityException
Deprecated.Thrown when an attempt is made to write into aDecoderInputBuffer
whosebufferReplacementMode
isBUFFER_REPLACEMENT_MODE_DISABLED
and whodata
capacity is smaller than required.
-
Field Summary
Fields Modifier and Type Field Description static int
BUFFER_REPLACEMENT_MODE_DIRECT
Deprecated.Allows buffer replacement usingByteBuffer.allocateDirect(int)
.static int
BUFFER_REPLACEMENT_MODE_DISABLED
Deprecated.Disallows buffer replacement.static int
BUFFER_REPLACEMENT_MODE_NORMAL
Deprecated.Allows buffer replacement usingByteBuffer.allocate(int)
.CryptoInfo
cryptoInfo
Deprecated.CryptoInfo
for encrypted data.ByteBuffer
data
Deprecated.The buffer's data, ornull
if no data has been set.Format
format
Deprecated.TheFormat
.ByteBuffer
supplementalData
Deprecated.Supplemental data related to the buffer, ifBuffer.hasSupplementalData()
returns true.long
timeUs
Deprecated.The time at which the sample should be presented.boolean
waitingForKeys
Deprecated.Whether the last attempt to read a sample into this buffer failed due to not yet having the DRM keys associated with the next sample.
-
Constructor Summary
Constructors Constructor Description DecoderInputBuffer(@com.google.android.exoplayer2.decoder.DecoderInputBuffer.BufferReplacementMode int bufferReplacementMode)
Deprecated.Creates a new instance.DecoderInputBuffer(@com.google.android.exoplayer2.decoder.DecoderInputBuffer.BufferReplacementMode int bufferReplacementMode, int paddingSize)
Deprecated.Creates a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
clear()
Deprecated.Clears the buffer.void
ensureSpaceForWrite(int length)
Deprecated.Ensures thatdata
is large enough to accommodate a write of a given length at its current position.void
flip()
Deprecated.Flipsdata
andsupplementalData
in preparation for being queued to a decoder.boolean
isEncrypted()
Deprecated.Returns whether theC.BUFFER_FLAG_ENCRYPTED
flag is set.static DecoderInputBuffer
newNoDataInstance()
Deprecated.Returns a new instance that's not able to hold any data.void
resetSupplementalData(int length)
Deprecated.ClearssupplementalData
and ensures that it's large enough to accommodatelength
bytes.-
Methods inherited from class com.google.android.exoplayer2.decoder.Buffer
addFlag, clearFlag, getFlag, hasSupplementalData, isDecodeOnly, isEndOfStream, isFirstSample, isKeyFrame, isLastSample, setFlags
-
-
-
-
Field Detail
-
BUFFER_REPLACEMENT_MODE_DISABLED
public static final int BUFFER_REPLACEMENT_MODE_DISABLED
Deprecated.Disallows buffer replacement.- See Also:
- Constant Field Values
-
BUFFER_REPLACEMENT_MODE_NORMAL
public static final int BUFFER_REPLACEMENT_MODE_NORMAL
Deprecated.Allows buffer replacement usingByteBuffer.allocate(int)
.- See Also:
- Constant Field Values
-
BUFFER_REPLACEMENT_MODE_DIRECT
public static final int BUFFER_REPLACEMENT_MODE_DIRECT
Deprecated.Allows buffer replacement usingByteBuffer.allocateDirect(int)
.- See Also:
- Constant Field Values
-
cryptoInfo
public final CryptoInfo cryptoInfo
Deprecated.CryptoInfo
for encrypted data.
-
data
@Nullable public ByteBuffer data
Deprecated.The buffer's data, ornull
if no data has been set.
-
waitingForKeys
public boolean waitingForKeys
Deprecated.Whether the last attempt to read a sample into this buffer failed due to not yet having the DRM keys associated with the next sample.
-
timeUs
public long timeUs
Deprecated.The time at which the sample should be presented.
-
supplementalData
@Nullable public ByteBuffer supplementalData
Deprecated.Supplemental data related to the buffer, ifBuffer.hasSupplementalData()
returns true. If present, the buffer is populated with supplemental data from position 0 to its limit.
-
-
Constructor Detail
-
DecoderInputBuffer
public DecoderInputBuffer(@com.google.android.exoplayer2.decoder.DecoderInputBuffer.BufferReplacementMode int bufferReplacementMode)
Deprecated.Creates a new instance.- Parameters:
bufferReplacementMode
- TheDecoderInputBuffer.BufferReplacementMode
replacement mode.
-
DecoderInputBuffer
public DecoderInputBuffer(@com.google.android.exoplayer2.decoder.DecoderInputBuffer.BufferReplacementMode int bufferReplacementMode, int paddingSize)
Deprecated.Creates a new instance.- Parameters:
bufferReplacementMode
- TheDecoderInputBuffer.BufferReplacementMode
replacement mode.paddingSize
- If non-zero,ensureSpaceForWrite(int)
will ensure that the buffer is this number of bytes larger than the requested length. This can be useful for decoders that consume data in fixed size blocks, for efficiency. Setting the padding size to the decoder's fixed read size is necessary to prevent such a decoder from trying to read beyond the end of the buffer.
-
-
Method Detail
-
newNoDataInstance
public static DecoderInputBuffer newNoDataInstance()
Deprecated.Returns a new instance that's not able to hold any data.
-
resetSupplementalData
@EnsuresNonNull("supplementalData") public void resetSupplementalData(int length)
Deprecated.ClearssupplementalData
and ensures that it's large enough to accommodatelength
bytes.- Parameters:
length
- The length of the supplemental data that must be accommodated, in bytes.
-
ensureSpaceForWrite
@EnsuresNonNull("data") public void ensureSpaceForWrite(int length)
Deprecated.Ensures thatdata
is large enough to accommodate a write of a given length at its current position.If the capacity of
data
is sufficient this method does nothing. If the capacity is insufficient then an attempt is made to replacedata
with a newByteBuffer
whose capacity is sufficient. Data up to the current position is copied to the new buffer.- Parameters:
length
- The length of the write that must be accommodated, in bytes.- Throws:
DecoderInputBuffer.InsufficientCapacityException
- If there is insufficient capacity to accommodate the write andbufferReplacementMode
isBUFFER_REPLACEMENT_MODE_DISABLED
.
-
isEncrypted
public final boolean isEncrypted()
Deprecated.Returns whether theC.BUFFER_FLAG_ENCRYPTED
flag is set.
-
flip
public final void flip()
Deprecated.Flipsdata
andsupplementalData
in preparation for being queued to a decoder.- See Also:
Buffer.flip()
-
-