SimpleBasePlayer.State.Builder


public final class SimpleBasePlayer.State.Builder


A builder for State objects.

Summary

Public constructors

Creates the builder.

Public methods

SimpleBasePlayer.State

Builds the State.

SimpleBasePlayer.State.Builder

Clears a previously set position discontinuity signal.

SimpleBasePlayer.State.Builder

Sets the PositionSupplier for the estimated position up to which the currently playing ad is buffered, in milliseconds.

SimpleBasePlayer.State.Builder

Sets the PositionSupplier for the current ad playback position in milliseconds.

SimpleBasePlayer.State.Builder

Sets the current ad playback position in milliseconds.

SimpleBasePlayer.State.Builder

Sets the current AudioAttributes.

SimpleBasePlayer.State.Builder

Sets the available Commands.

SimpleBasePlayer.State.Builder

Sets the PositionSupplier for the estimated position up to which the currently playing content is buffered, in milliseconds.

SimpleBasePlayer.State.Builder

Sets the PositionSupplier for the current content playback position in milliseconds.

SimpleBasePlayer.State.Builder

Sets the current content playback position in milliseconds.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setCurrentAd(int adGroupIndex, int adIndexInAdGroup)

Sets the current ad indices, or INDEX_UNSET if no ad is playing.

SimpleBasePlayer.State.Builder

Sets the current cues.

SimpleBasePlayer.State.Builder

Sets the current media item index.

SimpleBasePlayer.State.Builder

Sets the DeviceInfo.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setDeviceVolume(@IntRange(from = 0) int deviceVolume)

Sets the current device volume.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setIsDeviceMuted(boolean isDeviceMuted)

Sets whether the device is muted.

SimpleBasePlayer.State.Builder

Sets whether the player is currently loading its source.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setMaxSeekToPreviousPositionMs(long maxSeekToPreviousPositionMs)

Sets the maximum position for which seekToPrevious seeks to the previous item, in milliseconds.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setNewlyRenderedFirstFrame(boolean newlyRenderedFirstFrame)

Sets whether a frame has been rendered for the first time since setting the surface, a rendering reset, or since the stream being rendered was changed.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setPlayWhenReady(
    boolean playWhenReady,
    @Player.PlayWhenReadyChangeReason int playWhenReadyChangeReason
)

Sets whether playback should proceed when ready and not suppressed.

SimpleBasePlayer.State.Builder

Sets the currently active PlaybackParameters.

SimpleBasePlayer.State.Builder

Sets the state of the player.

SimpleBasePlayer.State.Builder

Sets the reason why playback is suppressed even if getPlayWhenReady is true.

SimpleBasePlayer.State.Builder

Sets last error that caused playback to fail, or null if there was no error.

SimpleBasePlayer.State.Builder

Sets the playlist as a list of media items.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setPlaylist(
    Timeline timeline,
    Tracks currentTracks,
    @Nullable MediaMetadata currentMetadata
)

Sets the playlist as a Timeline with information about the current Tracks and MediaMetadata.

SimpleBasePlayer.State.Builder

Sets the playlist MediaMetadata.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setPositionDiscontinuity(
    @Player.DiscontinuityReason int positionDiscontinuityReason,
    long discontinuityPositionMs
)

Signals that a position discontinuity happened since the last player update and sets the reason for it.

SimpleBasePlayer.State.Builder

Sets the RepeatMode used for playback.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setSeekBackIncrementMs(long seekBackIncrementMs)

Sets the seekBack increment in milliseconds.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setSeekForwardIncrementMs(long seekForwardIncrementMs)

Sets the seekForward increment in milliseconds.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setShuffleModeEnabled(boolean shuffleModeEnabled)

Sets whether shuffling of media items is enabled.

SimpleBasePlayer.State.Builder

Sets the size of the surface onto which the video is being rendered.

SimpleBasePlayer.State.Builder

Sets the most recent timed Metadata.

SimpleBasePlayer.State.Builder

Sets the PositionSupplier for the estimated total buffered duration in milliseconds.

SimpleBasePlayer.State.Builder

Sets the currently active TrackSelectionParameters.

SimpleBasePlayer.State.Builder

Sets the current video size.

SimpleBasePlayer.State.Builder
@CanIgnoreReturnValue
setVolume(@FloatRange(from = 0, to = 1.0) float volume)

Sets the current audio volume, with 0 being silence and 1 being unity gain (signal unchanged).

Public constructors

Builder

public Builder()

Creates the builder.

Public methods

build

public SimpleBasePlayer.State build()

Builds the State.

clearPositionDiscontinuity

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder clearPositionDiscontinuity()

Clears a previously set position discontinuity signal.

Returns
SimpleBasePlayer.State.Builder

