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
AudioProcessors 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,
MetadataOutput 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,
TextOutput 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,
TextOutput textRendererOutput,
MetadataOutput 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,
@Nullable
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,
@Nullable
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,
@Nullable
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, TextOutput textRendererOutput, MetadataOutput metadataRendererOutput)
RenderersFactoryRenderer instances for a SimpleExoPlayer.createRenderers in interface RenderersFactoryeventHandler - A handler to use when invoking event listeners and outputs.videoRendererEventListener - An event listener for video renderers.audioRendererEventListener - An event listener for audio renderers.textRendererOutput - An output for text renderers.metadataRendererOutput - An output for metadata renderers.instances.protected void buildVideoRenderers(android.content.Context context,
@Nullable
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,
@Nullable
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 AudioProcessors 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,
TextOutput 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,
MetadataOutput 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()
AudioProcessors that will process PCM audio before output.