public class DefaultRenderersFactory extends java.lang.Object implements RenderersFactory
RenderersFactory
implementation.Modifier and Type | Class and Description |
---|---|
static interface |
DefaultRenderersFactory.ExtensionRendererMode
Modes for using extension renderers.
|
Modifier and Type | Field and Description |
---|---|
static long |
DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS
The default maximum duration for which a video renderer can attempt to seamlessly join an
ongoing playback.
|
static int |
EXTENSION_RENDERER_MODE_OFF
Do not allow use of extension renderers.
|
static int |
EXTENSION_RENDERER_MODE_ON
Allow use of extension renderers.
|
static int |
EXTENSION_RENDERER_MODE_PREFER
Allow use of extension renderers.
|
protected static int |
MAX_DROPPED_VIDEO_FRAME_COUNT_TO_NOTIFY |
Constructor and Description |
---|
DefaultRenderersFactory(android.content.Context context) |
DefaultRenderersFactory(android.content.Context context,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager) |
DefaultRenderersFactory(android.content.Context context,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
int extensionRendererMode) |
DefaultRenderersFactory(android.content.Context context,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
int extensionRendererMode,
long allowedVideoJoiningTimeMs) |
Modifier and Type | Method and Description |
---|---|
protected AudioProcessor[] |
buildAudioProcessors()
Builds an array of
AudioProcessor s that will process PCM audio before output. |
protected void |
buildAudioRenderers(android.content.Context context,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
AudioProcessor[] audioProcessors,
android.os.Handler eventHandler,
AudioRendererEventListener eventListener,
int extensionRendererMode,
java.util.ArrayList<Renderer> out)
Builds audio renderers for use by the player.
|
protected void |
buildMetadataRenderers(android.content.Context context,
MetadataRenderer.Output output,
android.os.Looper outputLooper,
int extensionRendererMode,
java.util.ArrayList<Renderer> out)
Builds metadata renderers for use by the player.
|
protected void |
buildMiscellaneousRenderers(android.content.Context context,
android.os.Handler eventHandler,
int extensionRendererMode,
java.util.ArrayList<Renderer> out)
Builds any miscellaneous renderers used by the player.
|
protected void |
buildTextRenderers(android.content.Context context,
TextRenderer.Output output,
android.os.Looper outputLooper,
int extensionRendererMode,
java.util.ArrayList<Renderer> out)
Builds text renderers for use by the player.
|
protected void |
buildVideoRenderers(android.content.Context context,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
long allowedVideoJoiningTimeMs,
android.os.Handler eventHandler,
VideoRendererEventListener eventListener,
int extensionRendererMode,
java.util.ArrayList<Renderer> out)
Builds video renderers for use by the player.
|
Renderer[] |
createRenderers(android.os.Handler eventHandler,
VideoRendererEventListener videoRendererEventListener,
AudioRendererEventListener audioRendererEventListener,
TextRenderer.Output textRendererOutput,
MetadataRenderer.Output metadataRendererOutput)
Builds the
Renderer instances for a SimpleExoPlayer . |
public static final long DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS
public static final int EXTENSION_RENDERER_MODE_OFF
public static final int EXTENSION_RENDERER_MODE_ON
TrackSelector
that prefers the first suitable renderer will therefore
prefer to use a core renderer to an extension renderer in the case that both are able to play
a given track.public static final int EXTENSION_RENDERER_MODE_PREFER
TrackSelector
that prefers the first suitable renderer will therefore
prefer to use an extension renderer to a core renderer in the case that both are able to play
a given track.protected static final int MAX_DROPPED_VIDEO_FRAME_COUNT_TO_NOTIFY
public DefaultRenderersFactory(android.content.Context context)
context
- A Context
.public DefaultRenderersFactory(android.content.Context context, DrmSessionManager<FrameworkMediaCrypto> drmSessionManager)
context
- A Context
.drmSessionManager
- An optional DrmSessionManager
. May be null if DRM protected
playbacks are not required.public DefaultRenderersFactory(android.content.Context context, DrmSessionManager<FrameworkMediaCrypto> drmSessionManager, int extensionRendererMode)
context
- A Context
.drmSessionManager
- An optional DrmSessionManager
. May be null if DRM protected
playbacks are not required..extensionRendererMode
- The extension renderer mode, which determines if and how
available extension renderers are used. Note that extensions must be included in the
application build for them to be considered available.public DefaultRenderersFactory(android.content.Context context, DrmSessionManager<FrameworkMediaCrypto> drmSessionManager, int extensionRendererMode, long allowedVideoJoiningTimeMs)
context
- A Context
.drmSessionManager
- An optional DrmSessionManager
. May be null if DRM protected
playbacks are not required..extensionRendererMode
- The extension renderer mode, which determines if and how
available extension renderers are used. Note that extensions must be included in the
application build for them to be considered available.allowedVideoJoiningTimeMs
- The maximum duration for which video renderers can attempt
to seamlessly join an ongoing playback.public Renderer[] createRenderers(android.os.Handler eventHandler, VideoRendererEventListener videoRendererEventListener, AudioRendererEventListener audioRendererEventListener, TextRenderer.Output textRendererOutput, MetadataRenderer.Output metadataRendererOutput)
RenderersFactory
Renderer
instances for a SimpleExoPlayer
.createRenderers
in interface RenderersFactory
eventHandler
- A handler to use when invoking event listeners and outputs.videoRendererEventListener
- An event listener for video renderers.textRendererOutput
- An output for text renderers.metadataRendererOutput
- An output for metadata renderers.instances
.protected void buildVideoRenderers(android.content.Context context, DrmSessionManager<FrameworkMediaCrypto> drmSessionManager, long allowedVideoJoiningTimeMs, android.os.Handler eventHandler, VideoRendererEventListener eventListener, int extensionRendererMode, java.util.ArrayList<Renderer> out)
context
- The Context
associated with the player.drmSessionManager
- An optional DrmSessionManager
. May be null if the player
will not be used for DRM protected playbacks.allowedVideoJoiningTimeMs
- The maximum duration in milliseconds for which video
renderers can attempt to seamlessly join an ongoing playback.eventHandler
- A handler associated with the main thread's looper.eventListener
- An event listener.extensionRendererMode
- The extension renderer mode.out
- An array to which the built renderers should be appended.protected void buildAudioRenderers(android.content.Context context, DrmSessionManager<FrameworkMediaCrypto> drmSessionManager, AudioProcessor[] audioProcessors, android.os.Handler eventHandler, AudioRendererEventListener eventListener, int extensionRendererMode, java.util.ArrayList<Renderer> out)
context
- The Context
associated with the player.drmSessionManager
- An optional DrmSessionManager
. May be null if the player
will not be used for DRM protected playbacks.audioProcessors
- An array of AudioProcessor
s that will process PCM audio
buffers before output. May be empty.eventHandler
- A handler to use when invoking event listeners and outputs.eventListener
- An event listener.extensionRendererMode
- The extension renderer mode.out
- An array to which the built renderers should be appended.protected void buildTextRenderers(android.content.Context context, TextRenderer.Output output, android.os.Looper outputLooper, int extensionRendererMode, java.util.ArrayList<Renderer> out)
context
- The Context
associated with the player.output
- An output for the renderers.outputLooper
- The looper associated with the thread on which the output should be
called.extensionRendererMode
- The extension renderer mode.out
- An array to which the built renderers should be appended.protected void buildMetadataRenderers(android.content.Context context, MetadataRenderer.Output output, android.os.Looper outputLooper, int extensionRendererMode, java.util.ArrayList<Renderer> out)
context
- The Context
associated with the player.output
- An output for the renderers.outputLooper
- The looper associated with the thread on which the output should be
called.extensionRendererMode
- The extension renderer mode.out
- An array to which the built renderers should be appended.protected void buildMiscellaneousRenderers(android.content.Context context, android.os.Handler eventHandler, int extensionRendererMode, java.util.ArrayList<Renderer> out)
context
- The Context
associated with the player.eventHandler
- A handler to use when invoking event listeners and outputs.extensionRendererMode
- The extension renderer mode.out
- An array to which the built renderers should be appended.protected AudioProcessor[] buildAudioProcessors()
AudioProcessor
s that will process PCM audio before output.