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)
Deprecated.
Use
DefaultRenderersFactory(Context) and pass DrmSessionManager
directly to SimpleExoPlayer or ExoPlayerFactory. |
DefaultRenderersFactory(android.content.Context context,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
int extensionRendererMode)
Deprecated.
Use
DefaultRenderersFactory(Context) and setExtensionRendererMode(int), and pass DrmSessionManager directly to SimpleExoPlayer or ExoPlayerFactory. |
DefaultRenderersFactory(android.content.Context context,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
int extensionRendererMode,
long allowedVideoJoiningTimeMs)
Deprecated.
Use
DefaultRenderersFactory(Context), setExtensionRendererMode(int) and setAllowedVideoJoiningTimeMs(long), and pass
DrmSessionManager directly to SimpleExoPlayer or ExoPlayerFactory. |
DefaultRenderersFactory(android.content.Context context,
int extensionRendererMode)
Deprecated.
|
DefaultRenderersFactory(android.content.Context context,
int extensionRendererMode,
long allowedVideoJoiningTimeMs)
Deprecated.
|
| 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,
int extensionRendererMode,
MediaCodecSelector mediaCodecSelector,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
boolean playClearSamplesWithoutKeys,
AudioProcessor[] audioProcessors,
android.os.Handler eventHandler,
AudioRendererEventListener eventListener,
java.util.ArrayList<Renderer> out)
Builds audio renderers for use by the player.
|
protected void |
buildCameraMotionRenderers(android.content.Context context,
int extensionRendererMode,
java.util.ArrayList<Renderer> out)
Builds camera motion 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,
int extensionRendererMode,
MediaCodecSelector mediaCodecSelector,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
boolean playClearSamplesWithoutKeys,
android.os.Handler eventHandler,
VideoRendererEventListener eventListener,
long allowedVideoJoiningTimeMs,
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,
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager)
Builds the
Renderer instances for a SimpleExoPlayer. |
DefaultRenderersFactory |
setAllowedVideoJoiningTimeMs(long allowedVideoJoiningTimeMs)
Sets the maximum duration for which video renderers can attempt to seamlessly join an ongoing
playback.
|
DefaultRenderersFactory |
setExtensionRendererMode(int extensionRendererMode)
Sets the extension renderer mode, which determines if and how available extension renderers are
used.
|
DefaultRenderersFactory |
setMediaCodecSelector(MediaCodecSelector mediaCodecSelector)
Sets a
MediaCodecSelector for use by MediaCodec based renderers. |
DefaultRenderersFactory |
setPlayClearSamplesWithoutKeys(boolean playClearSamplesWithoutKeys)
Sets whether renderers are permitted to play clear regions of encrypted media prior to having
obtained the keys necessary to decrypt encrypted regions of the media.
|
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.@Deprecated
public DefaultRenderersFactory(android.content.Context context,
@Nullable
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager)
DefaultRenderersFactory(Context) and pass DrmSessionManager
directly to SimpleExoPlayer or ExoPlayerFactory.@Deprecated
public DefaultRenderersFactory(android.content.Context context,
@DefaultRenderersFactory.ExtensionRendererMode
int extensionRendererMode)
DefaultRenderersFactory(Context) and setExtensionRendererMode(int).@Deprecated
public DefaultRenderersFactory(android.content.Context context,
@Nullable
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
@DefaultRenderersFactory.ExtensionRendererMode
int extensionRendererMode)
DefaultRenderersFactory(Context) and setExtensionRendererMode(int), and pass DrmSessionManager directly to SimpleExoPlayer or ExoPlayerFactory.@Deprecated
public DefaultRenderersFactory(android.content.Context context,
@DefaultRenderersFactory.ExtensionRendererMode
int extensionRendererMode,
long allowedVideoJoiningTimeMs)
DefaultRenderersFactory(Context), setExtensionRendererMode(int) and setAllowedVideoJoiningTimeMs(long).@Deprecated
public DefaultRenderersFactory(android.content.Context context,
@Nullable
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
@DefaultRenderersFactory.ExtensionRendererMode
int extensionRendererMode,
long allowedVideoJoiningTimeMs)
DefaultRenderersFactory(Context), setExtensionRendererMode(int) and setAllowedVideoJoiningTimeMs(long), and pass
DrmSessionManager directly to SimpleExoPlayer or ExoPlayerFactory.public DefaultRenderersFactory setExtensionRendererMode(@DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode)
The default value is EXTENSION_RENDERER_MODE_OFF.
extensionRendererMode - The extension renderer mode.public DefaultRenderersFactory setPlayClearSamplesWithoutKeys(boolean playClearSamplesWithoutKeys)
The default value is false.
playClearSamplesWithoutKeys - Whether renderers are permitted to play clear regions of
encrypted media prior to having obtained the keys necessary to decrypt encrypted regions of
the media.public DefaultRenderersFactory setMediaCodecSelector(MediaCodecSelector mediaCodecSelector)
MediaCodecSelector for use by MediaCodec based renderers.
The default value is MediaCodecSelector.DEFAULT.
mediaCodecSelector - The MediaCodecSelector.public DefaultRenderersFactory setAllowedVideoJoiningTimeMs(long allowedVideoJoiningTimeMs)
The default value is DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS.
allowedVideoJoiningTimeMs - The maximum duration for which video renderers can attempt to
seamlessly join an ongoing playback, in milliseconds.public Renderer[] createRenderers(android.os.Handler eventHandler, VideoRendererEventListener videoRendererEventListener, AudioRendererEventListener audioRendererEventListener, TextOutput textRendererOutput, MetadataOutput metadataRendererOutput, @Nullable DrmSessionManager<FrameworkMediaCrypto> drmSessionManager)
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.drmSessionManager - A drm session manager used by renderers.instances.protected void buildVideoRenderers(android.content.Context context,
@DefaultRenderersFactory.ExtensionRendererMode
int extensionRendererMode,
MediaCodecSelector mediaCodecSelector,
@Nullable
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
boolean playClearSamplesWithoutKeys,
android.os.Handler eventHandler,
VideoRendererEventListener eventListener,
long allowedVideoJoiningTimeMs,
java.util.ArrayList<Renderer> out)
context - The Context associated with the player.extensionRendererMode - The extension renderer mode.mediaCodecSelector - A decoder selector.drmSessionManager - An optional DrmSessionManager. May be null if the player will
not be used for DRM protected playbacks.playClearSamplesWithoutKeys - Whether renderers are permitted to play clear regions of
encrypted media prior to having obtained the keys necessary to decrypt encrypted regions of
the media.eventHandler - A handler associated with the main thread's looper.eventListener - An event listener.allowedVideoJoiningTimeMs - The maximum duration for which video renderers can attempt to
seamlessly join an ongoing playback, in milliseconds.out - An array to which the built renderers should be appended.protected void buildAudioRenderers(android.content.Context context,
@DefaultRenderersFactory.ExtensionRendererMode
int extensionRendererMode,
MediaCodecSelector mediaCodecSelector,
@Nullable
DrmSessionManager<FrameworkMediaCrypto> drmSessionManager,
boolean playClearSamplesWithoutKeys,
AudioProcessor[] audioProcessors,
android.os.Handler eventHandler,
AudioRendererEventListener eventListener,
java.util.ArrayList<Renderer> out)
context - The Context associated with the player.extensionRendererMode - The extension renderer mode.mediaCodecSelector - A decoder selector.drmSessionManager - An optional DrmSessionManager. May be null if the player will
not be used for DRM protected playbacks.playClearSamplesWithoutKeys - Whether renderers are permitted to play clear regions of
encrypted media prior to having obtained the keys necessary to decrypt encrypted regions of
the media.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.out - An array to which the built renderers should be appended.protected void buildTextRenderers(android.content.Context context,
TextOutput output,
android.os.Looper outputLooper,
@DefaultRenderersFactory.ExtensionRendererMode
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,
@DefaultRenderersFactory.ExtensionRendererMode
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 buildCameraMotionRenderers(android.content.Context context,
@DefaultRenderersFactory.ExtensionRendererMode
int extensionRendererMode,
java.util.ArrayList<Renderer> out)
context - The Context associated with the player.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,
@DefaultRenderersFactory.ExtensionRendererMode
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.