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 DecoderReuseEvaluationcanReuseDecoder(String decoderName, Format oldFormat, Format newFormat)Deprecated.Evaluates whether the existing decoder can be reused for a newFormat.protected VpxDecodercreateDecoder(Format format, CryptoConfig cryptoConfig)Deprecated.Creates a decoder for the given format.StringgetName()Deprecated.Returns the name of this renderer, for logging and debugging purposes.protected voidrenderOutputBufferToSurface(VideoDecoderOutputBuffer outputBuffer, Surface surface)Deprecated.Renders the specified output buffer to the passed surface.protected voidsetDecoderOutputMode(@com.google.android.exoplayer2.C.VideoOutputMode int outputMode)Deprecated.Sets output mode of the decoder.@com.google.android.exoplayer2.RendererCapabilities.Capabilities intsupportsFormat(Format format)Deprecated.Returns the extent to which theRenderersupports 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:RendererReturns 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:RendererCapabilitiesReturns the extent to which theRenderersupports a given format.- Parameters:
format- The format.- Returns:
- The
RendererCapabilities.Capabilitiesfor this format.
-
createDecoder
protected VpxDecoder createDecoder(Format format, @Nullable CryptoConfig cryptoConfig) throws VpxDecoderException
Deprecated.Description copied from class:DecoderVideoRendererCreates a decoder for the given format.- Specified by:
createDecoderin classDecoderVideoRenderer- Parameters:
format- The format for which a decoder is required.cryptoConfig- TheCryptoConfigobject 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:DecoderVideoRendererRenders 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:
renderOutputBufferToSurfacein classDecoderVideoRenderer- Parameters:
outputBuffer-VideoDecoderOutputBufferto render.surface- OutputSurface.- Throws:
VpxDecoderException
-
setDecoderOutputMode
protected void setDecoderOutputMode(@com.google.android.exoplayer2.C.VideoOutputMode int outputMode)
Deprecated.Description copied from class:DecoderVideoRendererSets output mode of the decoder.- Specified by:
setDecoderOutputModein classDecoderVideoRenderer- Parameters:
outputMode- Output mode.
-
canReuseDecoder
protected DecoderReuseEvaluation canReuseDecoder(String decoderName, Format oldFormat, Format newFormat)
Deprecated.Description copied from class:DecoderVideoRendererEvaluates whether the existing decoder can be reused for a newFormat.The default implementation does not allow decoder reuse.
- Overrides:
canReuseDecoderin classDecoderVideoRenderer- Parameters:
decoderName- The name of the decoder.oldFormat- The previous format.newFormat- The new format.- Returns:
- The result of the evaluation.
-
-