This builder.

setAdBufferedPositionMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setAdBufferedPositionMs(
    SimpleBasePlayer.PositionSupplier adBufferedPositionMsSupplier
)

Sets the PositionSupplier for the estimated position up to which the currently playing ad is buffered, in milliseconds. The value is unused if no ad is playing.

Parameters
SimpleBasePlayer.PositionSupplier adBufferedPositionMsSupplier

The PositionSupplier for the estimated position up to which the currently playing ad is buffered, in milliseconds. The value is unused if no ad is playing.

Returns
SimpleBasePlayer.State.Builder

This builder.

setAdPositionMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setAdPositionMs(
    SimpleBasePlayer.PositionSupplier adPositionMsSupplier
)

Sets the PositionSupplier for the current ad playback position in milliseconds. The value is unused if no ad is playing.

The supplier is expected to return the updated position on every call if the playback is advancing, for example by using getExtrapolating.

This method overrides any other position set via setAdPositionMs.

Parameters
SimpleBasePlayer.PositionSupplier adPositionMsSupplier

The PositionSupplier for the current ad playback position in milliseconds. The value is unused if no ad is playing.

Returns
SimpleBasePlayer.State.Builder

This builder.

setAdPositionMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setAdPositionMs(long positionMs)

Sets the current ad playback position in milliseconds. The value is unused if no ad is playing.

This position will be converted to an advancing PositionSupplier if the overall state indicates an advancing ad playback position.

This method overrides any other PositionSupplier set via setAdPositionMs.

Parameters
long positionMs

The current ad playback position in milliseconds.

Returns
SimpleBasePlayer.State.Builder

This builder.

setAudioAttributes

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setAudioAttributes(AudioAttributes audioAttributes)

Sets the current AudioAttributes.

Parameters
AudioAttributes audioAttributes

The current AudioAttributes.

Returns
SimpleBasePlayer.State.Builder

This builder.

setAvailableCommands

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setAvailableCommands(Player.Commands availableCommands)

Sets the available Commands.

Parameters
Player.Commands availableCommands

The available Commands.

Returns
SimpleBasePlayer.State.Builder

This builder.

setContentBufferedPositionMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setContentBufferedPositionMs(
    SimpleBasePlayer.PositionSupplier contentBufferedPositionMsSupplier
)

Sets the PositionSupplier for the estimated position up to which the currently playing content is buffered, in milliseconds.

Parameters
SimpleBasePlayer.PositionSupplier contentBufferedPositionMsSupplier

The PositionSupplier for the estimated position up to which the currently playing content is buffered, in milliseconds, or TIME_UNSET to indicate the default start position.

Returns
SimpleBasePlayer.State.Builder

This builder.

setContentPositionMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setContentPositionMs(
    SimpleBasePlayer.PositionSupplier contentPositionMsSupplier
)

Sets the PositionSupplier for the current content playback position in milliseconds.

The supplier is expected to return the updated position on every call if the playback is advancing, for example by using getExtrapolating.

This method overrides any other position set via setContentPositionMs.

Parameters
SimpleBasePlayer.PositionSupplier contentPositionMsSupplier

The PositionSupplier for the current content playback position in milliseconds, or TIME_UNSET to indicate the default start position.

Returns
SimpleBasePlayer.State.Builder

This builder.

setContentPositionMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setContentPositionMs(long positionMs)

Sets the current content playback position in milliseconds.

This position will be converted to an advancing PositionSupplier if the overall state indicates an advancing playback position.

This method overrides any other PositionSupplier set via setContentPositionMs.

Parameters
long positionMs

The current content playback position in milliseconds, or TIME_UNSET to indicate the default start position.

Returns
SimpleBasePlayer.State.Builder

This builder.

setCurrentAd

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setCurrentAd(int adGroupIndex, int adIndexInAdGroup)

Sets the current ad indices, or INDEX_UNSET if no ad is playing.

Either both indices need to be INDEX_UNSET or both are not INDEX_UNSET.

Ads indices can only be set if there is a corresponding AdPlaybackState defined in the current period.

Parameters
int adGroupIndex

The current ad group index, or INDEX_UNSET if no ad is playing.

int adIndexInAdGroup

The current ad index in the ad group, or INDEX_UNSET if no ad is playing.

Returns
SimpleBasePlayer.State.Builder

This builder.

setCurrentCues

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setCurrentCues(CueGroup currentCues)

Sets the current cues.

Parameters
CueGroup currentCues

The current cues.

Returns
SimpleBasePlayer.State.Builder

This builder.

setCurrentMediaItemIndex

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setCurrentMediaItemIndex(int currentMediaItemIndex)

Sets the current media item index.

