Class LibvpxVideoRenderer
- java.lang.Object
-
- com.google.android.exoplayer2.BaseRenderer
-
- com.google.android.exoplayer2.video.DecoderVideoRenderer
-
- com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
-
- All Implemented Interfaces:
PlayerMessage.Target
,Renderer
,RendererCapabilities
@Deprecated public class LibvpxVideoRenderer extends DecoderVideoRenderer
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.Decodes and renders video using the native VP9 decoder.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.Renderer
Renderer.MessageType, Renderer.State, Renderer.WakeupListener
-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.RendererCapabilities
RendererCapabilities.AdaptiveSupport, RendererCapabilities.Capabilities, RendererCapabilities.DecoderSupport, RendererCapabilities.FormatSupport, RendererCapabilities.HardwareAccelerationSupport, RendererCapabilities.Listener, RendererCapabilities.TunnelingSupport
-
-
Field Summary
-
Fields inherited from class com.google.android.exoplayer2.video.DecoderVideoRenderer
decoderCounters
-
Fields inherited from interface com.google.android.exoplayer2.Renderer
MSG_CUSTOM_BASE, MSG_SET_AUDIO_ATTRIBUTES, MSG_SET_AUDIO_SESSION_ID, MSG_SET_AUX_EFFECT_INFO, MSG_SET_CAMERA_MOTION_LISTENER, MSG_SET_CHANGE_FRAME_RATE_STRATEGY, MSG_SET_PREFERRED_AUDIO_DEVICE, MSG_SET_SCALING_MODE, MSG_SET_SKIP_SILENCE_ENABLED, MSG_SET_VIDEO_EFFECTS, MSG_SET_VIDEO_FRAME_METADATA_LISTENER, MSG_SET_VIDEO_OUTPUT, MSG_SET_VIDEO_OUTPUT_RESOLUTION, MSG_SET_VOLUME, MSG_SET_WAKEUP_LISTENER, STATE_DISABLED, STATE_ENABLED, STATE_STARTED
-
Fields inherited from interface com.google.android.exoplayer2.RendererCapabilities
ADAPTIVE_NOT_SEAMLESS, ADAPTIVE_NOT_SUPPORTED, ADAPTIVE_SEAMLESS, ADAPTIVE_SUPPORT_MASK, DECODER_SUPPORT_FALLBACK, DECODER_SUPPORT_FALLBACK_MIMETYPE, DECODER_SUPPORT_PRIMARY, FORMAT_EXCEEDS_CAPABILITIES, FORMAT_HANDLED, FORMAT_SUPPORT_MASK, FORMAT_UNSUPPORTED_DRM, FORMAT_UNSUPPORTED_SUBTYPE, FORMAT_UNSUPPORTED_TYPE, HARDWARE_ACCELERATION_NOT_SUPPORTED, HARDWARE_ACCELERATION_SUPPORT_MASK, HARDWARE_ACCELERATION_SUPPORTED, MODE_SUPPORT_MASK, TUNNELING_NOT_SUPPORTED, TUNNELING_SUPPORT_MASK, TUNNELING_SUPPORTED
-
-
Constructor Summary
Constructors Constructor Description LibvpxVideoRenderer(long allowedJoiningTimeMs)
Deprecated.Creates a new instance.LibvpxVideoRenderer(long allowedJoiningTimeMs, Handler eventHandler, VideoRendererEventListener eventListener, int maxDroppedFramesToNotify)
Deprecated.Creates a new instance.LibvpxVideoRenderer(long allowedJoiningTimeMs, Handler eventHandler, VideoRendererEventListener eventListener, int maxDroppedFramesToNotify, int threads, int numInputBuffers, int numOutputBuffers)
Deprecated.Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected DecoderReuseEvaluation
canReuseDecoder(String decoderName, Format oldFormat, Format newFormat)
Deprecated.Evaluates whether the existing decoder can be reused for a newFormat
.protected VpxDecoder
createDecoder(Format format, CryptoConfig cryptoConfig)
Deprecated.Creates a decoder for the given format.String
getName()
Deprecated.Returns the name of this renderer, for logging and debugging purposes.protected void
renderOutputBufferToSurface(VideoDecoderOutputBuffer outputBuffer, Surface surface)
Deprecated.Renders the specified output buffer to the passed surface.protected void
setDecoderOutputMode(@com.google.android.exoplayer2.C.VideoOutputMode int outputMode)
Deprecated.Sets output mode of the decoder.@com.google.android.exoplayer2.RendererCapabilities.Capabilities int
supportsFormat(Format format)
Deprecated.Returns the extent to which theRenderer
supports a given format.-
Methods inherited from class com.google.android.exoplayer2.video.DecoderVideoRenderer
dropOutputBuffer, flushDecoder, handleMessage, isEnded, isReady, maybeDropBuffersToKeyframe, onDisabled, onEnabled, onInputFormatChanged, onPositionReset, onProcessedOutputBuffer, onQueueInputBuffer, onStarted, onStopped, onStreamChanged, releaseDecoder, render, renderOutputBuffer, setOutput, shouldDropBuffersToKeyframe, shouldDropOutputBuffer, shouldForceRenderOutputBuffer, skipOutputBuffer, updateDroppedBufferCounters
-
Methods inherited from class com.google.android.exoplayer2.BaseRenderer
clearListener, createRendererException, createRendererException, disable, enable, getCapabilities, getConfiguration, getFormatHolder, getIndex, getLastResetPositionUs, getMediaClock, getPlayerId, getReadingPositionUs, getState, getStream, getStreamFormats, getTrackType, hasReadStreamToEnd, init, isCurrentStreamFinal, isSourceReady, maybeThrowStreamError, onRelease, onRendererCapabilitiesChanged, onReset, readSource, release, replaceStream, reset, resetPosition, setCurrentStreamFinal, setListener, skipSource, start, stop, supportsMixedMimeTypeAdaptation
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.google.android.exoplayer2.Renderer
setPlaybackSpeed
-
-
-
-
Constructor Detail
-
LibvpxVideoRenderer
public LibvpxVideoRenderer(long allowedJoiningTimeMs)
Deprecated.Creates a new instance.- Parameters:
allowedJoiningTimeMs
- The maximum duration in milliseconds for which this video renderer can attempt to seamlessly join an ongoing playback.
-
LibvpxVideoRenderer
public LibvpxVideoRenderer(long allowedJoiningTimeMs, @Nullable Handler eventHandler, @Nullable VideoRendererEventListener eventListener, int maxDroppedFramesToNotify)
Deprecated.Creates a new instance.- Parameters:
allowedJoiningTimeMs
- The maximum duration in milliseconds for which this video renderer can attempt to seamlessly join an ongoing playback.eventHandler
- A handler to use when delivering events toeventListener
. May be null if delivery of events is not required.eventListener
- A listener of events. May be null if delivery of events is not required.maxDroppedFramesToNotify
- The maximum number of frames that can be dropped between invocations ofVideoRendererEventListener.onDroppedFrames(int, long)
.
-
LibvpxVideoRenderer
public LibvpxVideoRenderer(long allowedJoiningTimeMs, @Nullable Handler eventHandler, @Nullable VideoRendererEventListener eventListener, int maxDroppedFramesToNotify, int threads, int numInputBuffers, int numOutputBuffers)
Deprecated.Creates a new instance.- Parameters:
allowedJoiningTimeMs
- The maximum duration in milliseconds for which this video renderer can attempt to seamlessly join an ongoing playback.eventHandler
- A handler to use when delivering events toeventListener
. May be null if delivery of events is not required.eventListener
- A listener of events. May be null if delivery of events is not required.maxDroppedFramesToNotify
- The maximum number of frames that can be dropped between invocations ofVideoRendererEventListener.onDroppedFrames(int, long)
.threads
- Number of threads libvpx will use to decode.numInputBuffers
- Number of input buffers.numOutputBuffers
- Number of output buffers.
-
-
Method Detail
-
getName
public String getName()
Deprecated.Description copied from interface:Renderer
Returns the name of this renderer, for logging and debugging purposes. Should typically be the renderer's (un-obfuscated) class name.- Returns:
- The name of this renderer.
-
supportsFormat
public final @com.google.android.exoplayer2.RendererCapabilities.Capabilities int supportsFormat(Format format)
Deprecated.Description copied from interface:RendererCapabilities
Returns the extent to which theRenderer
supports a given format.- Parameters:
format
- The format.- Returns:
- The
RendererCapabilities.Capabilities
for this format.
-
createDecoder
protected VpxDecoder createDecoder(Format format, @Nullable CryptoConfig cryptoConfig) throws VpxDecoderException
Deprecated.Description copied from class:DecoderVideoRenderer
Creates a decoder for the given format.- Specified by:
createDecoder
in classDecoderVideoRenderer
- Parameters:
format
- The format for which a decoder is required.cryptoConfig
- TheCryptoConfig
object required for decoding encrypted content. May be null and can be ignored if decoder does not handle encrypted content.- Returns:
- The decoder.
- Throws:
VpxDecoderException
-
renderOutputBufferToSurface
protected void renderOutputBufferToSurface(VideoDecoderOutputBuffer outputBuffer, Surface surface) throws VpxDecoderException
Deprecated.Description copied from class:DecoderVideoRenderer
Renders the specified output buffer to the passed surface.The implementation of this method takes ownership of the output buffer and is responsible for calling
VideoDecoderOutputBuffer.release()
either immediately or in the future.- Specified by:
renderOutputBufferToSurface
in classDecoderVideoRenderer
- Parameters:
outputBuffer
-VideoDecoderOutputBuffer
to render.surface
- OutputSurface
.- Throws:
VpxDecoderException
-
setDecoderOutputMode
protected void setDecoderOutputMode(@com.google.android.exoplayer2.C.VideoOutputMode int outputMode)
Deprecated.Description copied from class:DecoderVideoRenderer
Sets output mode of the decoder.- Specified by:
setDecoderOutputMode
in classDecoderVideoRenderer
- Parameters:
outputMode
- Output mode.
-
canReuseDecoder
protected DecoderReuseEvaluation canReuseDecoder(String decoderName, Format oldFormat, Format newFormat)
Deprecated.Description copied from class:DecoderVideoRenderer
Evaluates whether the existing decoder can be reused for a newFormat
.The default implementation does not allow decoder reuse.
- Overrides:
canReuseDecoder
in classDecoderVideoRenderer
- Parameters:
decoderName
- The name of the decoder.oldFormat
- The previous format.newFormat
- The new format.- Returns:
- The result of the evaluation.
-
-