Class VpxDecoder
- java.lang.Object
-
- com.google.android.exoplayer2.decoder.SimpleDecoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
-
- com.google.android.exoplayer2.ext.vp9.VpxDecoder
-
- All Implemented Interfaces:
Decoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
@Deprecated public final class VpxDecoder extends SimpleDecoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
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.Vpx decoder.
-
-
Constructor Summary
Constructors Constructor Description VpxDecoder(int numInputBuffers, int numOutputBuffers, int initialInputBufferSize, CryptoConfig cryptoConfig, int threads)
Deprecated.Creates a VP9 decoder.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected DecoderInputBuffer
createInputBuffer()
Deprecated.Creates a new input buffer.protected VideoDecoderOutputBuffer
createOutputBuffer()
Deprecated.Creates a new output buffer.protected VpxDecoderException
createUnexpectedDecodeException(Throwable error)
Deprecated.Creates an exception to propagate for an unexpected decode error.protected VpxDecoderException
decode(DecoderInputBuffer inputBuffer, VideoDecoderOutputBuffer outputBuffer, boolean reset)
Deprecated.Decodes theinputBuffer
and stores any decoded output inoutputBuffer
.String
getName()
Deprecated.Returns the name of the decoder.void
release()
Deprecated.Releases the decoder.protected void
releaseOutputBuffer(VideoDecoderOutputBuffer outputBuffer)
Deprecated.Releases an output buffer back to the decoder.void
renderToSurface(VideoDecoderOutputBuffer outputBuffer, Surface surface)
Deprecated.Renders the outputBuffer to the surface.void
setOutputMode(@com.google.android.exoplayer2.C.VideoOutputMode int outputMode)
Deprecated.Sets the output mode for frames rendered by the decoder.-
Methods inherited from class com.google.android.exoplayer2.decoder.SimpleDecoder
dequeueInputBuffer, dequeueOutputBuffer, flush, queueInputBuffer, setInitialInputBufferSize
-
-
-
-
Constructor Detail
-
VpxDecoder
public VpxDecoder(int numInputBuffers, int numOutputBuffers, int initialInputBufferSize, @Nullable CryptoConfig cryptoConfig, int threads) throws VpxDecoderException
Deprecated.Creates a VP9 decoder.- Parameters:
numInputBuffers
- The number of input buffers.numOutputBuffers
- The number of output buffers.initialInputBufferSize
- The initial size of each input buffer.cryptoConfig
- TheCryptoConfig
object required for decoding encrypted content. May be null and can be ignored if decoder does not handle encrypted content.threads
- Number of threads libvpx will use to decode.- Throws:
VpxDecoderException
- Thrown if an exception occurs when initializing the decoder.
-
-
Method Detail
-
getName
public String getName()
Deprecated.Description copied from interface:Decoder
Returns the name of the decoder.- Returns:
- The name of the decoder.
-
createInputBuffer
protected DecoderInputBuffer createInputBuffer()
Deprecated.Description copied from class:SimpleDecoder
Creates a new input buffer.- Specified by:
createInputBuffer
in classSimpleDecoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
-
createOutputBuffer
protected VideoDecoderOutputBuffer createOutputBuffer()
Deprecated.Description copied from class:SimpleDecoder
Creates a new output buffer.- Specified by:
createOutputBuffer
in classSimpleDecoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
-
releaseOutputBuffer
protected void releaseOutputBuffer(VideoDecoderOutputBuffer outputBuffer)
Deprecated.Description copied from class:SimpleDecoder
Releases an output buffer back to the decoder.- Overrides:
releaseOutputBuffer
in classSimpleDecoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
- Parameters:
outputBuffer
- The output buffer being released.
-
createUnexpectedDecodeException
protected VpxDecoderException createUnexpectedDecodeException(Throwable error)
Deprecated.Description copied from class:SimpleDecoder
Creates an exception to propagate for an unexpected decode error.- Specified by:
createUnexpectedDecodeException
in classSimpleDecoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
- Parameters:
error
- The unexpected decode error.- Returns:
- The exception to propagate.
-
decode
@Nullable protected VpxDecoderException decode(DecoderInputBuffer inputBuffer, VideoDecoderOutputBuffer outputBuffer, boolean reset)
Deprecated.Description copied from class:SimpleDecoder
Decodes theinputBuffer
and stores any decoded output inoutputBuffer
.- Specified by:
decode
in classSimpleDecoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
- Parameters:
inputBuffer
- The buffer to decode.outputBuffer
- The output buffer to store decoded data. The flagC.BUFFER_FLAG_DECODE_ONLY
will be set if the same flag is set oninputBuffer
, but may be set/unset as required. If the flag is set when the call returns then the output buffer will not be made available to dequeue. The output buffer may not have been populated in this case.reset
- Whether the decoder must be reset before decoding.- Returns:
- A decoder exception if an error occurred, or null if decoding was successful.
-
release
public void release()
Deprecated.Description copied from interface:Decoder
Releases the decoder. Must be called when the decoder is no longer needed.- Specified by:
release
in interfaceDecoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
- Overrides:
release
in classSimpleDecoder<DecoderInputBuffer,VideoDecoderOutputBuffer,VpxDecoderException>
-
setOutputMode
public void setOutputMode(@com.google.android.exoplayer2.C.VideoOutputMode int outputMode)
Deprecated.Sets the output mode for frames rendered by the decoder.- Parameters:
outputMode
- The output mode.
-
renderToSurface
public void renderToSurface(VideoDecoderOutputBuffer outputBuffer, Surface surface) throws VpxDecoderException
Deprecated.Renders the outputBuffer to the surface. Used with OUTPUT_MODE_SURFACE_YUV only.- Throws:
VpxDecoderException
-
-