Interface for classes whose instance can be stored in a Bundle by Bundleable.toBundle() and
@@ -941,1116 +953,1128 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Bundleable.Creator.
An ExtractorsFactory that provides an array of extractors for the following formats:
@@ -2075,2032 +2099,2076 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
com.google.android.exoplayer2.ext.flac.FlacExtractor is used.
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers
- in a thread safe way to avoid the potential of creating snapshots of an inconsistent or
- unintended state.
+
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers in
+ a thread safe way to avoid the potential of creating snapshots of an inconsistent or unintended
+ state.
Base class for TrackSelectors that first establish a mapping between TrackGroups
@@ -4108,1625 +4176,1667 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
renderer.
Provides a default MediaMetadataCompat with properties and extras taken from the MediaDescriptionCompat of the MediaSessionCompat.QueueItem of the active queue item.
A media player interface defining traditional high-level functionality, such as the ability to
play, pause, seek and query properties of the currently playing media.
Default implementation of SessionCallbackBuilder.AllowedCommandProvider that behaves as follows:
@@ -5737,1289 +5847,1288 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Controller is in the same package as the session.
Interface for time bar views that can display a playback position, buffered position, duration
and ad markers, and that have a listener for scrubbing (seeking) events.
Adapter to get MediaDescriptionCompat of items in the queue and to notify the
- application about changes in the queue to sync the data structure backing the
- MediaSessionConnector.
+ application about changes in the queue to sync the data structure backing the MediaSessionConnector.
Returns the index of the window that will be played if Player.next() is called, which may
- depend on the current repeat mode and whether shuffle mode is enabled.
+
Returns the index of the window that will be played if Player.seekToNextWindow() is called,
+ which may depend on the current repeat mode and whether shuffle mode is enabled.
Returns the index of the window that will be played if Player.previous() is called, which may
- depend on the current repeat mode and whether shuffle mode is enabled.
+
Returns the index of the window that will be played if Player.seekToPreviousWindow() is
+ called, which may depend on the current repeat mode and whether shuffle mode is enabled.
Returns whether a previous window exists, which may depend on the current repeat mode and
whether shuffle mode is enabled.
@@ -944,7 +1013,7 @@ public final Specified by:
-
Seeks to the default position of the previous window, which may depend on the current repeat
- mode and whether shuffle mode is enabled. Does nothing if Player.hasPrevious() is
- false.
+ mode and whether shuffle mode is enabled. Does nothing if Player.hasPreviousWindow() is
+ false.
Returns whether a next window exists, which may depend on the current repeat mode and whether
shuffle mode is enabled.
@@ -985,7 +1111,7 @@ public final Specified by:
-
Seeks to the default position of the next window, which may depend on the current repeat mode
- and whether shuffle mode is enabled. Does nothing if Player.hasNext() is false.
+ and whether shuffle mode is enabled. Does nothing if Player.hasNextWindow() is false.
Returns the index of the window that will be played if Player.next() is called, which may
- depend on the current repeat mode and whether shuffle mode is enabled. Returns C.INDEX_UNSET if Player.hasNext() is false.
+
Returns the index of the window that will be played if Player.previous() is called, which may
- depend on the current repeat mode and whether shuffle mode is enabled. Returns C.INDEX_UNSET if Player.hasPrevious() is false.
+
Returns the renderer time up to which the renderer has read samples from the current SampleStream, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the
- current SampleStream to the end.
+
Returns the renderer time up to which the renderer has read samples, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the current SampleStream to the end.
Returns the renderer time up to which the renderer has read samples from the current SampleStream, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the
- current SampleStream to the end.
+
Returns the renderer time up to which the renderer has read samples, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the current SampleStream to the end.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/DefaultRenderersFactory.html b/docs/doc/reference/com/google/android/exoplayer2/DefaultRenderersFactory.html
index 14ddddb3e9..26c599093b 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/DefaultRenderersFactory.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/DefaultRenderersFactory.html
@@ -501,8 +501,8 @@ implements Allow use of extension renderers. Extension renderers are indexed after core renderers of the
same type. A 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.
+ prefer to use a core renderer to an extension renderer in the case that both are able to play a
+ given track.
@@ -652,7 +619,9 @@ public final Format rendererFormat,
@FormatSupport
int rendererFormatSupport,
- boolean isRecoverable)
+ boolean isRecoverable,
+ @ErrorCode
+ int errorCode)
ExoPlayer is designed to make few assumptions about (and hence impose few restrictions on) the
type of the media being played, how and where it is stored, and how it is rendered. Rather than
@@ -173,7 +173,7 @@ extends DataSource factories to be injected via their constructors. By providing a custom factory
it's possible to load data from a non-standard source, or through a different network stack.
-
public class ForwardingPlayer
+extends Object
+implements Player
+
A Player that forwards operations to another Player. Applications can use this
+ class to suppress or modify specific operations, by overriding the respective methods.
If Player.isPlayingAd() returns true, returns an estimate of the content position in
+ the current content window up to which data is buffered, in milliseconds.
If Player.isPlayingAd() returns true, returns the duration of the current content
+ window in milliseconds, or C.TIME_UNSET if the duration is not known.
If Player.isPlayingAd() returns true, returns the content position that will be
+ played once all ads in the ad group have finished playing, in milliseconds.
Returns the offset of the current playback position from the live edge in milliseconds, or
+ C.TIME_UNSET if the current window isn't live or the
+ offset is unknown.
Returns the playback position in the current content window or ad, in milliseconds, or the
+ prospective position in milliseconds if the current timeline is
+ empty.
Returns the index of the window that will be played if Player.seekToNextWindow() is called,
+ which may depend on the current repeat mode and whether shuffle mode is enabled.
Returns the index of the window that will be played if Player.seekToPreviousWindow() is
+ called, which may depend on the current repeat mode and whether shuffle mode is enabled.
Registers a listener to receive events from the player.
+
+
The listener's methods will be called on the thread that was used to construct the player.
+ However, if the thread used to construct the player does not have a Looper, then the
+ listener will be called on the main thread.
Registers a listener to receive all events from the player.
+
+
The listener's methods will be called on the thread that was used to construct the player.
+ However, if the thread used to construct the player does not have a Looper, then the
+ listener will be called on the main thread.
startWindowIndex - The window index to start playback from. If C.INDEX_UNSET is
+ passed, the current position is not reset.
+
startPositionMs - The position in milliseconds to start playback from. If C.TIME_UNSET is passed, the default position of the given window is used. In any case, if
+ startWindowIndex is set to C.INDEX_UNSET, this parameter is ignored and the
+ position is not reset at all.
index - The index at which to add the media item. If the index is larger than the size of
+ the playlist, the media item is added to the end of the playlist.
index - The index at which to add the media items. If the index is larger than the size of
+ the playlist, the media items are added to the end of the playlist.
toIndex - The first item not to be included in the range (exclusive).
+
newIndex - The new index of the first media item of the range. If the new index is larger
+ than the size of the remaining playlist after removing the range, the range is moved to the
+ end of the playlist.
fromIndex - The index at which to start removing media items.
+
toIndex - The index of the first item to be kept (exclusive). If the index is larger than
+ the size of the playlist, media items to the end of the playlist are removed.
Returns the error that caused playback to fail. This is the same error that will have been
+ reported via Player.Listener.onPlayerError(PlaybackException) at the time of failure. It can
+ be queried using this method until the player is re-prepared.
+
+
Seeks to the default position associated with the current window. The position can depend on
+ the type of media being played. For live streams it will typically be the live edge of the
+ window. For other streams it will typically be the start of the window.
Seeks to the default position associated with the specified window. The position can depend on
+ the type of media being played. For live streams it will typically be the live edge of the
+ window. For other streams it will typically be the start of the window.
Seeks to the default position of the previous window, which may depend on the current repeat
+ mode and whether shuffle mode is enabled. Does nothing if Player.hasPreviousWindow() is
+ false.
+
+
Seeks to the default position of the next window, which may depend on the current repeat mode
+ and whether shuffle mode is enabled. Does nothing if Player.hasNextWindow() is false.
+
+
Attempts to set the playback parameters. Passing PlaybackParameters.DEFAULT resets the
+ player to the default, which means there is no speed or pitch adjustment.
+
+
speed - The linear factor by which playback will be sped up. Must be higher than 0. 1 is
+ normal speed, 2 is twice as fast, 0.5 is half normal speed...
Stops playback without resetting the player. Use Player.pause() rather than this method if
+ the intention is to pause playback.
+
+
Calling this method will cause the playback state to transition to Player.STATE_IDLE. The
+ player instance can still be used, and Player.release() must still be called on the player if
+ it's no longer required.
+
+
Calling this method does not clear the playlist, reset the playback position or the playback
+ error.
A concrete implementation may include null elements if it has a fixed number of renderer
+ components, wishes to report a TrackSelection for each of them, and has one or more renderer
+ components that is not assigned any selected tracks.
Returns the playback position in the current content window or ad, in milliseconds, or the
+ prospective position in milliseconds if the current timeline is
+ empty.
Returns an estimate of the total buffered duration from the current position, in milliseconds.
+ This includes pre-buffered data for subsequent ads and windows.
Returns the offset of the current playback position from the live edge in milliseconds, or
+ C.TIME_UNSET if the current window isn't live or the
+ offset is unknown.
+
+
The offset is calculated as currentTime - playbackPosition, so should usually be
+ positive.
+
+
Note that this offset may rely on an accurate local time, so this method may return an
+ incorrect value if the difference between system clock and server clock is unknown.
If Player.isPlayingAd() returns true, returns the duration of the current content
+ window in milliseconds, or C.TIME_UNSET if the duration is not known. If there is no ad
+ playing, the returned duration is the same as that returned by Player.getDuration().
If Player.isPlayingAd() returns true, returns the content position that will be
+ played once all ads in the ad group have finished playing, in milliseconds. If there is no ad
+ playing, the returned position is the same as that returned by Player.getCurrentPosition().
If Player.isPlayingAd() returns true, returns an estimate of the content position in
+ the current content window up to which data is buffered, in milliseconds. If there is no ad
+ playing, the returned position is the same as that returned by Player.getBufferedPosition().
Sets the Surface onto which video will be rendered. The caller is responsible for
+ tracking the lifecycle of the surface, and must clear the surface by calling
+ setVideoSurface(null) if the surface is destroyed.
+
+
Sets the SurfaceHolder that holds the Surface onto which video will be
+ rendered. The player will track the lifecycle of the surface automatically.
+
+
Returns the renderer time up to which the renderer has read samples from the current SampleStream, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the
- current SampleStream to the end.
+
Returns the renderer time up to which the renderer has read samples, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the current SampleStream to the end.
Returns the renderer time up to which the renderer has read samples from the current SampleStream, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the
- current SampleStream to the end.
+
Returns the renderer time up to which the renderer has read samples, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the current SampleStream to the end.
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
Called when the renderer's offset has been changed.
-
- The default implementation is a no-op.
+
+
The default implementation is a no-op.
Parameters:
-
offsetUs - The offset that should be subtracted from positionUs in
- Renderer.render(long, long) to get the playback position with respect to the media.
+
offsetUs - The offset that should be subtracted from positionUs in Renderer.render(long, long) to get the playback position with respect to the media.
Called when the position is reset. This occurs when the renderer is enabled after
- onRendererOffsetChanged(long) has been called, and also when a position
- discontinuity is encountered.
-
- The default implementation is a no-op.
+
Called when the position is reset. This occurs when the renderer is enabled after onRendererOffsetChanged(long) has been called, and also when a position discontinuity is
+ encountered.
+
+
The default implementation is a no-op.
Parameters:
positionUs - The new playback position in microseconds.
@@ -1085,8 +1074,8 @@ public int supportsMixedMimeTypeAdaptation()
Whether the parsing error was caused by a bitstream not following the expected format. May be
+ false when a parser encounters a legal condition which it does not support.
Note: Changes to the Bundleable implementation must be backwards compatible, so as to avoid
+ breaking communication across different Bundleable implementation versions.
Player implementations that want to surface custom errors can use error codes greater than this
+ value, so as to avoid collision with other error codes defined in this class.
Caused by the player trying to access cleartext HTTP traffic (meaning http:// rather than
+ https://) when the app's Network Security Configuration does not permit it.
public static final int ERROR_CODE_FAILED_RUNTIME_CHECK
+
Caused by a failed runtime check.
+
+
This can happen when the application fails to comply with the player's API requirements (for
+ example, by passing invalid arguments), or when the player reaches an invalid state.
public static final int ERROR_CODE_IO_INVALID_HTTP_CONTENT_TYPE
+
Caused by a server returning a resource with an invalid "Content-Type" HTTP header value.
+
+
For example, this can happen when the player is expecting a piece of media, but the server
+ returns a paywall HTML page, with content type "text/html".
public static final int ERROR_CODE_IO_CLEARTEXT_NOT_PERMITTED
+
Caused by the player trying to access cleartext HTTP traffic (meaning http:// rather than
+ https://) when the app's Network Security Configuration does not permit it.
+
+
public static final int ERROR_CODE_PARSING_MANIFEST_MALFORMED
+
Caused by a parsing error associated with a media manifest. Examples of a media manifest are a
+ DASH or a SmoothStreaming manifest, or an HLS playlist.
public static final int ERROR_CODE_DRM_CONTENT_ERROR
+
Caused by attempting to play incompatible DRM-protected content.
+
+
For example, this can happen when attempting to play a DRM protected stream using a scheme
+ (like Widevine) for which there is no corresponding license acquisition data (like a pssh box).
Player implementations that want to surface custom errors can use error codes greater than this
+ value, so as to avoid collision with other error codes defined in this class.
setIds - Whether Timeline.Period.id and Timeline.Period.uid should be populated. If false,
+ the fields will be set to null. The caller should pass false for efficiency reasons unless
+ the fields are required.
This method being called does not indicate that playback has failed, or that it will fail.
The player may be able to recover from the error. Hence applications should not
implement this method to display a user visible error or initiate an application level retry.
- Player.Listener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement such behavior. This
+ Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such behavior. This
method is called to provide the application with an opportunity to log the error if it wishes
to do so.
@@ -1124,7 +1142,7 @@ public void release()
This method being called does not indicate that playback has failed, or that it will fail.
The player may be able to recover from the error. Hence applications should not
implement this method to display a user visible error or initiate an application level retry.
- Player.Listener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement such behavior. This
+ Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such behavior. This
method is called to provide the application with an opportunity to log the error if it wishes
to do so.
@@ -1395,7 +1413,7 @@ public void release()
This method being called does not indicate that playback has failed, or that it will fail.
The player may be able to recover from the error. Hence applications should not
implement this method to display a user visible error or initiate an application level retry.
- Player.Listener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement such behavior. This
+ Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such behavior. This
method is called to provide the application with an opportunity to log the error if it wishes
to do so.
@@ -1532,7 +1550,7 @@ public void release()
This method being called does not indicate that playback has failed, or that it will fail.
The player may be able to recover from the error. Hence applications should not
implement this method to display a user visible error or initiate an application level retry.
- Player.Listener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement such behavior. This
+ Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such behavior. This
method is called to provide the application with an opportunity to log the error if it wishes
to do so.
@@ -1688,28 +1706,12 @@ public void release()
onStaticMetadataChanged
-
public final void onStaticMetadataChanged(List<Metadata> metadataList)
The provided metadataList is an immutable list of Metadata instances,
- where the elements correspond to the current track
- selections, or an empty list if there are no track selections or the selected tracks contain
- no static metadata.
-
-
The metadata is considered static in the sense that it comes from the tracks' declared
- Formats, rather than being timed (or dynamic) metadata, which is represented within a
- metadata track.
-
-
Called when an error occurs. The playback state will transition to Player.STATE_IDLE
immediately after this method is called. The player instance can still be used, and Player.release() must still be called on the player should it no longer be required.
+ other events that happen in the same Looper message queue iteration.
+
+
Implementations of Player may pass an instance of a subclass of PlaybackException
+ to this method in order to include more information about the error.
Called periodically to indicate that bytes have been transferred or the estimated bitrate has
changed.
@@ -2028,8 +2157,8 @@ public void release()
elapsedMs - The time taken to transfer bytesTransferred, in milliseconds. This
is at most the elapsed time since the last callback, but may be less if there were
periods during which data was not being transferred.
-
bytes - The number of bytes transferred since the last callback.
-
bitrate - The estimated bitrate in bits/sec.
+
bytesTransferred - The number of bytes transferred since the last callback.
+
bitrateEstimate - The estimated bitrate in bits/sec.
@@ -2092,7 +2221,7 @@ public void release()
This method being called does not indicate that playback has failed, or that it will fail.
The player may be able to recover from the error and continue. Hence applications should
not implement this method to display a user visible error or initiate an application
- level retry (Player.Listener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement such
+ level retry (Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such
behavior). This method is called to provide the application with an opportunity to log the
error if it wishes to do so.
onRenderedFirstFrame(AnalyticsListener.EventTime eventTime,
Object output,
@@ -1020,7 +1082,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
renderer was reset, or since the stream being rendered was changed.
@@ -1210,7 +1292,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
there's a change in the size or pixel aspect ratio of the video being rendered.
The provided metadataList is an immutable list of Metadata instances, where
- the elements correspond to the current track selections (as returned by onTracksChanged(EventTime, TrackGroupArray, TrackSelectionArray), or an empty list if there
- are no track selections or the selected tracks contain no static metadata.
-
-
The metadata is considered static in the sense that it comes from the tracks' declared
- Formats, rather than being timed (or dynamic) metadata, which is represented within a metadata
- track.
A non-standard codec string for E-AC-3. Use of this constant allows for disambiguation between
- regular AC-3 ("ec-3") and E-AC-3 ("ec+3") streams from the codec string alone. The standard is
- to use "ec-3" for both, as per the MP4RA registered codec
- types.
A non-standard codec string for E-AC3-JOC. Use of this constant allows for disambiguation
+ between regular E-AC3 ("ec-3") and E-AC3-JOC ("ec+3") streams from the codec string alone. The
+ standard is to use "ec-3" for both, as per the MP4RA
+ registered codec types.
Registers the receiver, meaning it will notify the listener when audio capability changes
- occur. The current audio capabilities will be returned. It is important to call
- unregister() when the receiver is no longer required.
+ occur. The current audio capabilities will be returned. It is important to call unregister() when the receiver is no longer required.
Queues audio data between the position and limit of the input buffer for processing.
buffer must be a direct byte buffer with native byte order. Its contents are treated as
read-only. Its position will be advanced by the number of bytes consumed (which may be zero).
@@ -352,7 +352,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
previous buffer returned by getOutput().
Queues an end of stream signal. After this method has been called,
- queueInput(ByteBuffer) may not be called until after the next call to
- flush(). Calling getOutput() will return any remaining output data. Multiple
- calls may be required to read all of the remaining output data. isEnded() will return
- true once all remaining output data has been read.
+
Queues an end of stream signal. After this method has been called, queueInput(ByteBuffer) may not be called until after the next call to flush().
+ Calling getOutput() will return any remaining output data. Multiple calls may be
+ required to read all of the remaining output data. isEnded() will return true
+ once all remaining output data has been read.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.Listener.html b/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.Listener.html
index a48843218b..fcd9bbc413 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.Listener.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.Listener.html
@@ -320,11 +320,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
The player may be able to recover from the error (for example by recreating the AudioTrack,
possibly with different settings) and continue. Hence applications should not
implement this method to display a user visible error or initiate an application level retry
- (Player.Listener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement such behavior).
+ (Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such behavior).
This method is called to provide the application with an opportunity to log the error if it
wishes to do so.
-
audioSinkError - The error that occurred. Typically an AudioSink.InitializationException,
diff --git a/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.WriteException.html b/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.WriteException.html
index b31f611ddd..75df441db5 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.WriteException.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.WriteException.html
@@ -263,8 +263,7 @@ extends The error value returned from the sink implementation. If the sink writes to a platform
- AudioTrack, this will be the error value returned from
- AudioTrack.write(byte[], int, int) or AudioTrack.write(ByteBuffer, int, int).
+ AudioTrack, this will be the error value returned from AudioTrack.write(byte[], int, int) or AudioTrack.write(ByteBuffer, int, int).
Otherwise, the meaning of the error code depends on the sink implementation.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.html b/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.html
index dc2f7c59f1..049db6402d 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/audio/AudioSink.html
@@ -770,8 +770,8 @@ int getFormatSupport(void setAudioAttributes(AudioAttributes audioAttributes)
Sets attributes for audio playback. If the attributes have changed and if the sink is not
configured for use with tunneling, then it is reset and the audio session id is cleared.
-
- If the sink is configured for use with tunneling then the audio attributes are ignored. The
+
+
If the sink is configured for use with tunneling then the audio attributes are ignored. The
sink is not reset and the audio session id is not cleared. The passed attributes will be used
if the sink is later re-configured into non-tunneled mode.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/audio/BaseAudioProcessor.html b/docs/doc/reference/com/google/android/exoplayer2/audio/BaseAudioProcessor.html
index faeb9f0f4a..75c47e1b31 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/audio/BaseAudioProcessor.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/audio/BaseAudioProcessor.html
@@ -465,11 +465,10 @@ implements public final void queueEndOfStream()
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
- The flag must be set before creating a player. Should be set to true for testing and
+
+
The flag must be set before creating a player. Should be set to true for testing and
debugging purposes only.
@@ -1082,8 +1106,8 @@ public int getFormatSupport(Description copied from interface: AudioSink
Sets attributes for audio playback. If the attributes have changed and if the sink is not
configured for use with tunneling, then it is reset and the audio session id is cleared.
-
- If the sink is configured for use with tunneling then the audio attributes are ignored. The
+
+
If the sink is configured for use with tunneling then the audio attributes are ignored. The
sink is not reset and the audio session id is not cleared. The passed attributes will be used
if the sink is later re-configured into non-tunneled mode.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/audio/ForwardingAudioSink.html b/docs/doc/reference/com/google/android/exoplayer2/audio/ForwardingAudioSink.html
index ad81dc23be..b4e9d3044a 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/audio/ForwardingAudioSink.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/audio/ForwardingAudioSink.html
@@ -733,8 +733,8 @@ public int getFormatSupport(Description copied from interface: AudioSink
Sets attributes for audio playback. If the attributes have changed and if the sink is not
configured for use with tunneling, then it is reset and the audio session id is cleared.
-
- If the sink is configured for use with tunneling then the audio attributes are ignored. The
+
+
If the sink is configured for use with tunneling then the audio attributes are ignored. The
sink is not reset and the audio session id is not cleared. The passed attributes will be used
if the sink is later re-configured into non-tunneled mode.
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
diff --git a/docs/doc/reference/com/google/android/exoplayer2/decoder/Buffer.html b/docs/doc/reference/com/google/android/exoplayer2/decoder/Buffer.html
index 224d35cc9b..0c467e7bf2 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/decoder/Buffer.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/decoder/Buffer.html
@@ -360,8 +360,8 @@ extends Adds the flag to this buffer's flags.
This method being called does not indicate that playback has failed, or that it will fail.
The player may be able to recover from the error and continue. Hence applications should
not implement this method to display a user visible error or initiate an application
- level retry (Player.Listener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement such
+ level retry (Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such
behavior). This method is called to provide the application with an opportunity to log the
error if it wishes to do so.
Used to obtain keys for decrypting protected media streams.
-
Reference counting
+
Reference counting
Access to an instance is managed by reference counting, where acquire() increments
the reference count and release() decrements it. When the reference count drops to 0
diff --git a/docs/doc/reference/com/google/android/exoplayer2/drm/FrameworkMediaDrm.html b/docs/doc/reference/com/google/android/exoplayer2/drm/FrameworkMediaDrm.html
index 668ddf83cf..0a1ea4f4ed 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/drm/FrameworkMediaDrm.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/drm/FrameworkMediaDrm.html
@@ -224,7 +224,7 @@ implements
public CastPlayer(com.google.android.gms.cast.framework.CastContext castContext,
+ MediaItemConverter mediaItemConverter,
+ long seekBackIncrementMs,
+ long seekForwardIncrementMs)
Creates a new cast player.
Parameters:
castContext - The context from which the cast session is obtained.
Registers a listener to receive all events from the player.
+
Registers a listener to receive all events from the player.
+
+
The listener's methods will be called on the thread that was used to construct the player.
+ However, if the thread used to construct the player does not have a Looper, then the
+ listener will be called on the main thread.
Parameters:
listener - The listener to register.
@@ -1031,9 +959,11 @@ public com.google.android.gms.cast.MediaQueueItem getItem(int&n
Registers a listener to receive events from the player. The listener's methods will be called
- on the thread that was used to construct the player. However, if the thread used to construct
- the player does not have a Looper, then the listener will be called on the main thread.
+
Registers a listener to receive events from the player.
+
+
The listener's methods will be called on the thread that was used to construct the player.
+ However, if the thread used to construct the player does not have a Looper, then the
+ listener will be called on the main thread.
Parameters:
listener - The listener to register.
@@ -1183,11 +1113,12 @@ public com.google.android.gms.cast.MediaQueueItem getItem(int&n
Returns the error that caused playback to fail. This is the same error that will have been
- reported via Player.Listener.onPlayerError(ExoPlaybackException) at the time of failure. It
- can be queried using this method until the player is re-prepared.
+ reported via Player.Listener.onPlayerError(PlaybackException) at the time of failure. It can
+ be queried using this method until the player is re-prepared.
Returns the current static metadata for the track selections.
-
-
The returned metadataList is an immutable list of Metadata instances, where
- the elements correspond to the current track selections,
- or an empty list if there are no track selections or the selected tracks contain no static
- metadata.
-
-
This metadata is considered static in that it comes from the tracks' declared Formats,
- rather than being timed (or dynamic) metadata, which is represented within a metadata track.
public Factory(org.chromium.net.CronetEngine cronetEngine,
+ Executor executor)
+
Creates an instance.
+
+
Parameters:
+
cronetEngine - A CronetEngine to make the requests. This should not be
+ a fallback instance obtained from JavaCronetProvider. It's more efficient to use
+ DefaultHttpDataSource instead in this case.
+
executor - The Executor that will handle responses. This
+ may be a direct executor (i.e. executes tasks on the calling thread) in order to avoid a
+ thread hop from Cronet's internal network thread to the response handling thread.
+ However, to avoid slowing down overall network performance, care must be taken to make
+ sure response handling is a fast operation when using a direct executor.
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html b/docs/doc/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html
index 7f6c49cb20..b7187d77b8 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/ext/cronet/CronetEngineWrapper.html
@@ -25,12 +25,6 @@
catch(err) {
}
//-->
-var data = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');
@@ -86,16 +80,16 @@ loadScripts(document, 'script');
Creates a wrapper for a CronetEngine built using the most suitable CronetProvider. When natively bundled Cronet and GMSCore Cronet are both available, the
natively bundled provider is preferred.
Creates a wrapper for a CronetEngine built using the most suitable CronetProvider. When natively bundled Cronet and GMSCore Cronet are both available,
preferGMSCoreCronet determines which is preferred.
Builds a CronetEngine suitable for use with ExoPlayer. When choosing a Cronet provider to build the CronetEngine, disabled providers are not
+ considered. Neither are fallback providers, since it's more efficient to use DefaultHttpDataSource than it is to use CronetDataSource with a fallback CronetEngine.
+
+
Note that it's recommended for applications to create only one instance of CronetEngine, so if your application already has an instance for performing other networking,
+ then that instance should be used and calling this method is unnecessary. See the Android developer
+ guide to learn more about using Cronet for network operations.
+
+
Parameters:
+
context - A context.
+
userAgent - A default user agent, or null to use a default user agent of the
+ CronetEngine.
+
preferGooglePlayServices - Whether Cronet from Google Play Services should be preferred
+ over Cronet Embedded, if both are available.
+
Returns:
+
The CronetEngine, or null if no suitable engine could be built.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Use a ForwardingPlayer and pass it to the constructor instead. You can also
+ customize some operations when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
Use a ForwardingPlayer and pass it to the constructor instead. You can also
+ customize some operations when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
See MediaSessionCompat.Callback.onCommand(String, Bundle, ResultReceiver). The
- receiver may handle the command, but is not required to do so. Changes to the player should
- be made via the ControlDispatcher.
+ receiver may handle the command, but is not required to do so.
Parameters:
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
command - The command name.
extras - Optional parameters for the command, may be null.
cb - A result receiver to which a result may be sent by the command, may be null.
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
action - The name of the action which was sent by a media controller.
extras - Optional extras sent by a media controller, may be null.
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
See MediaSessionCompat.Callback.onSkipToPrevious().
Parameters:
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
See MediaSessionCompat.Callback.onSkipToQueueItem(long).
Parameters:
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
diff --git a/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html b/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html
index 240ff9e156..2fbe4eb63f 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.html
@@ -25,7 +25,7 @@
catch(err) {
}
//-->
-var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":42,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":42,"i21":10};
+var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -278,24 +278,17 @@ extends
Use a ForwardingPlayer and pass it to setPlayer(Player) instead.
+ You can also customize some operations when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
Note that this comparison is normally only required when you are using media sources that
+ may introduce duplicate updates of the metadata for the same media item (e.g. live streams).
+
+
Parameters:
+
metadataDeduplicationEnabled - Whether to deduplicate metadata objects on invalidation.
+
+
+
diff --git a/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.html b/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.html
index 3f4cd71c3a..32ee306748 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/RepeatModeActionProvider.html
@@ -330,6 +330,7 @@ public static final int DEFAULT_REPEAT_TOGGLE_MODES
onCustomAction
public void onCustomAction(Player player,
+ @DeprecatedControlDispatcher controlDispatcher,
String action,
@Nullable
@@ -341,8 +342,10 @@ public static final int DEFAULT_REPEAT_TOGGLE_MODES
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
action - The name of the action which was sent by a media controller.
extras - Optional extras sent by a media controller, may be null.
public static interface TimelineQueueEditor.QueueDataAdapter
Adapter to get MediaDescriptionCompat of items in the queue and to notify the
- application about changes in the queue to sync the data structure backing the
- MediaSessionConnector.
+ application about changes in the queue to sync the data structure backing the MediaSessionConnector.
Adapter to get MediaDescriptionCompat of items in the queue and to notify the
- application about changes in the queue to sync the data structure backing the
- MediaSessionConnector.
+ application about changes in the queue to sync the data structure backing the MediaSessionConnector.
See MediaSessionCompat.Callback.onCommand(String, Bundle, ResultReceiver). The
- receiver may handle the command, but is not required to do so. Changes to the player should
- be made via the ControlDispatcher.
+ receiver may handle the command, but is not required to do so.
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
command - The command name.
extras - Optional parameters for the command, may be null.
cb - A result receiver to which a result may be sent by the command, may be null.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.html b/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.html
index 930f99d023..35b6029880 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/ext/mediasession/TimelineQueueNavigator.html
@@ -345,8 +345,8 @@ implements Creates an instance for a given MediaSessionCompat.
-
If the number of windows in the Player's Timeline exceeds
+ maxQueueSize, the media session queue will correspond to maxQueueSize windows centered
+ on the one currently being played.
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
See MediaSessionCompat.Callback.onCommand(String, Bundle, ResultReceiver). The
- receiver may handle the command, but is not required to do so. Changes to the player should
- be made via the ControlDispatcher.
+ receiver may handle the command, but is not required to do so.
player - The player connected to the media session.
-
controlDispatcher - A ControlDispatcher that should be used for dispatching
- changes to the player.
+
controlDispatcher - This parameter is deprecated. Use player instead. Operations
+ can be customized by passing a ForwardingPlayer to MediaSessionConnector.setPlayer(Player), or
+ when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
command - The command name.
extras - Optional parameters for the command, may be null.
cb - A result receiver to which a result may be sent by the command, may be null.
Adapter to get MediaDescriptionCompat of items in the queue and to notify the
- application about changes in the queue to sync the data structure backing the
- MediaSessionConnector.
+ application about changes in the queue to sync the data structure backing the MediaSessionConnector.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html b/docs/doc/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html
index 5537fcc790..68fd3ed58c 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/ext/okhttp/OkHttpDataSource.html
@@ -314,7 +314,7 @@ implements int
read(byte[] buffer,
int offset,
- int readLength)
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSourceFactory.html b/docs/doc/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSourceFactory.html
index 5b12c976a6..1372689cfd 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSourceFactory.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/ext/rtmp/RtmpDataSourceFactory.html
@@ -25,8 +25,8 @@
catch(err) {
}
//-->
-var data = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var data = {"i0":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
@@ -133,10 +133,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Following a call to this method, the ExtractorInput passed to the next invocation of
read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
The read()/peek() and skip() methods provide InputStream-like
byte-level access operations. The length parameter is a maximum, and each method returns
@@ -151,7 +151,7 @@ extends
The number of clear blocks in the encryption pattern, 0 if pattern encryption does not
- apply.
+
The number of clear blocks in the encryption pattern, 0 if pattern encryption does not apply.
@@ -301,8 +300,7 @@ public final int cryptoMode
clearBlocks
public final int clearBlocks
-
The number of clear blocks in the encryption pattern, 0 if pattern encryption does not
- apply.
+
The number of clear blocks in the encryption pattern, 0 if pattern encryption does not apply.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/extractor/TrackOutput.html b/docs/doc/reference/com/google/android/exoplayer2/extractor/TrackOutput.html
index 01e885ca99..4d059a1a83 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/extractor/TrackOutput.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/extractor/TrackOutput.html
@@ -269,7 +269,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
int flags,
int size,
int offset,
- TrackOutput.CryptoData encryptionData)
+ TrackOutput.CryptoData cryptoData)
Called when metadata associated with a sample has been extracted from the stream.
@@ -477,7 +477,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
int size,
int offset,
@Nullable
- TrackOutput.CryptoData encryptionData)
+ TrackOutput.CryptoData cryptoData)
Called when metadata associated with a sample has been extracted from the stream.
The corresponding sample data will have already been passed to the output via calls to
@@ -490,7 +490,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.html b/docs/doc/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.html
index 916ac9db27..f3affabfd9 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/extractor/flac/FlacExtractor.html
@@ -483,8 +483,8 @@ public int read(Description copied from interface: Extractor
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/extractor/jpeg/JpegExtractor.html b/docs/doc/reference/com/google/android/exoplayer2/extractor/jpeg/JpegExtractor.html
index 8dc5a79021..31bbfa20b4 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/extractor/jpeg/JpegExtractor.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/extractor/jpeg/JpegExtractor.html
@@ -385,8 +385,8 @@ public int read(Description copied from interface: Extractor
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html b/docs/doc/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html
index 3be56f7ce6..8ecb69e1e4 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/extractor/mkv/EbmlProcessor.html
@@ -450,12 +450,12 @@ int getElementType(int id)
long contentSize)
throws ParserException
Called when the start of a master element is encountered.
-
- Following events should be considered as taking place within this element until a matching call
- to endMasterElement(int) is made.
-
- Note that it is possible for another master element of the same element ID to be nested within
- itself.
+
+
Following events should be considered as taking place within this element until a matching
+ call to endMasterElement(int) is made.
+
+
Note that it is possible for another master element of the same element ID to be nested
+ within itself.
Parameters:
id - The element ID.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html b/docs/doc/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html
index 1c696bef1b..c2710b8d64 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.html
@@ -411,8 +411,8 @@ implements Flag to disable seeking for cues.
-
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/extractor/mp4/PsshAtomUtil.html b/docs/doc/reference/com/google/android/exoplayer2/extractor/mp4/PsshAtomUtil.html
index 404a363bcc..cb056d2749 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/extractor/mp4/PsshAtomUtil.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/extractor/mp4/PsshAtomUtil.html
@@ -307,8 +307,8 @@ public static public static int parseVersion(byte[] atom)
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html b/docs/doc/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html
index 89aa3c3e94..1641343070 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/extractor/ts/DefaultTsPayloadReaderFactory.html
@@ -479,11 +479,10 @@ implements Formats to be exposed by payload readers for streams with
- embedded closed captions when no caption service descriptors are provided. If
- FLAG_OVERRIDE_CAPTION_DESCRIPTORS is set, closedCaptionFormats overrides
- any descriptor information. If not set, and closedCaptionFormats is empty, a
- closed caption track with Format.accessibilityChannelFormat.NO_VALUE will
- be exposed.
+ embedded closed captions when no caption service descriptors are provided. If FLAG_OVERRIDE_CAPTION_DESCRIPTORS is set, closedCaptionFormats overrides any
+ descriptor information. If not set, and closedCaptionFormats is empty, a closed
+ caption track with Format.accessibilityChannelFormat.NO_VALUE will be
+ exposed.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html b/docs/doc/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html
index bc9babb905..0487ffd65e 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/mediacodec/MediaCodecAdapter.html
@@ -25,7 +25,7 @@
catch(err) {
}
//-->
-var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6};
+var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -232,6 +232,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Enables skipping and continuing playback from the next key frame if a sample is encountered
- that's too large to fit into one of the decoder's input buffers.
public void experimentalSetSkipAndContinueIfSampleTooLarge(boolean enabled)
-
Enables skipping and continuing playback from the next key frame if a sample is encountered
- that's too large to fit into one of the decoder's input buffers. When not enabled, playback
- will fail in this case.
-
-
This method is experimental, and will be renamed or removed in a future release. It should
- only be called before the renderer is used.
Returns whether to keep available codec infos when the codec hasn't been initialized, which is
- the behavior before a bug fix. See also [Internal: b/162837741].
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
A media player interface defining traditional high-level functionality, such as the ability to
play, pause, seek and query properties of the currently playing media.
positionUs - The current playback position in microseconds. If playback of the period to
- which this loader belongs has not yet started, the value will be the starting position
- in the period minus the duration of any media in previous periods still to be played.
+ which this loader belongs has not yet started, the value will be the starting position in
+ the period minus the duration of any media in previous periods still to be played.
This method being called does not indicate that playback has failed, or that it will fail.
The player may be able to recover from the error. Hence applications should not
implement this method to display a user visible error or initiate an application level retry.
- Player.Listener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement such behavior. This
+ Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such behavior. This
method is called to provide the application with an opportunity to log the error if it wishes
to do so.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/source/MergingMediaSource.html b/docs/doc/reference/com/google/android/exoplayer2/source/MergingMediaSource.html
index f696d85b36..4cc9810781 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/source/MergingMediaSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/source/MergingMediaSource.html
@@ -25,8 +25,8 @@
catch(err) {
}
//-->
-var data = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
@@ -241,7 +241,7 @@ extends
-
positionUs - The current playback position in microseconds. If playback of the period to
- which this loader belongs has not yet started, the value will be the starting position
- in the period minus the duration of any media in previous periods still to be played.
+ which this loader belongs has not yet started, the value will be the starting position in
+ the period minus the duration of any media in previous periods still to be played.
Returns:
-
True if progress was made, meaning that getNextLoadPositionUs() will return
- a different value than prior to the call. False otherwise.
+
True if progress was made, meaning that getNextLoadPositionUs() will return a
+ different value than prior to the call. False otherwise.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/source/SilenceMediaSource.html b/docs/doc/reference/com/google/android/exoplayer2/source/SilenceMediaSource.html
index 5855554c3e..d0b0d2e354 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/source/SilenceMediaSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/source/SilenceMediaSource.html
@@ -25,8 +25,8 @@
catch(err) {
}
//-->
-var data = {"i0":10,"i1":10,"i2":42,"i3":10,"i4":10,"i5":10,"i6":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
+var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
@@ -235,7 +235,7 @@ extends
-
The times of ad groups, in microseconds, relative to the start of the Timeline.Period they belong to. A final element with the value
- C.TIME_END_OF_SOURCE indicates a postroll ad.
The number of ad groups the have been removed. Ad groups with indices between 0
+ (inclusive) and removedAdGroupCount (exclusive) will be empty and must not be modified
+ by any of the with* methods.
A MediaSource for server-side inserted ad breaks.
+
+
The media source publishes a Timeline for the wrapped MediaSource with the
+ server-side inserted ad breaks and ensures that playback continues seamlessly with the wrapped
+ media across all transitions.
+
+
Must only contain server-side inserted ad groups. The number of ad groups and the number of
+ ads within an ad group may only increase. The durations of ads may change and the positions of
+ future ad groups may change. Post-roll ad groups with C.TIME_END_OF_SOURCE must be
+ empty and can be used as a placeholder for a future ad group.
mediaTransferListener - The transfer listener which should be informed of any media data
+ transfers. May be null if no listener is available. Note that this listener should usually
+ be only informed of transfers related to the media loads and not of auxiliary loads for
+ manifests and other data.
This method being called does not indicate that playback has failed, or that it will fail.
+ The player may be able to recover from the error and continue. Hence applications should
+ not implement this method to display a user visible error or initiate an application
+ level retry (Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such
+ behavior). This method is called to provide the application with an opportunity to log the
+ error if it wishes to do so.
This method being called does not indicate that playback has failed, or that it will fail.
+ The player may be able to recover from the error. Hence applications should not
+ implement this method to display a user visible error or initiate an application level retry.
+ Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such behavior. This
+ method is called to provide the application with an opportunity to log the error if it wishes
+ to do so.
Called when a downstream format change occurs (i.e. when the format of the media being read
+ from one or more SampleStreams provided by the source changes).
@CheckResult
+public static AdPlaybackState addAdGroupToAdPlaybackState(AdPlaybackState adPlaybackState,
+ long fromPositionUs,
+ long toPositionUs,
+ long contentResumeOffsetUs)
+
Adds a new server-side inserted ad group to an AdPlaybackState.
fromPositionUs - The position in the underlying server-side inserted ads stream at which
+ the ad group starts, in microseconds.
+
toPositionUs - The position in the underlying server-side inserted ads stream at which the
+ ad group ends, in microseconds.
+
contentResumeOffsetUs - The timestamp offset which should be added to the content stream
+ when resuming playback after the ad group. An offset of 0 collapses the ad group to a
+ single insertion point, an offset of toPositionUs-fromPositionUs keeps the original
+ stream timestamps after the ad group.
public static long getStreamPositionUsForContent(long positionUs,
+ int nextAdGroupIndex,
+ AdPlaybackState adPlaybackState)
+
Returns the position in the underlying server-side inserted ads stream for a position in a
+ content MediaPeriod.
+
+
Parameters:
+
positionUs - The position in the content MediaPeriod, in microseconds.
+
nextAdGroupIndex - The next ad group index after the content, or C.INDEX_UNSET if
+ there is no following ad group. Ad groups from this index are not used to adjust the
+ position.
+
adPlaybackState - The AdPlaybackState defining the ad groups.
+
Returns:
+
The position in the underlying server-side inserted ads stream, in microseconds.
public static long getMediaPeriodPositionUsForContent(long positionUs,
+ int nextAdGroupIndex,
+ AdPlaybackState adPlaybackState)
+
Returns the position in a content MediaPeriod for a position in the underlying
+ server-side inserted ads stream.
+
+
Parameters:
+
positionUs - The position in the underlying server-side inserted ads stream, in
+ microseconds.
+
nextAdGroupIndex - The next ad group index after the content, or C.INDEX_UNSET if
+ there is no following ad group. Ad groups from this index are not used to adjust the
+ position.
+
adPlaybackState - The AdPlaybackState defining the ad groups.
+
Returns:
+
The position in the content MediaPeriod, in microseconds.
The start time of the media contained by the chunk, or C.TIME_UNSET if the data being
+ loaded does not contain media samples.
@@ -444,6 +444,7 @@ public final DataSource dataSource,
DataSpec dataSpec,
+ @DataType
int type,
Format trackFormat,
int trackSelectionReason,
diff --git a/docs/doc/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html b/docs/doc/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html
index e914db66ba..70678ae3e4 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/source/chunk/ChunkSampleStream.html
@@ -849,11 +849,11 @@ implements continueLoading in interface SequenceableLoader
Parameters:
positionUs - The current playback position in microseconds. If playback of the period to
- which this loader belongs has not yet started, the value will be the starting position
- in the period minus the duration of any media in previous periods still to be played.
+ which this loader belongs has not yet started, the value will be the starting position in
+ the period minus the duration of any media in previous periods still to be played.
Called when the ChunkSampleStream encounters an error loading a chunk obtained from
this source.
Parameters:
chunk - The chunk whose load encountered the error.
cancelable - Whether the load can be canceled.
-
e - The error.
-
exclusionDurationMs - The duration for which the associated track may be excluded, or
- C.TIME_UNSET if the track may not be excluded.
+
loadErrorInfo - The load error info.
+
loadErrorHandlingPolicy - The load error handling policy to customize the behaviour of
+ handling the load error.
Returns:
Whether the load should be canceled so that a replacement chunk can be loaded instead.
Must be false if cancelable is false. If true, getNextChunk(long, long, List, ChunkHolder) will be called to obtain the replacement
diff --git a/docs/doc/reference/com/google/android/exoplayer2/source/chunk/DataChunk.html b/docs/doc/reference/com/google/android/exoplayer2/source/chunk/DataChunk.html
index 8e5babdfc8..38aacb6ca6 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/source/chunk/DataChunk.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/source/chunk/DataChunk.html
@@ -274,6 +274,7 @@ extends DataSource dataSource,
DataSpec dataSpec,
+ @DataType
int type,
Format trackFormat,
int trackSelectionReason,
diff --git a/docs/doc/reference/com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html b/docs/doc/reference/com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html
index 0fec6c2aba..f16a756590 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/source/chunk/MediaParserChunkExtractor.html
@@ -249,7 +249,7 @@ implements
Selects the base URL to use from the given list.
+
+
The list is reduced by service location and priority of base URLs that have been passed to
+ exclude(BaseUrl, long). The base URL to use is then selected from the remaining base
+ URLs by priority and weight.
chunk - The chunk whose load encountered the error.
cancelable - Whether the load can be canceled.
-
e - The error.
-
exclusionDurationMs - The duration for which the associated track may be excluded, or
- C.TIME_UNSET if the track may not be excluded.
+
loadErrorInfo - The load error info.
+
loadErrorHandlingPolicy - The load error handling policy to customize the behaviour of
+ handling the load error.
Returns:
Whether the load should be canceled so that a replacement chunk can be loaded instead.
Must be false if cancelable is false. If true, ChunkSource.getNextChunk(long, long, List, ChunkHolder) will be called to obtain the replacement
@@ -687,6 +690,7 @@ implements Format trackFormat,
int trackSelectionReason,
Object trackSelectionData,
+ @Nullable
RangedUri initializationUri,
RangedUri indexUri)
diff --git a/docs/doc/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerTrackEmsgHandler.html b/docs/doc/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerTrackEmsgHandler.html
index f8ba12a0bb..c7ebfc03cf 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerTrackEmsgHandler.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.PlayerTrackEmsgHandler.html
@@ -255,7 +255,7 @@ implements TrackOutput.CryptoData encryptionData)
cacheKey - An optional key to be returned from getCacheKey(), or null. This
diff --git a/docs/doc/reference/com/google/android/exoplayer2/source/dash/manifest/package-summary.html b/docs/doc/reference/com/google/android/exoplayer2/source/dash/manifest/package-summary.html
index 743d796453..e75df2743c 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/source/dash/manifest/package-summary.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/source/dash/manifest/package-summary.html
@@ -110,121 +110,127 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Notifies the extractor that a seek has occurred.
-
- Following a call to this method, the ExtractorInput passed to the next invocation of
+
+
Following a call to this method, the ExtractorInput passed to the next invocation of
Extractor.read(ExtractorInput, PositionHolder) is required to provide data starting from
position in the stream. Valid random access positions are the start of the stream and
positions that can be obtained from any SeekMap passed to the ExtractorOutput.
@@ -254,7 +262,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
meaning all the segments referenced by the playlist are expected to be available.
Must be called from the playback thread. A tracker may be restarted after a stop()
@@ -335,7 +343,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
initialPlaylistUri - Uri of the HLS stream. Can point to a media playlist or a master
playlist.
eventDispatcher - A dispatcher to notify of events.
-
listener - A callback for the primary playlist change events.
+
primaryPlaylistListener - A callback for the primary playlist change events.
+ test will assert that the total time spent playing the media was within MAX_PLAYING_TIME_DISCREPANCY_MS of the specified value. EXPECTED_PLAYING_TIME_MEDIA_DURATION_MS should be passed to assert that the expected
+ playing time equals the duration of the media being played. Else EXPECTED_PLAYING_TIME_UNSET should be passed to indicate that the test should not assert
+ an expected playing time.
failOnPlayerError - Whether a player error should be considered a test failure.
expectedPlayerEndedCount - The number of times the player is expected to reach the ended
diff --git a/docs/doc/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html b/docs/doc/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html
index 593d9bcbe5..998861c593 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/testutil/ExoPlayerTestRunner.html
@@ -322,7 +322,7 @@ implements
Called when an error occurs. The playback state will transition to Player.STATE_IDLE
immediately after this method is called. The player instance can still be used, and Player.release() must still be called on the player should it no longer be required.
+ other events that happen in the same Looper message queue iteration.
+
+
Implementations of Player may pass an instance of a subclass of PlaybackException
+ to this method in order to include more information about the error.
chunk - The chunk whose load encountered the error.
cancelable - Whether the load can be canceled.
-
e - The error.
-
exclusionDurationMs - The duration for which the associated track may be excluded, or
- C.TIME_UNSET if the track may not be excluded.
+
loadErrorInfo - The load error info.
+
loadErrorHandlingPolicy - The load error handling policy to customize the behaviour of
+ handling the load error.
Returns:
Whether the load should be canceled so that a replacement chunk can be loaded instead.
Must be false if cancelable is false. If true, ChunkSource.getNextChunk(long, long, List, ChunkHolder) will be called to obtain the replacement
diff --git a/docs/doc/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html b/docs/doc/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html
index 1cb569ee92..6d51868425 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/testutil/FakeDataSet.FakeData.html
@@ -355,8 +355,7 @@ public final
Appends a data segment of the specified length. No actual data is available and the
- FakeDataSource will perform no copy operations when this data is read.
+
Appends a data segment of the specified length. No actual data is available and the FakeDataSource will perform no copy operations when this data is read.
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.html b/docs/doc/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.html
index c1ca45fdfd..7db177ca98 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/testutil/FakeExtractorInput.html
@@ -274,7 +274,7 @@ implements
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
Registers a listener to receive all events from the player.
+
Registers a listener to receive all events from the player.
+
+
The listener's methods will be called on the thread that was used to construct the player.
+ However, if the thread used to construct the player does not have a Looper, then the
+ listener will be called on the main thread.
Registers a listener to receive events from the player. The listener's methods will be called
- on the thread that was used to construct the player. However, if the thread used to construct
- the player does not have a Looper, then the listener will be called on the main thread.
+
Registers a listener to receive events from the player.
+
+
The listener's methods will be called on the thread that was used to construct the player.
+ However, if the thread used to construct the player does not have a Looper, then the
+ listener will be called on the main thread.
Returns the error that caused playback to fail. This is the same error that will have been
- reported via Player.Listener.onPlayerError(ExoPlaybackException) at the time of failure. It
- can be queried using this method until the player is re-prepared.
-
-
Returns the current static metadata for the track selections.
-
-
The returned metadataList is an immutable list of Metadata instances, where
- the elements correspond to the current track selections,
- or an empty list if there are no track selections or the selected tracks contain no static
- metadata.
-
-
This metadata is considered static in that it comes from the tracks' declared Formats,
- rather than being timed (or dynamic) metadata, which is represented within a metadata track.
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
initializationData - The initialization data for the decoder. The initialization data
- must consist of a single byte array containing 5 bytes: flag_pes_stripped (1),
- composition_page (2), ancillary_page (2).
+
initializationData - The initialization data for the decoder. The initialization data must
+ consist of a single byte array containing 5 bytes: flag_pes_stripped (1), composition_page
+ (2), ancillary_page (2).
Maximum allowed video width in pixels. The default value is Integer.MAX_VALUE (i.e.
- no constraint).
-
-
To constrain adaptive video track selections to be suitable for a given viewport (the
- region of the display within which video will be played), use (viewportWidth, viewportHeight and viewportOrientationMayChange) instead.
Maximum allowed video height in pixels. The default value is Integer.MAX_VALUE (i.e.
- no constraint).
-
-
To constrain adaptive video track selections to be suitable for a given viewport (the
- region of the display within which video will be played), use (viewportWidth, viewportHeight and viewportOrientationMayChange) instead.
Viewport width in pixels. Constrains video track selections for adaptive content so that only
- tracks suitable for the viewport are selected. The default value is the physical width of the
- primary display, in pixels.
Viewport height in pixels. Constrains video track selections for adaptive content so that
- only tracks suitable for the viewport are selected. The default value is the physical height
- of the primary display, in pixels.
Whether the viewport orientation may change during playback. Constrains video track
- selections for adaptive content so that only tracks suitable for the viewport are selected.
- The default value is true.
forceHighestSupportedBitrate - Whether to force selection of the highest bitrate audio
and video tracks.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html b/docs/doc/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html
index 219e7556e9..e36472f387 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.html
@@ -148,7 +148,7 @@ extends A default TrackSelector suitable for most use cases. Track selections are made according
to configurable DefaultTrackSelector.Parameters, which can be set by calling setParameters(Parameters).
-
Track selection overrides can be used to select specific tracks. To specify an override for a
renderer, it's first necessary to obtain the tracks that have been mapped to it:
@@ -208,7 +208,7 @@ extends DefaultTrackSelector.ParametersBuilder.setRendererDisabled(int, boolean). Disabling a
renderer differs from setting a null override because the renderer is disabled
unconditionally, whereas a null override is applied only when the track groups available
to the renderer match the TrackGroupArray for which it was specified.
-
Maximum allowed video width in pixels. The default value is Integer.MAX_VALUE (i.e. no
+ constraint).
+
+
To constrain adaptive video track selections to be suitable for a given viewport (the region
+ of the display within which video will be played), use (viewportWidth, viewportHeight and viewportOrientationMayChange) instead.
Maximum allowed video height in pixels. The default value is Integer.MAX_VALUE (i.e. no
+ constraint).
+
+
To constrain adaptive video track selections to be suitable for a given viewport (the region
+ of the display within which video will be played), use (viewportWidth, viewportHeight and viewportOrientationMayChange) instead.
Viewport width in pixels. Constrains video track selections for adaptive content so that only
+ tracks suitable for the viewport are selected. The default value is the physical width of the
+ primary display, in pixels.
Viewport height in pixels. Constrains video track selections for adaptive content so that only
+ tracks suitable for the viewport are selected. The default value is the physical height of the
+ primary display, in pixels.
Whether the viewport orientation may change during playback. Constrains video track selections
+ for adaptive content so that only tracks suitable for the viewport are selected. The default
+ value is true.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/trackselection/TrackSelector.html b/docs/doc/reference/com/google/android/exoplayer2/trackselection/TrackSelector.html
index 2cd9c3ad25..78f23a7318 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/trackselection/TrackSelector.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/trackselection/TrackSelector.html
@@ -139,7 +139,7 @@ extends Renderers. The DefaultTrackSelector implementation should be
suitable for most use cases.
-
Gets the large icon for the current media item.
+
+
When a bitmap needs to be loaded asynchronously, a placeholder bitmap (or null) should be
+ returned. The actual bitmap should be passed to the PlayerNotificationManager.BitmapCallback once it has been
+ loaded. Because the adapter may be called multiple times for the same media item, bitmaps
+ should be cached by the app and returned synchronously when possible.
+
+
See NotificationCompat.Builder.setLargeIcon(Bitmap).
The large icon for the current media item, or null if the icon will be returned
+ through the PlayerNotificationManager.BitmapCallback or if no icon should be displayed.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/ui/PlayerControlView.html b/docs/doc/reference/com/google/android/exoplayer2/ui/PlayerControlView.html
index 25670a93bb..587cdfab2b 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/ui/PlayerControlView.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/ui/PlayerControlView.html
@@ -25,7 +25,7 @@
catch(err) {
}
//-->
-var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":42,"i17":42,"i18":10,"i19":10,"i20":10,"i21":42,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10};
+var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":42,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -156,7 +156,7 @@ extends Corresponding method: setShowNextButton(boolean)
Default: true
-
rewind_increment - The duration of the rewind applied when the user taps the
- rewind button, in milliseconds. Use zero to disable the rewind button.
-
repeat_toggle_modes - A flagged enumeration value specifying which repeat
mode toggle options are enabled. Valid values are: none, one, all,
or one|all.
@@ -228,7 +217,7 @@ extends exo_controls_vr - The VR icon.
-
The large icon for the current media item, or null if the icon will be returned
+ through the PlayerNotificationManager.BitmapCallback or if no icon should be displayed.
fastForwardIncrementMs - Sets the fast forward increment. If set to zero the
- fast forward action is not used.
+
useRewindActionInCompactView - If useRewindAction is true,
+ sets whether the rewind action is also used in compact view (including the lock screen
+ notification). Else does nothing.
useFastForwardActionInCompactView - If useFastForwardAction is
+ true, sets whether the fast forward action is also used in compact view (including
+ the lock screen notification). Else does nothing.
+
usePreviousAction - Whether the previous action is used.
@@ -193,7 +205,7 @@ extends
-
Overriding drawables
+
Overriding drawables
The drawables used by PlayerNotificationManager can be overridden by drawables with the same
names defined in your application. The drawables that can be overridden are:
@@ -361,71 +373,6 @@ extends
-
-
-
public void setUseFastForwardActionInCompactView(boolean useFastForwardActionInCompactView)
+
Sets whether the fast forward action should also be used in compact view. Has no effect if
+ ACTION_FAST_FORWARD is not enabled, for instance if the media is not seekable.
+
+
public void setUseRewindActionInCompactView(boolean useRewindActionInCompactView)
+
Sets whether the rewind action should also be used in compact view. Has no effect if ACTION_REWIND is not enabled, for instance if the media is not seekable.
+
+
useRewindActionInCompactView - Whether to use the rewind action in compact view.
@@ -1305,7 +1008,7 @@ public final void setUseNavigationActionsInCompactView(boolean&
See NotificationCompat.Builder.setPriority(int).
-
To set the priority for API levels above 25, you can create your own NotificationChannel with a given importance level and pass the id of the channel to the constructor.
+
priority - The priority which can be one of NotificationCompat.PRIORITY_DEFAULT,
@@ -1521,13 +1224,13 @@ protected androidx.core.app.NotificationCompat.Builder createNotificat
diff --git a/docs/doc/reference/com/google/android/exoplayer2/ui/PlayerView.html b/docs/doc/reference/com/google/android/exoplayer2/ui/PlayerView.html
index 5f384e4a6e..32ad6bbfb1 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/ui/PlayerView.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/ui/PlayerView.html
@@ -25,7 +25,7 @@
catch(err) {
}
//-->
-var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":42,"i35":10,"i36":42,"i37":10,"i38":10,"i39":10,"i40":42,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":9};
+var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":42,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -158,7 +158,7 @@ implements PlayerControlView (with its default layout file) can be overridden
by drawables with the same names defined in your application. See the PlayerControlView
documentation for a list of drawables that can be overridden.
-
Overriding the layout file
+
Overriding the layout file
To customize the layout of PlayerView throughout your app, or just for certain configurations,
you can define exo_player_view.xml layout files in your application res/layout*
@@ -321,7 +321,7 @@ implements void
The SurfaceView, TextureView, SphericalGLSurfaceView,
+ VideoDecoderGLSurfaceView or null.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.html b/docs/doc/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.html
index 7b7670c576..b7f8440598 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/ui/StyledPlayerControlView.html
@@ -25,7 +25,7 @@
catch(err) {
}
//-->
-var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":42,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10};
+var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":42,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -156,7 +156,7 @@ extends Corresponding method: setShowNextButton(boolean)
Default: true
-
rewind_increment - The duration of the rewind applied when the user taps the
- rewind button, in milliseconds. Use zero to disable the rewind button.
-
repeat_toggle_modes - A flagged enumeration value specifying which repeat
mode toggle options are enabled. Valid values are: none, one, all,
or one|all.
@@ -239,7 +228,7 @@ extends exo_styled_controls_vr - The VR icon.
-
To customize the layout of StyledPlayerView throughout your app, or just for certain
configurations, you can define exo_styled_player_view.xml layout files in your
@@ -320,7 +320,7 @@ implements void
Sets the bottom padding fraction to apply when Cue.line is Cue.DIMEN_UNSET,
- as a fraction of the view's remaining height after its top and bottom padding have been
+
Sets the bottom padding fraction to apply when Cue.line is Cue.DIMEN_UNSET, as
+ a fraction of the view's remaining height after its top and bottom padding have been
subtracted.
Sets whether styling embedded within the cues should be applied. Enabled by default. Overrides
+ any setting made with setApplyEmbeddedFontSizes(boolean).
Parameters:
applyEmbeddedStyles - Whether styling embedded within the cues should be applied.
Sets whether font sizes embedded within the cues should be applied. Enabled by default. Only
+ takes effect if setApplyEmbeddedStyles(boolean) is set to true.
Parameters:
applyEmbeddedFontSizes - Whether font sizes embedded within the cues should be applied.
Sets the bottom padding fraction to apply when Cue.line is Cue.DIMEN_UNSET, as
+ a fraction of the view's remaining height after its top and bottom padding have been
subtracted.
-
- Note that this padding is applied in addition to any standard view padding.
+
+
Note that this padding is applied in addition to any standard view padding.
Parameters:
bottomPaddingFraction - The bottom padding fraction.
Sets the position increment for key presses and accessibility actions, as a number of
increments that divide the duration of the media. For example, passing 20 will cause key
presses to increment/decrement the position by 1/20th of the duration (if known).
-
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSource.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSource.html
index 275afde9ab..56f00b099c 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/ByteArrayDataSource.html
@@ -224,7 +224,7 @@ extends int
read(byte[] buffer,
int offset,
- int readLength)
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html
index e4912b3fc7..320abc8c2a 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/ContentDataSource.ContentDataSourceException.html
@@ -81,7 +81,7 @@ loadScripts(document, 'script');
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/DataReader.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/DataReader.html
index 2765d2c20f..bd12cb1e6f 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/DataReader.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/DataReader.html
@@ -153,7 +153,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/DataSource.Factory.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/DataSource.Factory.html
index 445d3edadc..a45a92bf78 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/DataSource.Factory.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/DataSource.Factory.html
@@ -126,7 +126,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Optional call to open the underlying DataSource.
-
- Calling this method does nothing if the DataSource is already open. Calling this
+
+
Calling this method does nothing if the DataSource is already open. Calling this
method is optional, since the read and skip methods will automatically open the underlying
DataSource if it's not open already.
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html
index 4101cc270e..b72dd71210 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.Factory.html
@@ -25,7 +25,7 @@
catch(err) {
}
//-->
-var data = {"i0":10,"i1":42,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var data = {"i0":10,"i1":42,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -230,19 +230,27 @@ implements
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy.html
index 1149d29b83..34cff85ae8 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/DefaultLoadErrorHandlingPolicy.html
@@ -25,7 +25,7 @@
catch(err) {
}
//-->
-var data = {"i0":10,"i1":10,"i2":10};
+var data = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -155,7 +155,7 @@ implements LoadErrorHandlingPolicy
-LoadErrorHandlingPolicy.LoadErrorInfo
+LoadErrorHandlingPolicy.FallbackOptions, LoadErrorHandlingPolicy.FallbackSelection, LoadErrorHandlingPolicy.FallbackType, LoadErrorHandlingPolicy.LoadErrorInfo
@@ -175,13 +175,20 @@ implements Description
Returns whether a loader should fall back to using another resource on encountering an error,
+ and if so the duration for which the failing resource should be excluded.
Returns whether a loader should fall back to using another resource on encountering an error,
+ and if so the duration for which the failing resource should be excluded.
+
+
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/FileDataSource.FileDataSourceException.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/FileDataSource.FileDataSourceException.html
index aee4749d9f..59154b326d 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/FileDataSource.FileDataSourceException.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/FileDataSource.FileDataSourceException.html
@@ -81,7 +81,7 @@ loadScripts(document, 'script');
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html
index 0d93c61837..9d939ad1c3 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.CleartextNotPermittedException.html
@@ -124,6 +124,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
public static final class HttpDataSource.RequestProperties
extends Object
-
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers
- in a thread safe way to avoid the potential of creating snapshots of an inconsistent or
- unintended state.
+
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers in
+ a thread safe way to avoid the potential of creating snapshots of an inconsistent or unintended
+ state.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html
index 5da301039f..2c98063ba6 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html
@@ -198,9 +198,9 @@ extends static class
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers
- in a thread safe way to avoid the potential of creating snapshots of an inconsistent or
- unintended state.
+
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers in
+ a thread safe way to avoid the potential of creating snapshots of an inconsistent or unintended
+ state.
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.FallbackOptions.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.FallbackOptions.html
new file mode 100644
index 0000000000..319d46499b
--- /dev/null
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/LoadErrorHandlingPolicy.FallbackOptions.html
@@ -0,0 +1,416 @@
+
+
+
+
+LoadErrorHandlingPolicy.FallbackOptions (ExoPlayer library)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Defines how errors encountered by loaders are handled.
+
A policy that defines how load errors are handled.
-
A loader that can choose between one of a number of resources can exclude a resource when a
- load error occurs. In this case, getBlacklistDurationMsFor(int, long, IOException, int)
- defines whether the resource should be excluded. Exclusion will succeed unless all of the
- alternatives are already excluded.
+
Some loaders are able to choose between a number of alternate resources. Such loaders will
+ call getFallbackSelectionFor(FallbackOptions, LoadErrorInfo) when a load error occurs.
+ The LoadErrorHandlingPolicy.FallbackSelection returned by the policy defines whether the loader should fall back
+ to using another resource, and if so the duration for which the failing resource should be
+ excluded.
-
When fallback does not take place, a loader will call getRetryDelayMsFor(LoadErrorInfo). The value returned by the policy defines whether the failed
+ load can be retried, and if so the duration to wait before retrying. If the policy indicates that
+ a load error should not be retried, it will be considered fatal by the loader. The loader may
+ also consider load errors that can be retried fatal if at least getMinimumLoadableRetryCount(int) retries have been attempted.
Fallback to a different track (i.e., a different representation of the same content; for
+ example the same video encoded at a different bitrate or resolution).
Returns whether a loader should fall back to using another resource on encountering an error,
+ and if so the duration for which the failing resource should be excluded.
Returns the number of milliseconds for which a resource associated to a provided load error
- should be excluded, or C.TIME_UNSET if the resource should not be excluded.
Fallback to a different track (i.e., a different representation of the same content; for
+ example the same video encoded at a different bitrate or resolution).
Returns the number of milliseconds for which a resource associated to a provided load error
- should be excluded, or C.TIME_UNSET if the resource should not be excluded.
Returns whether a loader should fall back to using another resource on encountering an error,
+ and if so the duration for which the failing resource should be excluded.
+
+
Returns whether a loader can retry on encountering an error, and if so the duration to wait
+ before retrying. A return value of C.TIME_UNSET indicates that the error is fatal and
+ should not be retried.
-
Loaders may ignore the retry delay returned by this method in order to wait for a specific
- event before retrying. However, the load is retried if and only if this method does not return
- C.TIME_UNSET.
+
For loads that can be retried, loaders may ignore the retry delay returned by this method in
+ order to wait for a specific event before retrying.
Throws a fatal error, or a non-fatal error if loading is currently backed off and the current
- Loader.Loadable has incurred a number of errors greater than the specified minimum number
- of retries.
+ Loader.Loadable has incurred a number of errors greater than the specified minimum number of
+ retries.
Throws a fatal error, or a non-fatal error if loading is currently backed off and the current
- Loader.Loadable has incurred a number of errors greater than the specified minimum number
- of retries. Else does nothing.
+ Loader.Loadable has incurred a number of errors greater than the specified minimum number of
+ retries. Else does nothing.
Throws a fatal error, or a non-fatal error if loading is currently backed off and the current
- Loader.Loadable has incurred a number of errors greater than the specified minimum number
- of retries.
+ Loader.Loadable has incurred a number of errors greater than the specified minimum number of
+ retries.
Throws a fatal error, or a non-fatal error if loading is currently backed off and the current
- Loader.Loadable has incurred a number of errors greater than the specified minimum number
- of retries. Else does nothing.
+ Loader.Loadable has incurred a number of errors greater than the specified minimum number of
+ retries. Else does nothing.
Throws a fatal error, or a non-fatal error if loading is currently backed off and the current
- Loader.Loadable has incurred a number of errors greater than the specified minimum number
- of retries.
+ Loader.Loadable has incurred a number of errors greater than the specified minimum number of
+ retries.
Throws a fatal error, or a non-fatal error if loading is currently backed off and the current
- Loader.Loadable has incurred a number of errors greater than the specified minimum number
- of retries. Else does nothing.
+ Loader.Loadable has incurred a number of errors greater than the specified minimum number of
+ retries. Else does nothing.
Parameters:
minRetryCount - A minimum retry count that must be exceeded for a non-fatal error to be
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/PriorityDataSource.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/PriorityDataSource.html
index 53fed6430d..03587a0e21 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/PriorityDataSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/PriorityDataSource.html
@@ -246,7 +246,7 @@ implements int
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.RawResourceDataSourceException.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.RawResourceDataSourceException.html
index 465cea787f..2c3b178c47 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.RawResourceDataSourceException.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/RawResourceDataSource.RawResourceDataSourceException.html
@@ -81,7 +81,7 @@ loadScripts(document, 'script');
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.html
index 832e55d834..780b84da36 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/ResolvingDataSource.html
@@ -251,7 +251,7 @@ implements int
read(byte[] buffer,
int offset,
- int readLength)
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/StatsDataSource.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/StatsDataSource.html
index 9df21501ab..018b034925 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/StatsDataSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/StatsDataSource.html
@@ -259,7 +259,7 @@ implements int
read(byte[] buffer,
int offset,
- int readLength)
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/TeeDataSource.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/TeeDataSource.html
index 902e8cc256..576ff633f6 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/TeeDataSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/TeeDataSource.html
@@ -236,7 +236,7 @@ implements int
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/TransferListener.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/TransferListener.html
index 315a0c04e1..229d37e391 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/TransferListener.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/TransferListener.html
@@ -268,7 +268,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
source - The source performing the transfer.
dataSpec - Describes the data being transferred.
isNetwork - Whether the data is transferred through a network.
-
bytesTransferred - The number of bytes transferred since the previous call to this method
+
bytesTransferred - The number of bytes transferred since the previous call to this method.
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/Cache.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/Cache.html
index 672be10437..f8066092e4 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/Cache.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/Cache.html
@@ -128,7 +128,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
public interface Cache
A cache that supports partial caching of resources.
-
Terminology
+
Terminology
A resource is a complete piece of logical data, for example a complete media file.
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.html
index 8532667830..2e10970677 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSource.html
@@ -371,7 +371,7 @@ implements int
read(byte[] buffer,
int offset,
- int readLength)
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/CachedRegionTracker.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/CachedRegionTracker.html
index 81c6b25159..f3118b479a 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/CachedRegionTracker.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/cache/CachedRegionTracker.html
@@ -213,8 +213,8 @@ implements int
When provided with a byte offset, this method locates the cached region within which the
- offset falls, and returns the approximate end position in milliseconds of that region.
+
When provided with a byte offset, this method locates the cached region within which the offset
+ falls, and returns the approximate end position in milliseconds of that region.
When provided with a byte offset, this method locates the cached region within which the offset
+ falls, and returns the approximate end position in milliseconds of that region. If the byte
+ offset does not fall within a cached region then NOT_CACHED is returned. If the cached
+ region extends to the end of the stream, CACHED_TO_END is returned.
Parameters:
byteOffset - The byte offset in the underlying stream.
data - A target array into which data should be written.
+
buffer - A target array into which data should be written.
offset - The offset into the target array at which to write.
-
readLength - The maximum number of bytes to read from the input.
+
length - The maximum number of bytes to read from the input.
Returns:
The number of bytes read, or C.RESULT_END_OF_INPUT if the input has ended. This
may be less than length because the end of the input (or available data) was
diff --git a/docs/doc/reference/com/google/android/exoplayer2/upstream/package-summary.html b/docs/doc/reference/com/google/android/exoplayer2/upstream/package-summary.html
index c52a2571dc..afe9b51fbf 100644
--- a/docs/doc/reference/com/google/android/exoplayer2/upstream/package-summary.html
+++ b/docs/doc/reference/com/google/android/exoplayer2/upstream/package-summary.html
@@ -190,7 +190,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers
- in a thread safe way to avoid the potential of creating snapshots of an inconsistent or
- unintended state.
+
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers in
+ a thread safe way to avoid the potential of creating snapshots of an inconsistent or unintended
+ state.
Start a new write operation on the file. This returns an OutputStream to which you can
write the new file data. If the whole data is written successfully you must call
- endWrite(OutputStream). On failure you should call OutputStream.close()
- only to free up resources used by it.
+ endWrite(OutputStream). On failure you should call OutputStream.close() only
+ to free up resources used by it.
Example usage:
diff --git a/docs/doc/reference/com/google/android/exoplayer2/util/BundleableUtils.html b/docs/doc/reference/com/google/android/exoplayer2/util/BundleableUtils.html
new file mode 100644
index 0000000000..74e3ce1859
--- /dev/null
+++ b/docs/doc/reference/com/google/android/exoplayer2/util/BundleableUtils.html
@@ -0,0 +1,370 @@
+
+
+
+
The metadata is considered static in the sense that it comes from the tracks' declared
- Formats, rather than being timed (or dynamic) metadata, which is represented within a metadata
- track.
count - The number of dropped frames since the last call to this method.
+
droppedFrames - The number of dropped frames since the last call to this method.
elapsedMs - The duration in milliseconds over which the frames were dropped. This duration
is timed from when the renderer was started or from when dropped frames were last reported
(whichever was more recent), and not from when the first of the reported drops occurred.
This method being called does not indicate that playback has failed, or that it will fail.
The player may be able to recover from the error. Hence applications should not
implement this method to display a user visible error or initiate an application level retry.
- Player.Listener.onPlayerError(com.google.android.exoplayer2.ExoPlaybackException) is the appropriate place to implement such behavior. This
+ Player.Listener.onPlayerError(com.google.android.exoplayer2.PlaybackException) is the appropriate place to implement such behavior. This
method is called to provide the application with an opportunity to log the error if it wishes
to do so.
Offsets timestamps according to an initial sample timestamp offset. MPEG-2 TS timestamps scaling
- and adjustment is supported, taking into account timestamp rollover.
+
Adjusts and offsets sample timestamps. MPEG-2 TS timestamps scaling and adjustment is supported,
+ taking into account timestamp rollover.
Returns the value of the first adjusted sample timestamp in microseconds, or DO_NOT_OFFSET if timestamps will not be offset.
+
Returns the value of the first adjusted sample timestamp in microseconds, or C.TIME_UNSET if timestamps will not be offset or if the adjuster is in shared mode.
+ microseconds, or MODE_NO_OFFSET if timestamps should not be offset, or MODE_SHARED if the adjuster will be used in shared mode.
@@ -352,32 +386,26 @@ extends
For shared timestamp adjusters, performs necessary initialization actions for a caller.
-
If the adjuster does not yet have a target first sample
- timestamp and if canInitialize is true, then initialization is started
- by setting the target first sample timestamp to firstSampleTimestampUs. The call
- returns, allowing the caller to proceed. Initialization completes when a caller adjusts
- the first timestamp.
-
If canInitialize is true and the adjuster already has a target first sample timestamp, then the call returns to allow the
- caller to proceed only if firstSampleTimestampUs is equal to the target. This
- ensures a caller that's previously started initialization can continue to proceed. It
- also allows other callers with the same firstSampleTimestampUs to proceed, since
- in this case it doesn't matter which caller adjusts the first timestamp to complete
- initialization.
-
If canInitialize is false or if firstSampleTimestampUs differs
- from the target first sample timestamp, then the call
- blocks until initialization completes. If initialization has already been completed the
- call returns immediately.
+
If the adjuster has already established a timestamp offset
+ then this method is a no-op.
+
If canInitialize is true and the adjuster has not yet established a
+ timestamp offset, then the adjuster records the desired first sample timestamp for the
+ calling thread and returns to allow the caller to proceed. If the timestamp offset has
+ still not been established when the caller attempts to adjust its first timestamp, then
+ the recorded timestamp is used to set it.
+
If canInitialize is false and the adjuster has not yet established a
+ timestamp offset, then the call blocks until the timestamp offset is set.
Parameters:
canInitialize - Whether the caller is able to initialize the adjuster, if needed.
-
startTimeUs - The desired first sample timestamp of the caller, in microseconds. Only used
- if canInitialize is true.
+
nextSampleTimestampUs - The desired timestamp for the next sample loaded by the calling
+ thread, in microseconds. Only used if canInitialize is true.
Throws:
InterruptedException - If the thread is interrupted whilst blocked waiting for
initialization to complete.
Returns the value of the first adjusted sample timestamp in microseconds, or C.TIME_UNSET if timestamps will not be offset or if the adjuster is in shared mode.
Returns the last adjusted timestamp, in microseconds. If no timestamps have been adjusted yet
+ then the result of getFirstSampleTimestampUs() is returned.
The offset between adjustSampleTimestamp(long)'s input and output. C.TIME_UNSET if the adjuster is not yet initialized and 0 if timestamps should not be
- offset.
Returns the index of the largest element in array that is less than (or optionally
equal to) a specified value.
-
- The search is performed using a binary search algorithm, so the array must be sorted. If the
+
+
The search is performed using a binary search algorithm, so the array must be sorted. If the
array contains multiple elements equal to value and inclusive is true, the
index of the first one will be returned.
For simplicity, this only handles common characters known to be illegal on FAT32: <,
+ >, :, ", /, \, |, ?, and *. % is also escaped since it is used as the escape character.
+ Escaping is performed in a consistent way so that no collisions occur and unescapeFileName(String) can be used to retrieve the original file name.
@Pure
+@ColorSpace
+public static int isoColorPrimariesToColorSpace(int isoColorPrimaries)
+
Returns the C.ColorSpace corresponding to the given ISO color primary code, as per
+ table A.7.21.1 in Rec. ITU-T T.832 (03/2009), or Format.NO_VALUE if no mapping can be
+ made.
@Pure
+@ColorTransfer
+public static int isoTransferCharacteristicsToColorTransfer(int isoTransferCharacteristics)
+
Returns the C.ColorTransfer corresponding to the given ISO transfer characteristics
+ code, as per table A.7.21.2 in Rec. ITU-T T.832 (03/2009), or Format.NO_VALUE if no
+ mapping can be made.
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
Whether the renderer is able to immediately render media from the current position.
-
- If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that the
- renderer has everything that it needs to continue playback. Returning false indicates that
+
+
If the renderer is in the Renderer.STATE_STARTED state then returning true indicates that
+ the renderer has everything that it needs to continue playback. Returning false indicates that
the player should pause until the renderer is ready.
-
- If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that the
- renderer is ready for playback to be started. Returning false indicates that it is not.
-
If the renderer is in the Renderer.STATE_ENABLED state then returning true indicates that
+ the renderer is ready for playback to be started. Returning false indicates that it is not.
+
+
Use DataSpec.position except for specific use cases where the absolute position
@@ -452,6 +497,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
position is required, use uriPositionOffset + position.
Use a ForwardingPlayer and pass it to the constructor instead. You can also
+ customize some operations when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
Use a ForwardingPlayer and pass it to the constructor instead. You can also
+ customize some operations when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
Use a ForwardingPlayer and pass it to MediaSessionConnector.setPlayer(Player) instead.
+ You can also customize some operations when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
Disabling the enforcement can result in hard-to-detect bugs. Do not use this method
except to ease the transition while wrong thread access problems are fixed.
Checks whether the given FLAC frame header is valid and, if so, writes the frame first sample
@@ -3897,8 +3960,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Clears the SurfaceHolder that holds the Surface onto which video is being
@@ -4049,6 +4121,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns a list of arrays containing ExtractorAsserts.SimulationConfig objects to exercise different
@@ -4906,9 +5017,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Player implementations that want to surface custom errors can use error codes greater than this
+ value, so as to avoid collision with other error codes defined in this class.
Caused by the player trying to access cleartext HTTP traffic (meaning http:// rather than
+ https://) when the app's Network Security Configuration does not permit it.
Enables skipping and continuing playback from the next key frame if a sample is encountered
- that's too large to fit into one of the decoder's input buffers.
Fallback to a different track (i.e., a different representation of the same content; for
+ example the same video encoded at a different bitrate or resolution).
Returns the Looper associated with the application thread that's used to access the
@@ -12655,6 +13174,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns the number of milliseconds for which a resource associated to a provided load error
- should be excluded, or C.TIME_UNSET if the resource should not be excluded.
Returns an estimate of the percentage in the current content window or ad up to which data is
@@ -12816,6 +13327,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns an estimate of the position in the current content window or ad up to which data is
@@ -13123,6 +13636,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
If Player.isPlayingAd() returns true, returns an estimate of the content position in
@@ -13134,6 +13649,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
If Player.isPlayingAd() returns true, returns the duration of the current content
@@ -13156,6 +13673,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
If Player.isPlayingAd() returns true, returns the content position that will be
@@ -13165,6 +13684,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
If Player.isPlayingAd() returns true, returns the index of the ad group in the period
@@ -13229,6 +13751,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns the offset of the current playback position from the live edge in milliseconds, or
@@ -13300,6 +13834,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns the playback position in the current content window or ad, in milliseconds, or the
@@ -13359,35 +13901,37 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns a pair consisting of an error code and a user readable error message for the given
@@ -13873,8 +14448,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns an ExtractorInput to read from the given input at given position.
Returns whether a loader should fall back to using another resource on encountering an error,
+ and if so the duration for which the failing resource should be excluded.
Returns whether a loader should fall back to using another resource on encountering an error,
+ and if so the duration for which the failing resource should be excluded.
Returns the value of the first adjusted sample timestamp in microseconds, or TimestampAdjuster.DO_NOT_OFFSET if timestamps will not be offset.
+
Returns the value of the first adjusted sample timestamp in microseconds, or C.TIME_UNSET if timestamps will not be offset or if the adjuster is in shared mode.
Returns a RangedUri defining the location of the representation's segment index, or
@@ -14246,7 +14836,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns the current combined MediaMetadata, or MediaMetadata.EMPTY if not
@@ -14669,6 +15278,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns the index of the window that will be played if Player.next() is called, which may
- depend on the current repeat mode and whether shuffle mode is enabled.
+
Returns the index of the window that will be played if Player.seekToNextWindow() is called,
+ which may depend on the current repeat mode and whether shuffle mode is enabled.
Returns the reason why playback is suppressed even though Player.getPlayWhenReady() is
@@ -15243,8 +15869,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns the player currently set on this view, or null if no player is set.
Returns the index of the window that will be played if Player.previous() is called, which may
- depend on the current repeat mode and whether shuffle mode is enabled.
+
Returns the index of the window that will be played if Player.seekToPreviousWindow() is
+ called, which may depend on the current repeat mode and whether shuffle mode is enabled.
Returns the renderer time up to which the renderer has read samples from the current SampleStream, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the
- current SampleStream to the end.
+
Returns the renderer time up to which the renderer has read samples, in microseconds, or C.TIME_END_OF_SOURCE if the renderer has read the current SampleStream to the end.
When provided with a byte offset, this method locates the cached region within which the
- offset falls, and returns the approximate end position in milliseconds of that region.
+
When provided with a byte offset, this method locates the cached region within which the offset
+ falls, and returns the approximate end position in milliseconds of that region.
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers
- in a thread safe way to avoid the potential of creating snapshots of an inconsistent or
- unintended state.
+
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers in
+ a thread safe way to avoid the potential of creating snapshots of an inconsistent or unintended
+ state.
Returns whether the current window is dynamic, or false if the Timeline is
@@ -18518,12 +19240,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Returns whether the current window is seekable, or false if the Timeline is
@@ -18541,6 +19267,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
This method is not supported and always returns false.
@@ -20210,6 +20984,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
permission for the specified media items, requesting the permission if
necessary.
Throws a fatal error, or a non-fatal error if loading is currently backed off and the current
- Loader.Loadable has incurred a number of errors greater than the specified minimum number
- of retries.
+ Loader.Loadable has incurred a number of errors greater than the specified minimum number of
+ retries.
The audio sink will prefer offload playback even if this might result in silence gaps between
@@ -22093,6 +22922,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Called when data is removed from the back of a media buffer, typically so that it can be
@@ -24171,9 +25085,23 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Seeks to the given seek time of the stream from the given input, and keeps reading from the
@@ -29129,6 +30241,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Selects the embedded track, returning a new ChunkSampleStream.EmbeddedSampleStream from which the track's
@@ -29355,6 +30473,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Sets the duration in milliseconds for which the player must buffer while preloading an ad
@@ -29659,7 +30797,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Sets the bottom padding fraction to apply when Cue.line is Cue.DIMEN_UNSET,
- as a fraction of the view's remaining height after its top and bottom padding have been
+
Sets the bottom padding fraction to apply when Cue.line is Cue.DIMEN_UNSET, as
+ a fraction of the view's remaining height after its top and bottom padding have been
subtracted.
Sets the factory to create composite SequenceableLoaders for when this media source
@@ -29944,6 +31096,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Sets the factory to create composite SequenceableLoaders for when this media source
loads data from multiple streams (video, audio etc.).
Use a ForwardingPlayer and pass it to the constructor instead. You can also
+ customize some operations when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
Use a ForwardingPlayer and pass it to the constructor instead. You can also
+ customize some operations when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
Use a ForwardingPlayer and pass it to MediaSessionConnector.setPlayer(Player) instead.
+ You can also customize some operations when configuring the player (for example by using
+ SimpleExoPlayer.Builder#setSeekBackIncrementMs(long)).
Clears the playlist, adds the specified MediaItem and resets the position to the
@@ -31224,12 +32433,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Clears the playlist, adds the specified MediaItems and resets the position to
@@ -31247,6 +32462,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Sets the SurfaceHolder that holds the Surface onto which video will be
@@ -33145,6 +34387,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Adapter to get MediaDescriptionCompat of items in the queue and to notify the
- application about changes in the queue to sync the data structure backing the
- MediaSessionConnector.
+ application about changes in the queue to sync the data structure backing the MediaSessionConnector.
The error occurred reading data from a HttpDataSource.
+
TYPE_OTHER - Static variable in class com.google.android.exoplayer2.C
Value returned by Util.inferContentType(String) for files other than DASH, HLS or
@@ -36183,14 +37460,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
The search found only timestamps smaller than the target timestamp.