The media item index must be less than the number of media items in the playlist, if set.

Parameters
int currentMediaItemIndex

The current media item index, or INDEX_UNSET to assume the default first item in the playlist.

Returns
SimpleBasePlayer.State.Builder

This builder.

setDeviceInfo

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setDeviceInfo(DeviceInfo deviceInfo)

Sets the DeviceInfo.

Parameters
DeviceInfo deviceInfo

The DeviceInfo.

Returns
SimpleBasePlayer.State.Builder

This builder.

setDeviceVolume

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setDeviceVolume(@IntRange(from = 0) int deviceVolume)

Sets the current device volume.

Parameters
@IntRange(from = 0) int deviceVolume

The current device volume.

Returns
SimpleBasePlayer.State.Builder

This builder.

setIsDeviceMuted

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setIsDeviceMuted(boolean isDeviceMuted)

Sets whether the device is muted.

Parameters
boolean isDeviceMuted

Whether the device is muted.

Returns
SimpleBasePlayer.State.Builder

This builder.

setIsLoading

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setIsLoading(boolean isLoading)

Sets whether the player is currently loading its source.

The player can not be marked as loading if the state is STATE_IDLE or STATE_ENDED.

Parameters
boolean isLoading

Whether the player is currently loading its source.

Returns
SimpleBasePlayer.State.Builder

This builder.

setMaxSeekToPreviousPositionMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setMaxSeekToPreviousPositionMs(long maxSeekToPreviousPositionMs)

Sets the maximum position for which seekToPrevious seeks to the previous item, in milliseconds.

Parameters
long maxSeekToPreviousPositionMs

The maximum position for which seekToPrevious seeks to the previous item, in milliseconds.

Returns
SimpleBasePlayer.State.Builder

This builder.

setNewlyRenderedFirstFrame

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setNewlyRenderedFirstFrame(boolean newlyRenderedFirstFrame)

Sets whether a frame has been rendered for the first time since setting the surface, a rendering reset, or since the stream being rendered was changed.

Note: As this will trigger a onRenderedFirstFrame event, the flag should only be set for the first State update after the first frame was rendered.

Parameters
boolean newlyRenderedFirstFrame

Whether the first frame was newly rendered.

Returns
SimpleBasePlayer.State.Builder

This builder.

setPlayWhenReady

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setPlayWhenReady(
    boolean playWhenReady,
    @Player.PlayWhenReadyChangeReason int playWhenReadyChangeReason
)

Sets whether playback should proceed when ready and not suppressed.

Parameters
boolean playWhenReady

Whether playback should proceed when ready and not suppressed.

@Player.PlayWhenReadyChangeReason int playWhenReadyChangeReason

The reason for changing the value.

Returns
SimpleBasePlayer.State.Builder

This builder.

setPlaybackParameters

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setPlaybackParameters(PlaybackParameters playbackParameters)

Sets the currently active PlaybackParameters.

Parameters
PlaybackParameters playbackParameters

The currently active PlaybackParameters.

Returns
SimpleBasePlayer.State.Builder

This builder.

setPlaybackState

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setPlaybackState(@Player.State int playbackState)

Sets the state of the player.

If the playlist is empty, the state must be either STATE_IDLE or STATE_ENDED.

Parameters
@Player.State int playbackState

The state of the player.

Returns
SimpleBasePlayer.State.Builder

This builder.

setPlaybackSuppressionReason

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setPlaybackSuppressionReason(
    @Player.PlaybackSuppressionReason int playbackSuppressionReason
)

Sets the reason why playback is suppressed even if getPlayWhenReady is true.

Parameters
@Player.PlaybackSuppressionReason int playbackSuppressionReason

The Player.PlaybackSuppressionReason why playback is suppressed even if getPlayWhenReady is true.

Returns
SimpleBasePlayer.State.Builder

This builder.

setPlayerError

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setPlayerError(@Nullable PlaybackException playerError)

Sets last error that caused playback to fail, or null if there was no error.

The playback state must be set to STATE_IDLE while an error is set.

Parameters
@Nullable PlaybackException playerError

The last error that caused playback to fail, or null if there was no error.

Returns
SimpleBasePlayer.State.Builder

This builder.

setPlaylist

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setPlaylist(List<SimpleBasePlayer.MediaItemData> playlist)

Sets the playlist as a list of media items.

All items must have unique UIDs.

This call replaces any previous playlist set via setPlaylist.

Parameters
List<SimpleBasePlayer.MediaItemData> playlist

The list of media items in the playlist.

Returns
SimpleBasePlayer.State.Builder

This builder.

setPlaylist

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setPlaylist(
    Timeline timeline,
    Tracks currentTracks,
    @Nullable MediaMetadata currentMetadata
)

