Class ExoPlayerVideoDisplayComponent
- java.lang.Object
-
- com.brightcove.player.event.AbstractComponent
-
- com.brightcove.player.display.VideoDisplayComponent
-
- com.brightcove.player.display.ExoPlayerVideoDisplayComponent
-
- All Implemented Interfaces:
Component
@Emits(events={"addAnalyticsBaseParams","analyticsVideoEngagement","audioTracks","bufferingCompleted","bufferingStarted","caption","captionsLanguages","error","toggleClosedCaptions","seekToIncorrectTargetValue"}) @ListensFor(events={"selectAudioTrack","selectClosedCaptionTrack","on360FrameAvailable","videoDurationChanged","didSetAnalyticsBaseParams"}) public class ExoPlayerVideoDisplayComponent extends VideoDisplayComponent
This class extends the VideoDisplayComponent to add support for the ExoPlayer.See: https://github.com/google/ExoPlayer
- See Also:
VideoDisplayComponent
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceExoPlayerVideoDisplayComponent.CaptionListenerA listener for receiving notifications of timed text.static interfaceExoPlayerVideoDisplayComponent.Id3MetadataListenerDeprecated.UseExoPlayerVideoDisplayComponent.MetadataListenerinstead.static interfaceExoPlayerVideoDisplayComponent.InfoListenerA listener for debugging information.static interfaceExoPlayerVideoDisplayComponent.InternalErrorListenerListeners for receiving error information.static interfaceExoPlayerVideoDisplayComponent.MetadataListenerListener for receivingMetadataparsed from the media stream.static interfaceExoPlayerVideoDisplayComponent.TrackTypeThe list of possible Format types.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringBUFFERED_POSITIONThe buffered position property of a BUFFERED_UPDATE event.static java.lang.StringEXOPLAYER_FORMATThe key for a Format object emitted when the ExoPlayer changes rendition.static java.lang.StringIN_MANIFEST_CC_URI_STRstatic java.lang.StringRENDITION_CHANGEDEmitted when the ExoPlayer changes the renditionstatic java.util.ResourceBundleresourceBundlestatic intTYPE_AUDIOstatic intTYPE_METADATAstatic intTYPE_TEXTstatic intTYPE_VIDEOstatic java.lang.StringUNKNOWN_CC-
Fields inherited from class com.brightcove.player.display.VideoDisplayComponent
captionsPath, context, fromSeekPosition, hasSurface, isFrameAvailable, mRendererConfig, nextSource, nextVideo, ON_PLAY_SEEK_THRESHOLD, playheadPosition, playheadPositionLong, progressInterval, renderView, reseeking, seekPosition, shouldPlayAudioOnlyInBackground, updater
-
Fields inherited from class com.brightcove.player.event.AbstractComponent
eventEmitter, listenerTokens
-
-
Constructor Summary
Constructors Constructor Description ExoPlayerVideoDisplayComponent(RenderView renderView, EventEmitter eventEmitter)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ExoMediaPlaybackcreatePlayback()Create the MediaPlayback for theVideoDisplayComponent.protected voiddestroyPlayer()Destroys the current player and releases it from memory.booleangetAllowHlsChunklessPreparation()com.google.android.exoplayer2.upstream.BandwidthMetergetBandwidthMeter()Returns the current bandwidth meter.BrightcoveDrmSessiongetBrightcoveDrmSession()Deprecated.SourcegetCurrentSource()Gets reference to the video source that is currently configured for playback, if anyVideogetCurrentVideo()Gets reference to the video that is currently configured for playback, if anycom.google.android.exoplayer2.upstream.HttpDataSource.FactorygetDataSourceFactory()Returns the currentHttpDataSource.Factory, which is used when creating theMediaSource.com.google.android.exoplayer2.DefaultRenderersFactorygetDefaultRenderersFactory()Gets the DefaultRenderersFactory object.com.google.android.exoplayer2.ExoPlayergetExoPlayer()ExoPlayerDrmSessionManagergetExoPlayerDrmSessionManager()Gets the ExoPlayer Drm session if available or null otherwise.ExoPlayerVideoDisplayComponent.Id3MetadataListenergetId3MetadataListener()intgetLiveEdge()Deprecated.longgetLiveEdgeLong()Compute the "live edge" as a long datatype, the largest position not within three target durations of the duration (per the HLS spec).LoadControlConfiggetLoadControlConfig()Gets the LoadControlConfig object.android.os.HandlergetMainHandler()longgetMaxBufferDurationToSwitchDown()Deprecated.It is not longer used for ExoPlayer v2.android.media.MediaPlayergetMediaPlayer()ExoPlayerVideoDisplayComponent.MetadataListenergetMetadataListener()longgetMinBufferDurationToSwitchUp()Deprecated.It is not longer used for ExoPlayer v2.intgetMinBufferMs()Deprecated.It is not longer used for ExoPlayer v2.intgetMinRebufferMs()Deprecated.It is not longer used for ExoPlayer v2.intgetPeakBitrate()Return the peak bitrate.ExoMediaPlaybackgetPlayback()Get the current playback.android.os.LoopergetPlaybackLooper()longgetPlayerCurrentPosition()Returns the current playhead position of the underlying video player.intgetPlayerState()Returns the ExoPlayer state if available, or -1 if the player is null.com.google.android.exoplayer2.trackselection.DefaultTrackSelectorgetTrackSelector()Gets the DefaultTrackSelector object.TrackSelectorHelpergetTrackSelectorHelper()Gets the TrackSelectorHelper object.java.util.Map<java.lang.String,java.lang.String>getVideoDisplayProperties()com.google.android.exoplayer2.FormatgetVideoFormat()WidevineMediaDrmCallbackgetWidevineMediaDrmCallback()booleanhasDvr()Indicates if Live with DVR is supported.protected voidinitializeListeners()booleanisCurrentMediaAudioOnly()booleanisInLiveEdge()Checks the current playhead position with the live edge position and determines if it is in live edge.booleanisLive()Provides a default for handling live videos.ExoMediaPlaybackonCreatePlayback()Called when theVideoDisplayComponentis initialized.protected voidopenVideo(Video video, Source source)Creates, configures, and prepares a new instance of MediaPlayervoidsetAllowHlsChunklessPreparation(boolean allowHlsChunklessPreparation)The value of this field in the HlsMediaSource defaults to true in ExoPlayer 2.17.0 Override it here to false if your HLS delivery includes 608/708 captionsvoidsetBandwidthMeter(com.google.android.exoplayer2.upstream.BandwidthMeter bandwidthMeter)Sets the current bandwidth meter.voidsetCaptionListener(ExoPlayerVideoDisplayComponent.CaptionListener listener)voidsetDataSourceFactory(com.google.android.exoplayer2.upstream.HttpDataSource.Factory httpDataSourceFactory)Sets theHttpDataSource.Factory, which is used when creating theMediaSource.voidsetDebugListener(ExoPlayerVideoDisplayComponent.InfoListener debugListener)voidsetDefaultRenderersFactory(com.google.android.exoplayer2.DefaultRenderersFactory defaultRenderersFactory)voidsetInternalErrorListener(ExoPlayerVideoDisplayComponent.InternalErrorListener internalErrorListener)voidsetLoadControlConfig(LoadControlConfig loadControlConfig)Sets the LoadControlConfig object.voidsetMaxBufferDurationToSwitchDown(long maxBufferDurationToSwitchDown)Deprecated.It is not longer used for ExoPlayer v2.voidsetMetadataListener(ExoPlayerVideoDisplayComponent.Id3MetadataListener listener)Deprecated.UsesetMetadataListener(Id3MetadataListener)insteadvoidsetMetadataListener(ExoPlayerVideoDisplayComponent.MetadataListener listener)voidsetMinBufferDurationToSwitchUp(long minBufferDurationToSwitchUp)Deprecated.It is not longer used for ExoPlayer v2.voidsetMinBufferMs(int minBufferMs)Deprecated.It is not longer used for ExoPlayer v2.voidsetMinRebufferMs(int minRebufferMs)Deprecated.It is not longer used for ExoPlayer v2.voidsetPeakBitrate(int peakBitrate)Sets the peak bitrate.voidsetTextInformationFrameListener(TextInformationFrameListener listener)Sets the Text Information Frame Listener.voidsetTrackSelector(com.google.android.exoplayer2.trackselection.DefaultTrackSelector trackSelector)voidsetVideoDisplayProperties(java.util.Map<java.lang.String,java.lang.String> videoDisplayProperties)voidsetVideoSelectionOverrideCreator(SelectionOverrideCreator videoSelectionOverrideCreator)Deprecated.protected voidsetVideoSource(Video video, Source source)Sets the video source that will be used for playback.voidsetVideoTrackSelectionOverrideCreator(TrackSelectionOverrideCreator videoTrackSelectionOverrideCreator)Provides a creator for aTrackSelectionOverrides.TrackSelectionOverrideinstance specific for the Video track.voidsurfaceChanged(android.view.SurfaceHolder surfaceHolder, int format, int w, int h)voidsurfaceCreated(android.view.SurfaceHolder surfaceHolder)voidsurfaceDestroyed(android.view.SurfaceHolder surfaceHolder)-
Methods inherited from class com.brightcove.player.display.VideoDisplayComponent
emitErrorEvent, emitErrorEvent, emitVideoSize, getAnalytics, getCurrentSourceOrFail, getCurrentVideoOrFail, getHeaders, getRenderView, isCurrentVideo360Mode, onSurfaceTextureAvailable, onSurfaceTextureDestroyed, onSurfaceTextureSizeChanged, onSurfaceTextureUpdated, setProgressInterval, setRendererConfig, setShouldPlayAudioOnlyInBackground, shouldPlayAudioOnlyInBackground
-
Methods inherited from class com.brightcove.player.event.AbstractComponent
addListener, addOnceListener, getEventEmitter, removeListener, removeListeners
-
-
-
-
Field Detail
-
BUFFERED_POSITION
public static final java.lang.String BUFFERED_POSITION
The buffered position property of a BUFFERED_UPDATE event.- See Also:
- Constant Field Values
-
RENDITION_CHANGED
public static final java.lang.String RENDITION_CHANGED
Emitted when the ExoPlayer changes the rendition- See Also:
- Constant Field Values
-
EXOPLAYER_FORMAT
public static final java.lang.String EXOPLAYER_FORMAT
The key for a Format object emitted when the ExoPlayer changes rendition.- See Also:
- Constant Field Values
-
IN_MANIFEST_CC_URI_STR
public static final java.lang.String IN_MANIFEST_CC_URI_STR
- See Also:
- Constant Field Values
-
UNKNOWN_CC
public static final java.lang.String UNKNOWN_CC
- See Also:
- Constant Field Values
-
TYPE_VIDEO
public static final int TYPE_VIDEO
- See Also:
- Constant Field Values
-
TYPE_AUDIO
public static final int TYPE_AUDIO
- See Also:
- Constant Field Values
-
TYPE_TEXT
public static final int TYPE_TEXT
- See Also:
- Constant Field Values
-
TYPE_METADATA
public static final int TYPE_METADATA
- See Also:
- Constant Field Values
-
resourceBundle
public static java.util.ResourceBundle resourceBundle
-
-
Constructor Detail
-
ExoPlayerVideoDisplayComponent
public ExoPlayerVideoDisplayComponent(RenderView renderView, EventEmitter eventEmitter)
-
-
Method Detail
-
getBrightcoveDrmSession
@Nullable @Deprecated public BrightcoveDrmSession getBrightcoveDrmSession()
Deprecated.Deprecates. Instead use {getExoPlayerDrmSessionManager()}
-
getExoPlayerDrmSessionManager
public ExoPlayerDrmSessionManager getExoPlayerDrmSessionManager()
Gets the ExoPlayer Drm session if available or null otherwise. TheExoPlayerDrmSessionManagerwill be created only when the currentSourceproperties has the keySource.Fields.WIDEVINE_KEY_SYSTEM- Returns:
- the drm session manager
-
getWidevineMediaDrmCallback
public WidevineMediaDrmCallback getWidevineMediaDrmCallback()
-
onCreatePlayback
public ExoMediaPlayback onCreatePlayback()
Description copied from class:VideoDisplayComponentCalled when theVideoDisplayComponentis initialized.- Overrides:
onCreatePlaybackin classVideoDisplayComponent- Returns:
- The media playback for the component.
-
createPlayback
public ExoMediaPlayback createPlayback()
Description copied from class:VideoDisplayComponentCreate the MediaPlayback for theVideoDisplayComponent.- Overrides:
createPlaybackin classVideoDisplayComponent- Returns:
- A new instance of
MediaPlayback.
-
getPlayback
public ExoMediaPlayback getPlayback()
Description copied from class:VideoDisplayComponentGet the current playback.- Overrides:
getPlaybackin classVideoDisplayComponent- Returns:
- The
MediaPlaybackfor thisVideoDisplayComponent.
-
getCurrentVideo
@Nullable public Video getCurrentVideo()
Description copied from class:VideoDisplayComponentGets reference to the video that is currently configured for playback, if any- Overrides:
getCurrentVideoin classVideoDisplayComponent- Returns:
- null or reference to the video
-
getCurrentSource
@Nullable public Source getCurrentSource()
Description copied from class:VideoDisplayComponentGets reference to the video source that is currently configured for playback, if any- Overrides:
getCurrentSourcein classVideoDisplayComponent- Returns:
- null or reference to the video source
-
setVideoSource
protected void setVideoSource(@Nullable Video video, @Nullable Source source)Description copied from class:VideoDisplayComponentSets the video source that will be used for playback.- Overrides:
setVideoSourcein classVideoDisplayComponent- Parameters:
video- reference to the video, if any.source- reference to the video source, if any.
-
getTrackSelector
@Nullable public com.google.android.exoplayer2.trackselection.DefaultTrackSelector getTrackSelector()
Gets the DefaultTrackSelector object.- Returns:
- the track selector
- See Also:
DefaultTrackSelector
-
getTrackSelectorHelper
@Nullable public TrackSelectorHelper getTrackSelectorHelper()
Gets the TrackSelectorHelper object.- Returns:
- the track selector helper
- See Also:
TrackSelectorHelper
-
setTrackSelector
public void setTrackSelector(@NonNull com.google.android.exoplayer2.trackselection.DefaultTrackSelector trackSelector)
-
initializeListeners
protected void initializeListeners()
- Overrides:
initializeListenersin classVideoDisplayComponent
-
getMediaPlayer
public android.media.MediaPlayer getMediaPlayer()
- Overrides:
getMediaPlayerin classVideoDisplayComponent
-
hasDvr
public boolean hasDvr()
Description copied from class:VideoDisplayComponentIndicates if Live with DVR is supported. Subclasses will override if live with DVR videos are supported.- Overrides:
hasDvrin classVideoDisplayComponent- Returns:
TRUEiff live video with DVR capabilities is supported.
-
isLive
public boolean isLive()
Description copied from class:VideoDisplayComponentProvides a default for handling live videos. Subclasses will override if live videos are supported.- Overrides:
isLivein classVideoDisplayComponent- Returns:
TRUEiff live video is supported.
-
isInLiveEdge
public boolean isInLiveEdge()
Description copied from class:VideoDisplayComponentChecks the current playhead position with the live edge position and determines if it is in live edge.- Overrides:
isInLiveEdgein classVideoDisplayComponent- Returns:
- true if in live edge.
-
getPlayerCurrentPosition
public long getPlayerCurrentPosition()
Description copied from class:VideoDisplayComponentReturns the current playhead position of the underlying video player.If the player has not been set or initialized,
Constants.TIME_UNSETwill returned.- Overrides:
getPlayerCurrentPositionin classVideoDisplayComponent- Returns:
- the current playhead position.
-
getLiveEdge
@Deprecated public int getLiveEdge()
Deprecated.Deprecated. Instead usegetLiveEdgeLong()- Overrides:
getLiveEdgein classVideoDisplayComponent- Returns:
- 0. Subclasses should override to provide a value within three target durations of the maximum position.
-
getExoPlayer
public com.google.android.exoplayer2.ExoPlayer getExoPlayer()
-
getLiveEdgeLong
public long getLiveEdgeLong()
Compute the "live edge" as a long datatype, the largest position not within three target durations of the duration (per the HLS spec).- Overrides:
getLiveEdgeLongin classVideoDisplayComponent- Returns:
- -1 if the video is not live. Otherwise the largest position that is three target durations away from the duration.
-
getPlayerState
public int getPlayerState()
Returns the ExoPlayer state if available, or -1 if the player is null.- Returns:
- the player state
- See Also:
Player.getPlaybackState()
-
setDebugListener
public void setDebugListener(ExoPlayerVideoDisplayComponent.InfoListener debugListener)
-
setCaptionListener
public void setCaptionListener(ExoPlayerVideoDisplayComponent.CaptionListener listener)
-
setMetadataListener
public void setMetadataListener(ExoPlayerVideoDisplayComponent.MetadataListener listener)
-
getMetadataListener
public ExoPlayerVideoDisplayComponent.MetadataListener getMetadataListener()
-
getId3MetadataListener
public ExoPlayerVideoDisplayComponent.Id3MetadataListener getId3MetadataListener()
-
setMetadataListener
@Deprecated public void setMetadataListener(ExoPlayerVideoDisplayComponent.Id3MetadataListener listener)
Deprecated.UsesetMetadataListener(Id3MetadataListener)instead- Parameters:
listener- the listener
-
setInternalErrorListener
public void setInternalErrorListener(ExoPlayerVideoDisplayComponent.InternalErrorListener internalErrorListener)
-
setTextInformationFrameListener
public void setTextInformationFrameListener(@NonNull TextInformationFrameListener listener)Description copied from class:VideoDisplayComponentSets the Text Information Frame Listener.TextInformationFrameListener.onTextInformationFrame(TextInformationFrame, long)will be called when the player finds an ID3 Metadata of typeTextInformationFramein the Video.Use
TextInformationFrameListener.DISABLEDto disable the listener.- Overrides:
setTextInformationFrameListenerin classVideoDisplayComponent- Parameters:
listener- the listener
-
openVideo
protected void openVideo(@NonNull Video video, @Nullable Source source)Description copied from class:VideoDisplayComponentCreates, configures, and prepares a new instance of MediaPlayer- Overrides:
openVideoin classVideoDisplayComponent- Parameters:
video- reference to the video to be prepared for the playback.source- reference to the source to played if any.
-
destroyPlayer
protected void destroyPlayer()
Description copied from class:VideoDisplayComponentDestroys the current player and releases it from memory. This seems wasteful, but helps to mitigate working with the complex state machines that are the MediaPlayer and the SurfaceView- Overrides:
destroyPlayerin classVideoDisplayComponent- See Also:
MediaPlayer,SurfaceView
-
getPlaybackLooper
public android.os.Looper getPlaybackLooper()
-
getMainHandler
public android.os.Handler getMainHandler()
-
getVideoFormat
public com.google.android.exoplayer2.Format getVideoFormat()
-
getPeakBitrate
public int getPeakBitrate()
Return the peak bitrate.
-
setPeakBitrate
public void setPeakBitrate(int peakBitrate)
Sets the peak bitrate. Set 0 to set the default bitrate.- Parameters:
peakBitrate- the peak bitrate
-
setVideoSelectionOverrideCreator
@Deprecated public void setVideoSelectionOverrideCreator(@NonNull SelectionOverrideCreator videoSelectionOverrideCreator)Deprecated.Provides a creator for a
DefaultTrackSelector.SelectionOverrideinstance specific for the Video track. This SelectionOverride is applied every time a new video is loaded, and when thesetPeakBitrate(int)is set.If you want to disable the default SelectionOverride, you may pass
SelectionOverrideCreator.EMPTY, which returnsSelectionOverrideCreator.EMPTY_SELECTION_OVERRIDEand gets ignored when attempting to apply it to theDefaultTrackSelector.
-
setVideoTrackSelectionOverrideCreator
public void setVideoTrackSelectionOverrideCreator(@NonNull TrackSelectionOverrideCreator videoTrackSelectionOverrideCreator)Provides a creator for a
TrackSelectionOverrides.TrackSelectionOverrideinstance specific for the Video track. This TrackSelectionOverride is applied every time a new video is loaded, and when thesetPeakBitrate(int)is set.If you want to disable the default TrackSelectionOverride, you may pass
TrackSelectionOverrideCreator.EMPTY, which returnsTrackSelectionOverrideCreator.EMPTY_TRACK_SELECTION_OVERRIDESand gets ignored when attempting to apply it to theDefaultTrackSelector.
-
getBandwidthMeter
public com.google.android.exoplayer2.upstream.BandwidthMeter getBandwidthMeter()
Returns the current bandwidth meter. If null, a default bandwidth meter will be used.
-
setBandwidthMeter
public void setBandwidthMeter(com.google.android.exoplayer2.upstream.BandwidthMeter bandwidthMeter)
Sets the current bandwidth meter.
-
getDataSourceFactory
@NonNull public com.google.android.exoplayer2.upstream.HttpDataSource.Factory getDataSourceFactory()
Returns the currentHttpDataSource.Factory, which is used when creating theMediaSource.
-
setDataSourceFactory
public void setDataSourceFactory(@NonNull com.google.android.exoplayer2.upstream.HttpDataSource.Factory httpDataSourceFactory)Sets theHttpDataSource.Factory, which is used when creating theMediaSource. WARNING: When creating a customized HttpDataSource.Factory, you must make sure to use the default user agentC.HTTP_USER_AGENTto avoid losing Brightcove Analytics and Delivery Rules support.- Parameters:
httpDataSourceFactory- the http data source factory
-
getMinBufferDurationToSwitchUp
@Deprecated public long getMinBufferDurationToSwitchUp()
Deprecated.It is not longer used for ExoPlayer v2.Returns the minimum duration of media that needs to be buffered for a switch to a higher quality variant to be considered.
-
setMinBufferDurationToSwitchUp
@Deprecated public void setMinBufferDurationToSwitchUp(long minBufferDurationToSwitchUp)
Deprecated.It is not longer used for ExoPlayer v2.Sets the minimum duration of media that needs to be buffered for a switch to a higher quality variant to be considered.
-
getMaxBufferDurationToSwitchDown
@Deprecated public long getMaxBufferDurationToSwitchDown()
Deprecated.It is not longer used for ExoPlayer v2.Returns the maximum duration of media that needs to be buffered for a switch to a lower quality variant to be considered.
-
setMaxBufferDurationToSwitchDown
@Deprecated public void setMaxBufferDurationToSwitchDown(long maxBufferDurationToSwitchDown)
Deprecated.It is not longer used for ExoPlayer v2.Sets the maximum duration of media that needs to be buffered for a switch to a lower quality variant to be considered.
-
getMinBufferMs
@Deprecated public int getMinBufferMs()
Deprecated.It is not longer used for ExoPlayer v2.Returns the minimum duration of data that must be buffered for playback to start or resume following a user action such as a seek.
-
setMinBufferMs
@Deprecated public void setMinBufferMs(int minBufferMs)
Deprecated.It is not longer used for ExoPlayer v2.Sets the minimum duration of data that must be buffered for playback to start or resume following a user action such as a seek.
-
getMinRebufferMs
@Deprecated public int getMinRebufferMs()
Deprecated.It is not longer used for ExoPlayer v2. Use UsegetLoadControlConfig()
-
setMinRebufferMs
@Deprecated public void setMinRebufferMs(int minRebufferMs)
Deprecated.It is not longer used for ExoPlayer v2. UsesetLoadControlConfig(LoadControlConfig)
-
getLoadControlConfig
public LoadControlConfig getLoadControlConfig()
Gets the LoadControlConfig object.- Returns:
- the load control config
-
setLoadControlConfig
public void setLoadControlConfig(@NonNull LoadControlConfig loadControlConfig)Sets the LoadControlConfig object.This object is used to create a
LoadControlinstance. TheLoadControlis used when creating an instance of the ExoPlayer.- Parameters:
loadControlConfig- the load control config
-
surfaceCreated
public void surfaceCreated(android.view.SurfaceHolder surfaceHolder)
- Overrides:
surfaceCreatedin classVideoDisplayComponent
-
surfaceChanged
public void surfaceChanged(android.view.SurfaceHolder surfaceHolder, int format, int w, int h)- Overrides:
surfaceChangedin classVideoDisplayComponent
-
surfaceDestroyed
public void surfaceDestroyed(android.view.SurfaceHolder surfaceHolder)
- Overrides:
surfaceDestroyedin classVideoDisplayComponent
-
isCurrentMediaAudioOnly
public boolean isCurrentMediaAudioOnly()
- Overrides:
isCurrentMediaAudioOnlyin classVideoDisplayComponent
-
getVideoDisplayProperties
public java.util.Map<java.lang.String,java.lang.String> getVideoDisplayProperties()
-
setVideoDisplayProperties
public void setVideoDisplayProperties(java.util.Map<java.lang.String,java.lang.String> videoDisplayProperties)
-
getAllowHlsChunklessPreparation
public boolean getAllowHlsChunklessPreparation()
- Returns:
- Whether to allow HLS chunkless preparation in ExoPlayer
-
setAllowHlsChunklessPreparation
public void setAllowHlsChunklessPreparation(boolean allowHlsChunklessPreparation)
The value of this field in the HlsMediaSource defaults to true in ExoPlayer 2.17.0 Override it here to false if your HLS delivery includes 608/708 captions
-
getDefaultRenderersFactory
@Nullable public com.google.android.exoplayer2.DefaultRenderersFactory getDefaultRenderersFactory()
Gets the DefaultRenderersFactory object.- Returns:
- the DefaultRenderersFactory
- See Also:
DefaultRenderersFactory
-
setDefaultRenderersFactory
public void setDefaultRenderersFactory(@NonNull com.google.android.exoplayer2.DefaultRenderersFactory defaultRenderersFactory)
-
-