Class LibopusAudioRenderer
- java.lang.Object
-
- com.google.android.exoplayer2.BaseRenderer
-
- com.google.android.exoplayer2.audio.DecoderAudioRenderer<OpusDecoder>
-
- com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
-
- All Implemented Interfaces:
PlayerMessage.Target,Renderer,RendererCapabilities,MediaClock
public class LibopusAudioRenderer extends DecoderAudioRenderer<OpusDecoder>
Decodes and renders audio using the native Opus 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.FormatSupport, RendererCapabilities.TunnelingSupport
-
-
Field Summary
-
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_SCALING_MODE, MSG_SET_SKIP_SILENCE_ENABLED, MSG_SET_VIDEO_FRAME_METADATA_LISTENER, MSG_SET_VIDEO_OUTPUT, 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, FORMAT_EXCEEDS_CAPABILITIES, FORMAT_HANDLED, FORMAT_SUPPORT_MASK, FORMAT_UNSUPPORTED_DRM, FORMAT_UNSUPPORTED_SUBTYPE, FORMAT_UNSUPPORTED_TYPE, TUNNELING_NOT_SUPPORTED, TUNNELING_SUPPORT_MASK, TUNNELING_SUPPORTED
-
-
Constructor Summary
Constructors Constructor Description LibopusAudioRenderer()LibopusAudioRenderer(Handler eventHandler, AudioRendererEventListener eventListener, AudioProcessor... audioProcessors)Creates a new instance.LibopusAudioRenderer(Handler eventHandler, AudioRendererEventListener eventListener, AudioSink audioSink)Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected OpusDecodercreateDecoder(Format format, CryptoConfig cryptoConfig)Creates a decoder for the given format.StringgetName()Returns the name of this renderer, for logging and debugging purposes.protected FormatgetOutputFormat(OpusDecoder decoder)Returns the format of audio buffers output by the decoder.protected intsupportsFormatInternal(Format format)Returns theC.FormatSupportfor the givenFormat.-
Methods inherited from class com.google.android.exoplayer2.audio.DecoderAudioRenderer
canReuseDecoder, experimentalSetEnableKeepAudioTrackOnSeek, getMediaClock, getPlaybackParameters, getPositionUs, getSinkFormatSupport, handleMessage, isEnded, isReady, onDisabled, onEnabled, onPositionDiscontinuity, onPositionReset, onQueueInputBuffer, onStarted, onStopped, render, setPlaybackParameters, sinkSupportsFormat, supportsFormat
-
Methods inherited from class com.google.android.exoplayer2.BaseRenderer
createRendererException, createRendererException, disable, enable, getCapabilities, getConfiguration, getFormatHolder, getIndex, getLastResetPositionUs, getReadingPositionUs, getState, getStream, getStreamFormats, getTrackType, hasReadStreamToEnd, isCurrentStreamFinal, isSourceReady, maybeThrowStreamError, onReset, onStreamChanged, readSource, replaceStream, reset, resetPosition, setCurrentStreamFinal, setIndex, 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
-
LibopusAudioRenderer
public LibopusAudioRenderer()
-
LibopusAudioRenderer
public LibopusAudioRenderer(@Nullable Handler eventHandler, @Nullable AudioRendererEventListener eventListener, AudioProcessor... audioProcessors)Creates a new instance.- Parameters:
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.audioProcessors- OptionalAudioProcessors that will process audio before output.
-
LibopusAudioRenderer
public LibopusAudioRenderer(@Nullable Handler eventHandler, @Nullable AudioRendererEventListener eventListener, AudioSink audioSink)Creates a new instance.- Parameters:
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.audioSink- The sink to which audio will be output.
-
-
Method Detail
-
getName
public String getName()
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.
-
supportsFormatInternal
@FormatSupport protected int supportsFormatInternal(Format format)
Description copied from class:DecoderAudioRendererReturns theC.FormatSupportfor the givenFormat.- Specified by:
supportsFormatInternalin classDecoderAudioRenderer<OpusDecoder>- Parameters:
format- The format, which has an audioFormat.sampleMimeType.- Returns:
- The
C.FormatSupportfor thisFormat.
-
createDecoder
protected OpusDecoder createDecoder(Format format, @Nullable CryptoConfig cryptoConfig) throws OpusDecoderException
Description copied from class:DecoderAudioRendererCreates a decoder for the given format.- Specified by:
createDecoderin classDecoderAudioRenderer<OpusDecoder>- 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:
OpusDecoderException
-
getOutputFormat
protected Format getOutputFormat(OpusDecoder decoder)
Description copied from class:DecoderAudioRendererReturns the format of audio buffers output by the decoder. Will not be called until the first output buffer has been dequeued, so the decoder may use input data to determine the format.- Specified by:
getOutputFormatin classDecoderAudioRenderer<OpusDecoder>- Parameters:
decoder- The decoder.
-
-