Sets the playlist as a Timeline with information about the current Tracks and MediaMetadata.

This call replaces any previous playlist set via setPlaylist.

Parameters
Timeline timeline

The Timeline containing the playlist data.

Tracks currentTracks

The Tracks of the current media item.

@Nullable MediaMetadata currentMetadata

The combined MediaMetadata of the current media item. If null, the current metadata is assumed to be the combination of the MediaItem metadata and the metadata of the selected Formats.

Returns
SimpleBasePlayer.State.Builder

This builder.

setPlaylistMetadata

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setPlaylistMetadata(MediaMetadata playlistMetadata)

Sets the playlist MediaMetadata.

Parameters
MediaMetadata playlistMetadata

The playlist MediaMetadata.

Returns
SimpleBasePlayer.State.Builder

This builder.

setPositionDiscontinuity

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setPositionDiscontinuity(
    @Player.DiscontinuityReason int positionDiscontinuityReason,
    long discontinuityPositionMs
)

Signals that a position discontinuity happened since the last player update and sets the reason for it.

Parameters
@Player.DiscontinuityReason int positionDiscontinuityReason

The reason for the discontinuity.

long discontinuityPositionMs

The position, in milliseconds, in the current content or ad from which playback continues after the discontinuity.

Returns
SimpleBasePlayer.State.Builder

This builder.

setRepeatMode

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setRepeatMode(@Player.RepeatMode int repeatMode)

Sets the RepeatMode used for playback.

Parameters
@Player.RepeatMode int repeatMode

The RepeatMode used for playback.

Returns
SimpleBasePlayer.State.Builder

This builder.

setSeekBackIncrementMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setSeekBackIncrementMs(long seekBackIncrementMs)

Sets the seekBack increment in milliseconds.

Parameters
long seekBackIncrementMs

The seekBack increment in milliseconds.

Returns
SimpleBasePlayer.State.Builder

This builder.

setSeekForwardIncrementMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setSeekForwardIncrementMs(long seekForwardIncrementMs)

Sets the seekForward increment in milliseconds.

Parameters
long seekForwardIncrementMs

The seekForward increment in milliseconds.

Returns
SimpleBasePlayer.State.Builder

This builder.

setShuffleModeEnabled

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setShuffleModeEnabled(boolean shuffleModeEnabled)

Sets whether shuffling of media items is enabled.

Parameters
boolean shuffleModeEnabled

Whether shuffling of media items is enabled.

Returns
SimpleBasePlayer.State.Builder

This builder.

setSurfaceSize

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setSurfaceSize(Size surfaceSize)

Sets the size of the surface onto which the video is being rendered.

Parameters
Size surfaceSize

The surface size. Dimensions may be LENGTH_UNSET if unknown, or 0 if the video is not rendered onto a surface.

Returns
SimpleBasePlayer.State.Builder

This builder.

setTimedMetadata

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setTimedMetadata(Metadata timedMetadata)

Sets the most recent timed Metadata.

Metadata with a presentationTimeUs of TIME_UNSET will not be forwarded to listeners.

Parameters
Metadata timedMetadata

The most recent timed Metadata.

Returns
SimpleBasePlayer.State.Builder

This builder.

setTotalBufferedDurationMs

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setTotalBufferedDurationMs(
    SimpleBasePlayer.PositionSupplier totalBufferedDurationMsSupplier
)

Sets the PositionSupplier for the estimated total buffered duration in milliseconds.

Parameters
SimpleBasePlayer.PositionSupplier totalBufferedDurationMsSupplier

The PositionSupplier for the estimated total buffered duration in milliseconds.

Returns
SimpleBasePlayer.State.Builder

This builder.

setTrackSelectionParameters

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setTrackSelectionParameters(
    TrackSelectionParameters trackSelectionParameters
)

Sets the currently active TrackSelectionParameters.

Parameters
TrackSelectionParameters trackSelectionParameters

The currently active TrackSelectionParameters.

Returns
SimpleBasePlayer.State.Builder

This builder.

setVideoSize

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setVideoSize(VideoSize videoSize)

Sets the current video size.

Parameters
VideoSize videoSize

The current video size.

Returns
SimpleBasePlayer.State.Builder

This builder.

setVolume

@CanIgnoreReturnValue
public SimpleBasePlayer.State.Builder setVolume(@FloatRange(from = 0, to = 1.0) float volume)

Sets the current audio volume, with 0 being silence and 1 being unity gain (signal unchanged).

Parameters
@FloatRange(from = 0, to = 1.0) float volume

The current audio volume, with 0 being silence and 1 being unity gain (signal unchanged).

Returns
SimpleBasePlayer.State.Builder

This builder.