mirror of
https://github.com/androidx/media.git
synced 2025-05-03 21:57:46 +08:00
Clean up release notes for 2.12: UI, downloads, DRM
PiperOrigin-RevId: 326427225
This commit is contained in:
parent
039af76b0e
commit
339e3f899d
@ -40,6 +40,7 @@
|
|||||||
* Add `Player.EventListener.onMediaItemTransition` with reasons.
|
* Add `Player.EventListener.onMediaItemTransition` with reasons.
|
||||||
* Add `Player.setAudioSessionId` to set the session ID attached to the
|
* Add `Player.setAudioSessionId` to set the session ID attached to the
|
||||||
`AudioTrack`.
|
`AudioTrack`.
|
||||||
|
* Add `Player.getTrackSelector`.
|
||||||
* Deprecate and rename `getPlaybackError` to `getPlayerError` for
|
* Deprecate and rename `getPlaybackError` to `getPlayerError` for
|
||||||
consistency.
|
consistency.
|
||||||
* Deprecate and rename `onLoadingChanged` to `onIsLoadingChanged` for
|
* Deprecate and rename `onLoadingChanged` to `onIsLoadingChanged` for
|
||||||
@ -81,6 +82,9 @@
|
|||||||
* Add media item based playlist API to `Player`.
|
* Add media item based playlist API to `Player`.
|
||||||
* Add `getCurrentMediaItem` to `Player`.
|
* Add `getCurrentMediaItem` to `Player`.
|
||||||
* Remove deprecated members in `DefaultTrackSelector`.
|
* Remove deprecated members in `DefaultTrackSelector`.
|
||||||
|
* Add `DefaultTrackSelector` constraints for minimum video resolution,
|
||||||
|
bitrate and frame rate
|
||||||
|
([#4511](https://github.com/google/ExoPlayer/issues/4511)).
|
||||||
* Add `Player.DeviceComponent` and implement it for `SimpleExoPlayer` so
|
* Add `Player.DeviceComponent` and implement it for `SimpleExoPlayer` so
|
||||||
that the device volume can be controlled by player.
|
that the device volume can be controlled by player.
|
||||||
* Parse track titles from Matroska files
|
* Parse track titles from Matroska files
|
||||||
@ -104,6 +108,9 @@
|
|||||||
`AnalyticsListener.onPlayerError`.
|
`AnalyticsListener.onPlayerError`.
|
||||||
* Remove onMediaPeriodCreated/Released/ReadingStarted from
|
* Remove onMediaPeriodCreated/Released/ReadingStarted from
|
||||||
`MediaSourceEventListener` and `AnalyticsListener`.
|
`MediaSourceEventListener` and `AnalyticsListener`.
|
||||||
|
* Dispatch previous, next, fast forward and rewind actions through
|
||||||
|
`ControlDispatcher`
|
||||||
|
([#6926](https://github.com/google/ExoPlayer/issues/6926)).
|
||||||
* Add Guava dependency.
|
* Add Guava dependency.
|
||||||
* Video: Pass frame rate hint to `Surface.setFrameRate` on Android R devices.
|
* Video: Pass frame rate hint to `Surface.setFrameRate` on Android R devices.
|
||||||
* Audio:
|
* Audio:
|
||||||
@ -210,55 +217,52 @@
|
|||||||
failing playback
|
failing playback
|
||||||
([#7675](https://github.com/google/ExoPlayer/issues/7675)).
|
([#7675](https://github.com/google/ExoPlayer/issues/7675)).
|
||||||
* UI
|
* UI
|
||||||
* Add `StyledPlayerView` and `StyledPlayerControlView`.
|
* Add `StyledPlayerView` and `StyledPlayerControlView`, which provide a
|
||||||
* Remove `SimpleExoPlayerView` and `PlaybackControlView`.
|
more polished user experience than `PlayerView` and `PlayerControlView`
|
||||||
* Remove deperecated `exo_simple_player_view.xml` and
|
at the cost of decreased customizability.
|
||||||
`exo_playback_control_view.xml` from resource.
|
* Remove the previously deprecated `SimpleExoPlayerView` and
|
||||||
|
`PlaybackControlView` classes, along with the corresponding
|
||||||
|
`exo_simple_player_view.xml` and `exo_playback_control_view.xml` layout
|
||||||
|
resources. Use the equivalent `PlayerView`, `PlayerControlView`,
|
||||||
|
`exo_player_view.xml` and `exo_player_control_view.xml` instead.
|
||||||
* Add setter methods to `PlayerView` and `PlayerControlView` to set
|
* Add setter methods to `PlayerView` and `PlayerControlView` to set
|
||||||
whether the rewind, fast forward, previous and next buttons are shown
|
whether the rewind, fast forward, previous and next buttons are shown
|
||||||
([#7410](https://github.com/google/ExoPlayer/issues/7410)).
|
([#7410](https://github.com/google/ExoPlayer/issues/7410)).
|
||||||
* Move logic of prev, next, fast forward and rewind to ControlDispatcher
|
* Update `TrackSelectionDialogBuilder` to use the AndroidX app compat
|
||||||
([#6926](https://github.com/google/ExoPlayer/issues/6926)).
|
`AlertDialog` rather than the platform version, if available
|
||||||
* Update `TrackSelectionDialogBuilder` to use AndroidX Compat Dialog
|
|
||||||
([#7357](https://github.com/google/ExoPlayer/issues/7357)).
|
([#7357](https://github.com/google/ExoPlayer/issues/7357)).
|
||||||
* Track selection:
|
|
||||||
* Add `Player.getTrackSelector`.
|
|
||||||
* Remove deprecated members in `DefaultTrackSelector`.
|
|
||||||
* Add `DefaultTrackSelector` constraints for minimum video resolution,
|
|
||||||
bitrate and frame rate
|
|
||||||
([#4511](https://github.com/google/ExoPlayer/issues/4511)).
|
|
||||||
* Downloads and caching:
|
* Downloads and caching:
|
||||||
* Add support for offline DRM playbacks.
|
* Add `DownloadRequest.Builder`.
|
||||||
* Add builder in `DownloadRequest`.
|
* Add `DownloadRequest.keySetId` to make it easier to store an offline
|
||||||
|
license keyset identifier alongside the other information that's
|
||||||
|
persisted in `DownloadIndex`.
|
||||||
* Support passing an `Executor` to `DefaultDownloaderFactory` on which
|
* Support passing an `Executor` to `DefaultDownloaderFactory` on which
|
||||||
data downloads are performed.
|
data downloads are performed.
|
||||||
* Parallelize and merge downloads in `SegmentDownloader` to improve
|
* Parallelize and merge downloads in `SegmentDownloader` to improve
|
||||||
overall download speed
|
download speeds
|
||||||
([#5978](https://github.com/google/ExoPlayer/issues/5978)).
|
([#5978](https://github.com/google/ExoPlayer/issues/5978)).
|
||||||
* Support multiple non-overlapping write locks for the same key in
|
|
||||||
`SimpleCache`.
|
|
||||||
* Replace `CacheDataSinkFactory` and `CacheDataSourceFactory` with
|
* Replace `CacheDataSinkFactory` and `CacheDataSourceFactory` with
|
||||||
`CacheDataSink.Factory` and `CacheDataSource.Factory` respectively.
|
`CacheDataSink.Factory` and `CacheDataSource.Factory` respectively.
|
||||||
* Remove `DownloadConstructorHelper` and use `CacheDataSource.Factory`
|
* Remove `DownloadConstructorHelper` and instead use
|
||||||
directly instead.
|
`CacheDataSource.Factory` directly.
|
||||||
* Update `CachedContentIndex` to use `SecureRandom` for generating the
|
|
||||||
initialization vector used to encrypt the cache contents.
|
|
||||||
* Add `Requirements.DEVICE_STORAGE_NOT_LOW`, which can be specified as a
|
* Add `Requirements.DEVICE_STORAGE_NOT_LOW`, which can be specified as a
|
||||||
requirement to a `DownloadManager` for it to proceed with downloading.
|
requirement to a `DownloadManager` for it to proceed with downloading.
|
||||||
* For failed downloads, propagate the `Exception` that caused the failure
|
* For failed downloads, propagate the `Exception` that caused the failure
|
||||||
to `DownloadManager.Listener.onDownloadChanged`.
|
to `DownloadManager.Listener.onDownloadChanged`.
|
||||||
|
* Support multiple non-overlapping write locks for the same key in
|
||||||
|
`SimpleCache`.
|
||||||
* DRM:
|
* DRM:
|
||||||
* Remove `DrmSessionManager` references from all renderers.
|
* Remove previously deprecated APIs to inject `DrmSessionManager` into
|
||||||
`DrmSessionManager` must be injected into the MediaSources using the
|
`Renderer` instances. `DrmSessionManager` must now be injected into
|
||||||
MediaSources factories.
|
`MediaSource` instances via the `MediaSource` factories.
|
||||||
* Add option to inject a custom `DefaultDrmSessionManager` into
|
* Add the ability to inject a custom `DefaultDrmSessionManager` into
|
||||||
`OfflineLicenseHelper`
|
`OfflineLicenseHelper`
|
||||||
([#7078](https://github.com/google/ExoPlayer/issues/7078)).
|
([#7078](https://github.com/google/ExoPlayer/issues/7078)).
|
||||||
* Remove generics from DRM components.
|
|
||||||
* Keep DRM sessions alive for a short time before fully releasing them
|
* Keep DRM sessions alive for a short time before fully releasing them
|
||||||
([#7011](https://github.com/google/ExoPlayer/issues/7011),
|
([#7011](https://github.com/google/ExoPlayer/issues/7011),
|
||||||
[#6725](https://github.com/google/ExoPlayer/issues/6725),
|
[#6725](https://github.com/google/ExoPlayer/issues/6725),
|
||||||
[#7066](https://github.com/google/ExoPlayer/issues/7066)).
|
[#7066](https://github.com/google/ExoPlayer/issues/7066)).
|
||||||
|
* Remove generic types from DRM components.
|
||||||
* Test utils: Add `TestExoPlayer`, a utility class with APIs to create
|
* Test utils: Add `TestExoPlayer`, a utility class with APIs to create
|
||||||
`SimpleExoPlayer` instances with fake components for testing.
|
`SimpleExoPlayer` instances with fake components for testing.
|
||||||
* Media2 extension: This is a new extension that makes it easy to use
|
* Media2 extension: This is a new extension that makes it easy to use
|
||||||
@ -289,6 +293,7 @@
|
|||||||
to clear audio and video tracks.
|
to clear audio and video tracks.
|
||||||
* Add `clip_start_position_ms` and `clip_end_position_ms` to allow
|
* Add `clip_start_position_ms` and `clip_end_position_ms` to allow
|
||||||
clipped samples.
|
clipped samples.
|
||||||
|
* Use `StyledPlayerControlView` rather than `PlayerView`.
|
||||||
* Remove support for media tunneling, random ABR and playback of
|
* Remove support for media tunneling, random ABR and playback of
|
||||||
spherical video. Developers wishing to experiment with these features
|
spherical video. Developers wishing to experiment with these features
|
||||||
can enable them by modifying the demo app source code.
|
can enable them by modifying the demo app source code.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user