Package androidx.media3.decoder.ffmpeg
Class FfmpegAudioRenderer
java.lang.Object
androidx.media3.exoplayer.BaseRenderer
androidx.media3.exoplayer.audio.DecoderAudioRenderer<androidx.media3.decoder.ffmpeg.FfmpegAudioDecoder>
androidx.media3.decoder.ffmpeg.FfmpegAudioRenderer
- All Implemented Interfaces:
androidx.media3.exoplayer.MediaClock,androidx.media3.exoplayer.PlayerMessage.Target,androidx.media3.exoplayer.Renderer,androidx.media3.exoplayer.RendererCapabilities
@UnstableApi
public final class FfmpegAudioRenderer
extends androidx.media3.exoplayer.audio.DecoderAudioRenderer<androidx.media3.decoder.ffmpeg.FfmpegAudioDecoder>
Decodes and renders audio using FFmpeg.
-
Nested Class Summary
Nested classes/interfaces inherited from interface androidx.media3.exoplayer.Renderer
androidx.media3.exoplayer.Renderer.MessageType, androidx.media3.exoplayer.Renderer.State, androidx.media3.exoplayer.Renderer.WakeupListenerNested classes/interfaces inherited from interface androidx.media3.exoplayer.RendererCapabilities
androidx.media3.exoplayer.RendererCapabilities.AdaptiveSupport, androidx.media3.exoplayer.RendererCapabilities.AudioOffloadSupport, androidx.media3.exoplayer.RendererCapabilities.Capabilities, androidx.media3.exoplayer.RendererCapabilities.DecoderSupport, androidx.media3.exoplayer.RendererCapabilities.HardwareAccelerationSupport, androidx.media3.exoplayer.RendererCapabilities.Listener, androidx.media3.exoplayer.RendererCapabilities.TunnelingSupport -
Field Summary
Fields inherited from interface androidx.media3.exoplayer.Renderer
DEFAULT_DURATION_TO_PROGRESS_US, 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_IMAGE_OUTPUT, MSG_SET_PREFERRED_AUDIO_DEVICE, MSG_SET_PRIORITY, 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, MSG_TRANSFER_RESOURCES, STATE_DISABLED, STATE_ENABLED, STATE_STARTEDFields inherited from interface androidx.media3.exoplayer.RendererCapabilities
ADAPTIVE_NOT_SEAMLESS, ADAPTIVE_NOT_SUPPORTED, ADAPTIVE_SEAMLESS, ADAPTIVE_SUPPORT_MASK, AUDIO_OFFLOAD_GAPLESS_SUPPORTED, AUDIO_OFFLOAD_NOT_SUPPORTED, AUDIO_OFFLOAD_SPEED_CHANGE_SUPPORTED, AUDIO_OFFLOAD_SUPPORT_MASK, AUDIO_OFFLOAD_SUPPORTED, DECODER_SUPPORT_FALLBACK, DECODER_SUPPORT_FALLBACK_MIMETYPE, DECODER_SUPPORT_MASK, DECODER_SUPPORT_PRIMARY, FORMAT_SUPPORT_MASK, HARDWARE_ACCELERATION_NOT_SUPPORTED, HARDWARE_ACCELERATION_SUPPORT_MASK, HARDWARE_ACCELERATION_SUPPORTED, TUNNELING_NOT_SUPPORTED, TUNNELING_SUPPORT_MASK, TUNNELING_SUPPORTED -
Constructor Summary
ConstructorsConstructorDescriptionFfmpegAudioRenderer(android.os.Handler eventHandler, androidx.media3.exoplayer.audio.AudioRendererEventListener eventListener, androidx.media3.common.audio.AudioProcessor... audioProcessors) Creates a new instance.FfmpegAudioRenderer(android.os.Handler eventHandler, androidx.media3.exoplayer.audio.AudioRendererEventListener eventListener, androidx.media3.exoplayer.audio.AudioSink audioSink) Creates a new instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected androidx.media3.decoder.ffmpeg.FfmpegAudioDecodercreateDecoder(androidx.media3.common.Format format, androidx.media3.decoder.CryptoConfig cryptoConfig) getName()protected androidx.media3.common.FormatgetOutputFormat(androidx.media3.decoder.ffmpeg.FfmpegAudioDecoder decoder) protected @androidx.media3.common.C.FormatSupport intsupportsFormatInternal(androidx.media3.common.Format format) @androidx.media3.exoplayer.RendererCapabilities.AdaptiveSupport intMethods inherited from class androidx.media3.exoplayer.audio.DecoderAudioRenderer
canReuseDecoder, getChannelMapping, getDurationToProgressUs, getMediaClock, getPlaybackParameters, getPositionUs, getSinkFormatSupport, handleMessage, hasSkippedSilenceSinceLastCall, isEnded, isReady, onDisabled, onEnabled, onPositionDiscontinuity, onPositionReset, onStarted, onStopped, onStreamChanged, render, setPlaybackParameters, sinkSupportsFormat, supportsFormatMethods inherited from class androidx.media3.exoplayer.BaseRenderer
clearListener, createRendererException, createRendererException, disable, enable, getCapabilities, getClock, getConfiguration, getFormatHolder, getIndex, getLastResetPositionUs, getPlayerId, getReadingPositionUs, getState, getStream, getStreamFormats, getStreamOffsetUs, getTimeline, getTrackType, hasReadStreamToEnd, init, isCurrentStreamFinal, isSourceReady, maybeThrowStreamError, onInit, onRelease, onRendererCapabilitiesChanged, onReset, onTimelineChanged, readSource, release, replaceStream, reset, resetPosition, setCurrentStreamFinal, setListener, setTimeline, skipSource, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface androidx.media3.exoplayer.Renderer
enableMayRenderStartOfStream, setPlaybackSpeed
-
Constructor Details
-
FfmpegAudioRenderer
public FfmpegAudioRenderer() -
FfmpegAudioRenderer
public FfmpegAudioRenderer(@Nullable android.os.Handler eventHandler, @Nullable androidx.media3.exoplayer.audio.AudioRendererEventListener eventListener, androidx.media3.common.audio.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.
-
FfmpegAudioRenderer
public FfmpegAudioRenderer(@Nullable android.os.Handler eventHandler, @Nullable androidx.media3.exoplayer.audio.AudioRendererEventListener eventListener, androidx.media3.exoplayer.audio.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 Details
-
getName
-
supportsFormatInternal
@FormatSupport protected @androidx.media3.common.C.FormatSupport int supportsFormatInternal(androidx.media3.common.Format format) - Specified by:
supportsFormatInternalin classandroidx.media3.exoplayer.audio.DecoderAudioRenderer<androidx.media3.decoder.ffmpeg.FfmpegAudioDecoder>
-
supportsMixedMimeTypeAdaptation
public @androidx.media3.exoplayer.RendererCapabilities.AdaptiveSupport int supportsMixedMimeTypeAdaptation()- Specified by:
supportsMixedMimeTypeAdaptationin interfaceandroidx.media3.exoplayer.RendererCapabilities- Overrides:
supportsMixedMimeTypeAdaptationin classandroidx.media3.exoplayer.BaseRenderer
-
createDecoder
protected androidx.media3.decoder.ffmpeg.FfmpegAudioDecoder createDecoder(androidx.media3.common.Format format, @Nullable androidx.media3.decoder.CryptoConfig cryptoConfig) throws FfmpegDecoderException - Specified by:
createDecoderin classandroidx.media3.exoplayer.audio.DecoderAudioRenderer<androidx.media3.decoder.ffmpeg.FfmpegAudioDecoder>- Throws:
FfmpegDecoderException
-
getOutputFormat
protected androidx.media3.common.Format getOutputFormat(androidx.media3.decoder.ffmpeg.FfmpegAudioDecoder decoder) - Specified by:
getOutputFormatin classandroidx.media3.exoplayer.audio.DecoderAudioRenderer<androidx.media3.decoder.ffmpeg.FfmpegAudioDecoder>
-