Release notes for MediaMetadata

PiperOrigin-RevId: 371929289
This commit is contained in:
samrobinson 2021-05-04 17:21:46 +01:00 committed by bachinger
parent 002ee4de26
commit 15b82741cb

View File

@ -48,6 +48,9 @@
visibility in order to allow Kotlin subclasses of visibility in order to allow Kotlin subclasses of
`AdaptiveTrackSelection.Factory` `AdaptiveTrackSelection.Factory`
([#8830](https://github.com/google/ExoPlayer/issues/8830)). ([#8830](https://github.com/google/ExoPlayer/issues/8830)).
* Added a combined and structured metadata object (`MediaMetadata`) to
Player, accessible through `getMediaMetadata` or by listening to
`EventListener.onMediaMetadataChanged`.
* UI: * UI:
* Add builder for `PlayerNotificationManager`. * Add builder for `PlayerNotificationManager`.
* Add group setting to `PlayerNotificationManager`. * Add group setting to `PlayerNotificationManager`.
@ -64,8 +67,8 @@
* Allow fall back from DTS-HD to DTS when playing via passthrough. * Allow fall back from DTS-HD to DTS when playing via passthrough.
* Video: * Video:
* Add `Player.getVideoSize()` to retrieve the current size of the video * Add `Player.getVideoSize()` to retrieve the current size of the video
stream. Add `Listener.onVideoSizeChanged(VideoSize)` and stream. Add `Listener.onVideoSizeChanged(VideoSize)` and deprecate
deprecate `Listener.onVideoSizeChanged(int weight, int height...)`. `Listener.onVideoSizeChanged(int weight, int height...)`.
* Analytics: * Analytics:
* Add `onAudioCodecError` and `onVideoCodecError` to `AnalyticsListener`. * Add `onAudioCodecError` and `onVideoCodecError` to `AnalyticsListener`.
* Downloads and caching: * Downloads and caching:
@ -105,6 +108,28 @@
`programInformation` and `serviceDescription` set to `null` instead. `programInformation` and `serviceDescription` set to `null` instead.
* Remove `CryptoInfo.getFrameworkCryptoInfoV16`. Use * Remove `CryptoInfo.getFrameworkCryptoInfoV16`. Use
`CryptoInfo.getFrameworkCryptoInfo` instead. `CryptoInfo.getFrameworkCryptoInfo` instead.
* Remove `CastPlayer` specific playlist manipulation methods. Use
`setMediaItems`, `addMediaItems`, `removeMediaItem` and `moveMediaItem`
instead.
* Remove `PlaybackPreparer`. UI components that previously had
`setPlaybackPreparer` methods will now call `Player.prepare` by default.
If this behavior is sufficient, use of `PlaybackPreparer` can be removed
from application code without replacement. For custom preparation logic,
replace calls to `setPlaybackPreparer` with calls to
`setControlDispatcher` on the same components, passing a
`ControlDispatcher` that implements custom preparation logic in
`dispatchPrepare`. Extend `DefaultControlDispatcher` to avoid having to
implement the other `ControlDispatcher` methods.
* Remove `setRewindIncrementMs` and `setFastForwardIncrementMs` from UI
components. Use `setControlDispatcher` on the same components, passing a
`DefaultControlDispatcher` built using `DefaultControlDispatcher(long,
long)`.
* Remove `PlayerNotificationManager` constructors and `createWith`
methods. Use `PlayerNotificationManager.Builder` instead.
* Remove `PlayerNotificationManager` `setUseNavigationActions` and
`setUseNavigationActionsInCompactView`. Use `setUseNextAction`,
`setUsePreviousAction`, `setUseNextActionInCompactView` and
`setUsePreviousActionInCompactView` instead.
* DRM: * DRM:
* Only dispatch DRM session acquire and release events once per period * Only dispatch DRM session acquire and release events once per period
when playing content that uses the same encryption keys for both audio & when playing content that uses the same encryption keys for both audio &