Finalize release notes for 2.13.0
PiperOrigin-RevId: 355621265
This commit is contained in:
parent
d72d25470d
commit
d08cacd9ba
328
RELEASENOTES.md
328
RELEASENOTES.md
@ -2,194 +2,87 @@
|
||||
|
||||
### dev-v2 (not yet released)
|
||||
|
||||
* New release notes go here!
|
||||
* Core library:
|
||||
* Log a warning when `SingleSampleMediaPeriod` transforms a load error
|
||||
into end-of-stream.
|
||||
* Fall back to AVC/HEVC decoders for Dolby Vision streams with level 10
|
||||
to 13
|
||||
([#8530](https://github.com/google/ExoPlayer/issues/8530)).
|
||||
* UI:
|
||||
* Add builder for `PlayerNotificationManager`.
|
||||
* Extractors:
|
||||
* Fix Vorbis private codec data parsing in the Matroska extractor
|
||||
([#8496](https://github.com/google/ExoPlayer/issues/8496)).
|
||||
* Text:
|
||||
* Add support for the SSA `primaryColour` style attribute
|
||||
([#8435](https://github.com/google/ExoPlayer/issues/8435)).
|
||||
|
||||
### 2.13.0 (not yet released - targeted for 2021-02-TBD)
|
||||
### 2.13.0 (2021-02-04)
|
||||
|
||||
* Core library:
|
||||
* Remove long deprecated symbols:
|
||||
* `AdaptiveMediaSourceEventListener`. Use `MediaSourceEventListener`
|
||||
instead.
|
||||
* `DashMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`DashMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* `DefaultAnalyticsListener`. Use `AnalyticsListener` directly
|
||||
instead.
|
||||
* `DefaultLoadControl` constructors. Use `DefaultLoadControl.Builder`
|
||||
instead.
|
||||
* `DrmInitData.get(UUID)`. Use `DrmInitData.get(int)` and
|
||||
`DrmInitData.SchemeData.matches(UUID)` instead.
|
||||
* `ExtractorsMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`ExtractorsMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* `FixedTrackSelection.Factory`. If you need to disable adaptive
|
||||
selection in `DefaultTrackSelector`, enable the
|
||||
`DefaultTrackSelector.Parameters.forceHighestSupportedBitrate` flag.
|
||||
* `HlsMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`HlsMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* `MappedTrackInfo.getTrackFormatSupport(int, int, int)`. Use
|
||||
`MappedTrackInfo.getTrackSupport(int, int, int)`.
|
||||
* `MappedTrackInfo.getTrackTypeRendererSupport(int)`. Use
|
||||
`MappedTrackInfo.getTypeSupport(int)`.
|
||||
* `MappedTrackInfo.getUnassociatedTrackGroups()`. Use
|
||||
`MappedTrackInfo.getUnmappedTrackGroups()`.
|
||||
* `MappedTrackInfo.length` - Use `MappedTrackInfo.getRendererCount()`
|
||||
instead.
|
||||
* `Player.DefaultEventListener.onTimelineChanged(Timeline, Object)`.
|
||||
Use `Player.EventListener.onTimelineChanged(Timeline, int)` instead.
|
||||
* `Player.setAudioAttributes(AudioAttributes)`. Use
|
||||
`Player.AudioComponent.setAudioAttributes(AudioAttributes, boolean)`
|
||||
instead.
|
||||
* `PlayerView.setDefaultArtwork(Bitmap)`. Use
|
||||
`PlayerView.setDefaultArtwork(Drawable)` instead.
|
||||
* `PlayerView.setShowBuffering(boolean)`. Use
|
||||
`PlayerView.setShowBuffering(int)` instead.
|
||||
* `SimpleExoPlayer.clearMetadataOutput(MetadataOutput)`. Use
|
||||
`SimpleExoPlayer.removeMetadataOutput(MetadataOutput)` instead.
|
||||
* `SimpleExoPlayer.clearTextOutput(TextOutput)`. Use
|
||||
`SimpleExoPlayer.removeTextOutput(TextOutput)` instead.
|
||||
* `SimpleExoPlayer.clearVideoListener()`. Use
|
||||
`SimpleExoPlayer.removeVideoListener(VideoListener)` instead.
|
||||
* `SimpleExoPlayer.getAudioStreamType()`. Use
|
||||
`SimpleExoPlayer.getAudioAttributes()` instead.
|
||||
* `SimpleExoPlayer.setAudioDebugListener(AudioRendererEventListener)`.
|
||||
Use `SimpleExoPlayer.addAnalyticsListener(AnalyticsListener)`
|
||||
instead.
|
||||
* `SimpleExoPlayer.setAudioStreamType(int)`. Use
|
||||
`SimpleExoPlayer.setAudioAttributes(AudioAttributes)` instead.
|
||||
* `SimpleExoPlayer.setMetadataOutput(MetadataOutput)`. Use
|
||||
`SimpleExoPlayer.addMetadataOutput(MetadataOutput)` instead. If your
|
||||
application is calling `SimpleExoPlayer.setMetadataOutput(null)`,
|
||||
make sure to replace this call with
|
||||
`SimpleExoPlayer.removeMetadataOutput(MetadataOutput)`.
|
||||
* `SimpleExoPlayer.setPlaybackParams(PlaybackParams)`. Use
|
||||
`SimpleExoPlayer.setPlaybackParameters(PlaybackParameters)` instead.
|
||||
* `SimpleExoPlayer.setTextOutput(TextOutput)`. Use
|
||||
`SimpleExoPlayer.addTextOutput(TextOutput)` instead. If your
|
||||
application is calling `SimpleExoPlayer.setTextOutput(null)`, make
|
||||
sure to replace this call with
|
||||
`SimpleExoPlayer.removeTextOutput(TextOutput)`.
|
||||
* `SimpleExoPlayer.setVideoDebugListener(VideoRendererEventListener)`.
|
||||
Use `SimpleExoPlayer.addAnalyticsListener(AnalyticsListener)`
|
||||
instead.
|
||||
* `SimpleExoPlayer.setVideoListener(VideoListener)`. Use
|
||||
`SimpleExoPlayer.addVideoListener(VideoListener)` instead. If your
|
||||
application is calling `SimpleExoPlayer.setVideoListener(null)`,
|
||||
make sure to replace this call with
|
||||
`SimpleExoPlayer.removeVideoListener(VideoListener)`.
|
||||
* `SimpleExoPlayer.VideoListener`. Use
|
||||
`com.google.android.exoplayer2.video.VideoListener` instead.
|
||||
* `SingleSampleMediaSource.EventListener` and constructors. Use
|
||||
`MediaSourceEventListener` and `SingleSampleMediaSource.Factory`
|
||||
* `SimpleExoPlayer.addVideoDebugListener`,
|
||||
`SimpleExoPlayer.removeVideoDebugListener`,
|
||||
`SimpleExoPlayer.addAudioDebugListener` and
|
||||
`SimpleExoPlayer.removeAudioDebugListener`. Use
|
||||
`SimpleExoPlayer.addAnalyticsListener` and
|
||||
`SimpleExoPlayer.removeAnalyticsListener` instead.
|
||||
* `AdaptiveMediaSourceEventListener`. Use `MediaSourceEventListener`
|
||||
instead.
|
||||
* `SingleSampleMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`SingleSampleMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* `SsMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`SsMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* Add a `LivePlaybackSpeedControl` component to control the playback speed
|
||||
during live playbacks. This allows the player to stay close to the
|
||||
configured live offset. A configurable default implementation
|
||||
`DefaultLivePlaybackSpeedControl` is added to `ExoPlayer` and
|
||||
`SimpleExoPlayer` by default.
|
||||
* Add `LiveConfiguration` to `MediaItem` to allow media-specific live
|
||||
offset and live playback speed settings. The same settings can be set
|
||||
for all `MediaItems` in `DefaultMediaSourceFactory`.
|
||||
* Add `targetLiveOffsetUs` parameter to `LoadControl.shouldStartPlayback`.
|
||||
* Verify correct thread usage in `SimpleExoPlayer` by default. Opt-out is
|
||||
still possible until the next major release using
|
||||
`setThrowsWhenUsingWrongThread(false)`
|
||||
([#4463](https://github.com/google/ExoPlayer/issues/4463)).
|
||||
* Add a getter and callback for static metadata to the player
|
||||
* Add `Player.getCurrentStaticMetadata` and
|
||||
`EventListener.onStaticMetadataChanged` to expose static metadata
|
||||
belonging to the currently playing stream
|
||||
([#7266](https://github.com/google/ExoPlayer/issues/7266)).
|
||||
* Time out on release to prevent ANRs if the underlying platform call is
|
||||
* Add `PlayerMessage.setLooper` and deprecate `PlayerMessage.setHandler`.
|
||||
* Add option to `MergingMediaSource` to clip the durations of all sources
|
||||
to have the same length
|
||||
([#8422](https://github.com/google/ExoPlayer/issues/8422)).
|
||||
* Remove `Player.setVideoDecoderOutputBufferRenderer` from Player API. Use
|
||||
`setVideoSurfaceView` and `clearVideoSurfaceView` instead.
|
||||
* Default `SingleSampleMediaSource.treatLoadErrorsAsEndOfStream` to `true`
|
||||
so that errors loading external subtitle files do not cause playback
|
||||
to fail ([#8430](https://github.com/google/ExoPlayer/issues/8430)). A
|
||||
warning will be logged by `SingleSampleMediaPeriod` whenever a load
|
||||
error is treated as though the end of the stream has been reached.
|
||||
* Time out on release to prevent ANRs if an underlying platform call is
|
||||
stuck ([#4352](https://github.com/google/ExoPlayer/issues/4352)).
|
||||
* Time out when detaching a surface to prevent ANRs if the underlying
|
||||
platform call is stuck
|
||||
([#5887](https://github.com/google/ExoPlayer/issues/5887)).
|
||||
* Fix bug where `AnalyticsListener` callbacks can arrive in the wrong
|
||||
* Fix bug where `AnalyticsListener` callbacks could arrive in the wrong
|
||||
order ([#8048](https://github.com/google/ExoPlayer/issues/8048)).
|
||||
* Add `onEvents` callback to `Player.EventListener` and
|
||||
`AnalyticsListener` to notify when all simultaneous state changes have
|
||||
been handled and the values reported through callbacks are again
|
||||
completely consistent with the values obtained from the `Player`
|
||||
getters.
|
||||
* Deprecate `HttpDataSource.Factory.getDefaultRequestProperties` and add
|
||||
`HttpDataSource.Factory.setDefaultRequestProperties` instead.
|
||||
* Add `DefaultHttpDataSource.Factory` and deprecate
|
||||
`DefaultHttpDataSourceFactory`.
|
||||
* Add option to `MergingMediaSource` to clip the durations of all sources
|
||||
to have the same length
|
||||
([#8422](https://github.com/google/ExoPlayer/issues/8422)).
|
||||
* Remove `ExoPlaybackException.OutOfMemoryError`.
|
||||
* Remove `setVideoDecoderOutputBufferRenderer` from Player API. Clients
|
||||
should use `setOutputSurface` directly instead.
|
||||
* Default `SingleSampleMediaSource.treatLoadErrorsAsEndOfStream` to `true`
|
||||
([#8430](https://github.com/google/ExoPlayer/issues/8430)).
|
||||
* Remove `setVideoDecoderOutputBufferRenderer` from Player API. Use
|
||||
`setVideoSurfaceView` and `clearVideoSurfaceView` instead.
|
||||
* Replace `PlayerMessage.setHandler` with `PlayerMessage.setLooper`.
|
||||
* Log a warning when `SingleSampleMediaPeriod` transforms a load error
|
||||
into end-of-stream.
|
||||
* Transformer:
|
||||
* Add a library to transform media inputs. The available transformations
|
||||
are:
|
||||
* Configuration of output container format.
|
||||
* Removal of audio or video tracks.
|
||||
* Slow motion flattening.
|
||||
* Media transformation:
|
||||
* Add a new `transformer` module for converting media streams. The
|
||||
initially available transformations are changing the container format,
|
||||
removing tracks, and slow motion flattening.
|
||||
* Low latency live streaming:
|
||||
* Support low-latency DASH (also known as ULL-CMAF) and Apple's
|
||||
low-latency HLS extension.
|
||||
* Add `LiveConfiguration` to `MediaItem` to define live offset and
|
||||
playback speed adjustment parameters. The same parameters can be set on
|
||||
`DefaultMediaSourceFactory` to apply for all `MediaItems`.
|
||||
* Add `LivePlaybackSpeedControl` to control playback speed adjustments
|
||||
during live playbacks. Such adjustments allow the player to stay close
|
||||
to the live offset. `DefaultLivePlaybackSpeedControl` is provided as a
|
||||
default implementation.
|
||||
* Add `targetLiveOffsetUs` parameter to `LoadControl.shouldStartPlayback`.
|
||||
* Extractors:
|
||||
* Populate codecs string for H.264/AVC in MP4, Matroska and FLV streams to
|
||||
allow decoder capability checks based on codec profile/level
|
||||
allow decoder capability checks based on codec profile and level
|
||||
([#8393](https://github.com/google/ExoPlayer/issues/8393)).
|
||||
* Populate codecs string for H.265/HEVC in MP4, Matroska and MPEG-TS
|
||||
streams to allow decoder capability checks based on codec profile/level
|
||||
([#8393](https://github.com/google/ExoPlayer/issues/8393)).
|
||||
* Handle sample size mismatches between raw audio `stsd` information and
|
||||
`stsz` fixed sample size in MP4 extractors.
|
||||
streams to allow decoder capability checks based on codec profile and
|
||||
level ([#8393](https://github.com/google/ExoPlayer/issues/8393)).
|
||||
* Add support for playing JPEG motion photos
|
||||
([#5405](https://github.com/google/ExoPlayer/issues/5405)).
|
||||
* Handle sample size mismatches between raw audio `stsd` information and
|
||||
`stsz` fixed sample size in MP4 extractors.
|
||||
* Fix Vorbis private codec data parsing in the Matroska extractor
|
||||
([#8496](https://github.com/google/ExoPlayer/issues/8496)).
|
||||
* Track selection:
|
||||
* Move `Player.getTrackSelector` to the `ExoPlayer` interface.
|
||||
* Allow parallel adaptation for video and audio
|
||||
* Move the mutable parts of `TrackSelection` into an `ExoTrackSelection`
|
||||
subclass.
|
||||
* Allow parallel adaptation of video and audio
|
||||
([#5111](https://github.com/google/ExoPlayer/issues/5111)).
|
||||
* Simplify enabling tunneling with `DefaultTrackSelector`.
|
||||
`ParametersBuilder.setTunnelingAudioSessionId` has been replaced with
|
||||
`ParametersBuilder.setTunnelingEnabled`. The player's audio session ID
|
||||
will be used, and so a tunneling specific ID is no longer needed.
|
||||
* Add option to specify multiple preferred audio or text languages.
|
||||
* Add option to specify preferred MIME type(s) for video and audio
|
||||
([#8320](https://github.com/google/ExoPlayer/issues/8320)).
|
||||
* Add option to specify preferred audio role flags.
|
||||
* Add additional configuration parameters to `DefaultTrackSelector`.
|
||||
`DefaultTrackSelector.ParametersBuilder` now includes:
|
||||
* `setPreferredVideoMimeType`, `setPreferredVideoMimeTypes`,
|
||||
`setPreferredAudioMimeType` and `setPreferredAudioMimeTypes` for
|
||||
specifying preferred video and audio MIME type(s)
|
||||
([#8320](https://github.com/google/ExoPlayer/issues/8320)).
|
||||
* `setPreferredAudioLanguages` and `setPreferredTextLanguages` for
|
||||
specifying multiple preferred audio and text languages.
|
||||
* `setPreferredAudioRoleFlags` for specifying preferred audio role
|
||||
flags.
|
||||
* Forward `Timeline` and `MediaPeriodId` to `TrackSelection.Factory`.
|
||||
* In order to make it immutable, `TrackSelection` in the `Player` API now
|
||||
only contains methods related to static selection. The rest of the
|
||||
methods have been moved to the child class `ExoTrackSelection` which is
|
||||
used by all ExoPlayer components.
|
||||
* DASH:
|
||||
* Support low-latency DASH playback (`availabilityTimeOffset` and
|
||||
`ServiceDescription` tags)
|
||||
@ -203,31 +96,34 @@
|
||||
* Support low-latency HLS playback (`EXT-X-PART` and preload hints)
|
||||
([#5011](https://github.com/google/ExoPlayer/issues/5011)).
|
||||
* UI:
|
||||
* Improve `StyledPlayerControlView` button animations.
|
||||
* Miscellaneous fixes for `StyledPlayerControlView` in minimal mode.
|
||||
* Show overflow button in `StyledPlayerControlView` only when there is not
|
||||
enough space.
|
||||
* Update StyledPlayer's control overlay scrim from 30% opacity to 60%
|
||||
opacity for Accessibility requirements.
|
||||
* Switch `StyledPlayerControlView` button controls to borderless ripples.
|
||||
* DRM:
|
||||
* Fix playback failure when switching from PlayReady protected content to
|
||||
Widevine or Clearkey protected content in a playlist.
|
||||
* Add `ExoMediaDrm.KeyRequest.getRequestType`
|
||||
([#7847](https://github.com/google/ExoPlayer/issues/7847)).
|
||||
* Drop key & provision responses if `DefaultDrmSession` is released while
|
||||
waiting for the response. This prevents these (harmless) log messages:
|
||||
* Drop key and provision responses if `DefaultDrmSession` is released
|
||||
while waiting for the response. This prevents harmless log messages of
|
||||
the form:
|
||||
`IllegalStateException: sending message to a Handler on a dead thread`
|
||||
([#8328](https://github.com/google/ExoPlayer/issues/8328)).
|
||||
* Allow apps to fully customize DRM behaviour per-`MediaItem` by passing a
|
||||
`DrmSessionManagerProvider` to `MediaSourceFactory`
|
||||
* Allow apps to fully customize DRM behaviour for each `MediaItem` by
|
||||
passing a `DrmSessionManagerProvider` to `MediaSourceFactory`
|
||||
([#8466](https://github.com/google/ExoPlayer/issues/8466)).
|
||||
* Analytics:
|
||||
* Add an `onEvents` callback to `Player.EventListener` and
|
||||
`AnalyticsListener`. When one or more player states change
|
||||
simultaneously, `onEvents` is called once after all of the callbacks
|
||||
associated with the individual state changes.
|
||||
* Pass a `DecoderReuseEvaluation` to `AnalyticsListener`'s
|
||||
`onVideoInputFormatChanged` and `onAudioInputFormatChanged` methods. The
|
||||
`DecoderReuseEvaluation` indicates whether it was possible to re-use an
|
||||
existing decoder instance for the new format, and if not then the
|
||||
reasons why.
|
||||
* Video:
|
||||
* Fall back to AVC/HEVC decoders for Dolby Vision streams with level 10
|
||||
to 13 ([#8530](https://github.com/google/ExoPlayer/issues/8530)).
|
||||
* Fix VP9 format capability checks on API level 23 and earlier. The
|
||||
platform does not correctly report the VP9 level supported by the
|
||||
decoder in this case, so we estimate it based on the decoder's maximum
|
||||
@ -248,14 +144,19 @@
|
||||
* Create E-AC3 JOC passthrough `AudioTrack` instances using the maximum
|
||||
supported channel count (instead of assuming 6 channels) from API 29.
|
||||
* Text:
|
||||
* Add support for the SSA `primaryColour` style attribute
|
||||
([#8435](https://github.com/google/ExoPlayer/issues/8435)).
|
||||
* Fix CEA-708 sequence number discontinuity handling
|
||||
([#1807](https://github.com/google/ExoPlayer/issues/1807)).
|
||||
* Fix CEA-708 handling of unexpectedly small packets
|
||||
([#1807](https://github.com/google/ExoPlayer/issues/1807)).
|
||||
* Add support for the SSA `primaryColour` style attribute
|
||||
([#8435](https://github.com/google/ExoPlayer/issues/8435)).
|
||||
* Data sources:
|
||||
* Use the user agent of the underlying network stack by default.
|
||||
* For `HttpDataSource` implementations, default to using the user agent of
|
||||
the underlying network stack.
|
||||
* Deprecate `HttpDataSource.Factory.getDefaultRequestProperties`.
|
||||
`HttpDataSource.Factory.setDefaultRequestProperties` instead.
|
||||
* Add `DefaultHttpDataSource.Factory` and deprecate
|
||||
`DefaultHttpDataSourceFactory`.
|
||||
* Metadata retriever:
|
||||
* Parse Google Photos HEIC and JPEG motion photo metadata.
|
||||
* IMA extension:
|
||||
@ -263,8 +164,8 @@
|
||||
([#3750](https://github.com/google/ExoPlayer/issues/3750)).
|
||||
* Add `ImaAdsLoader.Builder.setEnableContinuousPlayback` for setting
|
||||
whether to request ads for continuous playback.
|
||||
* Upgrade IMA SDK dependency to 3.22.0, bringing in a fix for leaking the
|
||||
ad view group ([#7344](https://github.com/google/ExoPlayer/issues/7344),
|
||||
* Upgrade IMA SDK dependency to 3.22.0. This fixes leaking of the ad view
|
||||
group ([#7344](https://github.com/google/ExoPlayer/issues/7344),
|
||||
[#8339](https://github.com/google/ExoPlayer/issues/8339)).
|
||||
* Fix a bug that could cause the next content position played after a seek
|
||||
to snap back to the cue point of the preceding ad, rather than the
|
||||
@ -290,6 +191,91 @@
|
||||
* Support `setPlaybackSpeed(float)` and disable it by default. Use
|
||||
`MediaSessionConnector.setEnabledPlaybackActions(long)` to enable
|
||||
([#8229](https://github.com/google/ExoPlayer/issues/8229)).
|
||||
* Remove deprecated symbols:
|
||||
* `AdaptiveMediaSourceEventListener`. Use `MediaSourceEventListener`
|
||||
instead.
|
||||
* `DashMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`DashMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* `DefaultAnalyticsListener`. Use `AnalyticsListener` instead.
|
||||
* `DefaultLoadControl` constructors. Use `DefaultLoadControl.Builder`
|
||||
instead.
|
||||
* `DrmInitData.get(UUID)`. Use `DrmInitData.get(int)` and
|
||||
`DrmInitData.SchemeData.matches(UUID)` instead.
|
||||
* `ExtractorsMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`ExtractorsMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* `FixedTrackSelection.Factory`. If you need to disable adaptive
|
||||
selection in `DefaultTrackSelector`, enable the
|
||||
`DefaultTrackSelector.Parameters.forceHighestSupportedBitrate` flag.
|
||||
* `HlsMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`HlsMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* `MappedTrackInfo.getTrackFormatSupport(int, int, int)`. Use
|
||||
`MappedTrackInfo.getTrackSupport(int, int, int)` instead.
|
||||
* `MappedTrackInfo.getTrackTypeRendererSupport(int)`. Use
|
||||
`MappedTrackInfo.getTypeSupport(int)` instead.
|
||||
* `MappedTrackInfo.getUnassociatedTrackGroups()`. Use
|
||||
`MappedTrackInfo.getUnmappedTrackGroups()` instead.
|
||||
* `MappedTrackInfo.length`. Use `MappedTrackInfo.getRendererCount()`
|
||||
instead.
|
||||
* `Player.DefaultEventListener.onTimelineChanged(Timeline, Object)`.
|
||||
Use `Player.EventListener.onTimelineChanged(Timeline, int)` instead.
|
||||
* `Player.setAudioAttributes(AudioAttributes)`. Use
|
||||
`Player.AudioComponent.setAudioAttributes(AudioAttributes, boolean)`
|
||||
instead.
|
||||
* `PlayerView.setDefaultArtwork(Bitmap)`. Use
|
||||
`PlayerView.setDefaultArtwork(Drawable)` instead.
|
||||
* `PlayerView.setShowBuffering(boolean)`. Use
|
||||
`PlayerView.setShowBuffering(int)` instead.
|
||||
* `SimpleExoPlayer.clearMetadataOutput(MetadataOutput)`. Use
|
||||
`SimpleExoPlayer.removeMetadataOutput(MetadataOutput)` instead.
|
||||
* `SimpleExoPlayer.clearTextOutput(TextOutput)`. Use
|
||||
`SimpleExoPlayer.removeTextOutput(TextOutput)` instead.
|
||||
* `SimpleExoPlayer.clearVideoListener()`. Use
|
||||
`SimpleExoPlayer.removeVideoListener(VideoListener)` instead.
|
||||
* `SimpleExoPlayer.getAudioStreamType()`. Use
|
||||
`SimpleExoPlayer.getAudioAttributes()` instead.
|
||||
* `SimpleExoPlayer.setAudioDebugListener(AudioRendererEventListener)`.
|
||||
Use `SimpleExoPlayer.addAnalyticsListener(AnalyticsListener)` instead.
|
||||
* `SimpleExoPlayer.setAudioStreamType(int)`. Use
|
||||
`SimpleExoPlayer.setAudioAttributes(AudioAttributes)` instead.
|
||||
* `SimpleExoPlayer.setMetadataOutput(MetadataOutput)`. Use
|
||||
`SimpleExoPlayer.addMetadataOutput(MetadataOutput)` instead. If your
|
||||
application is calling `SimpleExoPlayer.setMetadataOutput(null)`, make
|
||||
sure to replace this call with a call to
|
||||
`SimpleExoPlayer.removeMetadataOutput(MetadataOutput)`.
|
||||
* `SimpleExoPlayer.setPlaybackParams(PlaybackParams)`. Use
|
||||
`SimpleExoPlayer.setPlaybackParameters(PlaybackParameters)` instead.
|
||||
* `SimpleExoPlayer.setTextOutput(TextOutput)`. Use
|
||||
`SimpleExoPlayer.addTextOutput(TextOutput)` instead. If your
|
||||
application is calling `SimpleExoPlayer.setTextOutput(null)`, make sure
|
||||
to replace this call with a call to
|
||||
`SimpleExoPlayer.removeTextOutput(TextOutput)`.
|
||||
* `SimpleExoPlayer.setVideoDebugListener(VideoRendererEventListener)`.
|
||||
Use `SimpleExoPlayer.addAnalyticsListener(AnalyticsListener)` instead.
|
||||
* `SimpleExoPlayer.setVideoListener(VideoListener)`. Use
|
||||
`SimpleExoPlayer.addVideoListener(VideoListener)` instead. If your
|
||||
application is calling `SimpleExoPlayer.setVideoListener(null)`, make
|
||||
sure to replace this call with a call to
|
||||
`SimpleExoPlayer.removeVideoListener(VideoListener)`.
|
||||
* `SimpleExoPlayer.VideoListener`. Use
|
||||
`com.google.android.exoplayer2.video.VideoListener` instead.
|
||||
* `SingleSampleMediaSource.EventListener` and constructors. Use
|
||||
`MediaSourceEventListener` and `SingleSampleMediaSource.Factory`
|
||||
instead.
|
||||
* `SimpleExoPlayer.addVideoDebugListener`,
|
||||
`SimpleExoPlayer.removeVideoDebugListener`,
|
||||
`SimpleExoPlayer.addAudioDebugListener` and
|
||||
`SimpleExoPlayer.removeAudioDebugListener`. Use
|
||||
`SimpleExoPlayer.addAnalyticsListener` and
|
||||
`SimpleExoPlayer.removeAnalyticsListener` instead.
|
||||
* `SingleSampleMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`SingleSampleMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
* `SsMediaSource.Factory.setMinLoadableRetryCount(int)`. Use
|
||||
`SsMediaSource.Factory.setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy)`
|
||||
instead.
|
||||
|
||||
### 2.12.3 (2021-01-13) ###
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user