Update release notes for 1.4.0-alpha02

PiperOrigin-RevId: 640138307
This commit is contained in:
tianyifeng 2024-06-04 06:54:00 -07:00 committed by Copybara-Service
parent 5371ad406b
commit deb3c96f00

View File

@ -2,6 +2,48 @@
### Unreleased changes ### Unreleased changes
* Common Library:
* ExoPlayer:
* Add `ExoPlayer.isReleased()` to check whether `Exoplayer.release()` has
been called.
* Transformer:
* Track Selection:
* Extractors:
* Audio:
* Video:
* Text:
* Metadata:
* DRM:
* Effect:
* Muxers:
* IMA extension:
* Session:
* UI:
* Add customisation of various icons in `PlayerControlView` through xml
attributes to allow different drawables per `PlayerView` instance,
rather than global overrides
([#1200](https://github.com/androidx/media/issues/1200)).
* Downloads:
* OkHttp Extension:
* Cronet Extension:
* RTMP Extension:
* HLS Extension:
* Smooth Streaming Extension:
* RTSP Extension:
* Decoder Extensions (FFmpeg, VP9, AV1, etc.):
* MIDI extension:
* Leanback extension:
* Cast Extension:
* Test Utilities:
* Remove deprecated symbols:
## 1.4
### 1.4.0-alpha02 (2024-06-06)
This release includes the following changes since the
[1.4.0-alpha01 release](#140-alpha01-2024-04-11):
* Common Library: * Common Library:
* Forward presumed no-op seek calls to the protected `BasePlayer.seekTo` * Forward presumed no-op seek calls to the protected `BasePlayer.seekTo`
and `SimpleBasePlayer.handleSeek` methods instead of ignoring them. If and `SimpleBasePlayer.handleSeek` methods instead of ignoring them. If
@ -46,8 +88,8 @@
You can enable this using `experimentalSetDynamicSchedulingEnabled` when You can enable this using `experimentalSetDynamicSchedulingEnabled` when
setting up your ExoPlayer instance. setting up your ExoPlayer instance.
* Add `Renderer.getDurationToProgressMs`. A `Renderer` can implement this * Add `Renderer.getDurationToProgressMs`. A `Renderer` can implement this
method to return to ExoPlayer the duration that playback must advance in method to return to ExoPlayer the duration that playback must advance
order for the renderer to progress. If `ExoPlayer` is set with for the renderer to progress. If `ExoPlayer` is set with
`experimentalSetDynamicSchedulingEnabled` then `ExoPlayer` will call `experimentalSetDynamicSchedulingEnabled` then `ExoPlayer` will call
this method when calculating the time to schedule its work task. this method when calculating the time to schedule its work task.
* Add `MediaCodecAdapter#OnBufferAvailableListener` to alert when input * Add `MediaCodecAdapter#OnBufferAvailableListener` to alert when input
@ -56,12 +98,8 @@
callbacks and if `ExoPlayer` is set with callbacks and if `ExoPlayer` is set with
`experimentalSetDynamicSchedulingEnabled`, then `ExoPlayer` will `experimentalSetDynamicSchedulingEnabled`, then `ExoPlayer` will
schedule its work loop as renderers can make progress. schedule its work loop as renderers can make progress.
* Fix bug where enabling CMCD for HLS with initialization segments
resulted in `Source Error` and `IllegalArgumentException`.
* Use data class for `LoadControl` methods instead of individual * Use data class for `LoadControl` methods instead of individual
parameters. parameters.
* Add `ExoPlayer.isReleased()` to check whether `Exoplayer.release()` has
been called.
* Transformer: * Transformer:
* Work around a decoder bug where the number of audio channels was capped * Work around a decoder bug where the number of audio channels was capped
at stereo when handling PCM input. at stereo when handling PCM input.
@ -73,7 +111,6 @@
* Fix HEIC image loading from content URI schemes. * Fix HEIC image loading from content URI schemes.
([#1373](https://github.com/androidx/media/issues/1373)). ([#1373](https://github.com/androidx/media/issues/1373)).
* Adjust audio track duration in `AudioGraphInput` to improve AV sync. * Adjust audio track duration in `AudioGraphInput` to improve AV sync.
* Track Selection:
* Extractors: * Extractors:
* MPEG-TS: Roll forward the change ensuring the last frame is rendered by * MPEG-TS: Roll forward the change ensuring the last frame is rendered by
passing the last access unit of a stream to the sample queue passing the last access unit of a stream to the sample queue
@ -167,15 +204,14 @@
`ExoPlayer#setVideoEffects` `ExoPlayer#setVideoEffects`
([#821](https://github.com/androidx/media/issues/821)). ([#821](https://github.com/androidx/media/issues/821)).
* Change default SDR color working space from linear colors to electrical * Change default SDR color working space from linear colors to electrical
BT 709 SDR video. Also provides third option to retain the original BT 709 SDR video. Also provide third option to retain the original
colorspace. colorspace.
* Allow defining indeterminate z-order of EditedMediaItemSequences * Allow defining indeterminate z-order of EditedMediaItemSequences
([#1055](https://github.com/androidx/media/pull/1055)). ([#1055](https://github.com/androidx/media/pull/1055)).
* Maintain a consistent luminance range across different HDR content (uses * Maintain a consistent luminance range across different pieces of HDR
the HLG range). content (uses the HLG range).
* Add support for Ultra HDR (bitmap) overlays on HDR content. * Add support for Ultra HDR (bitmap) overlays on HDR content.
* Allow `SeparableConvolution` effects to be used before API 26. * Allow `SeparableConvolution` effects to be used before API 26.
* Muxers:
* IMA extension: * IMA extension:
* Promote API that is required for apps to play * Promote API that is required for apps to play
[DAI ad streams](https://developers.google.com/ad-manager/dynamic-ad-insertion/full-service) [DAI ad streams](https://developers.google.com/ad-manager/dynamic-ad-insertion/full-service)
@ -202,19 +238,11 @@
is used to update the `PlaybackState` of the platform session to an is used to update the `PlaybackState` of the platform session to an
error state with the given error information error state with the given error information
([#543](https://github.com/androidx/media/issues/543)). ([#543](https://github.com/androidx/media/issues/543)).
* UI:
* Add customisation of various icons in `PlayerControlView` through xml
attributes to allow different drawables per `PlayerView` instance,
rather than global overrides
([#1200](https://github.com/androidx/media/issues/1200)).
* Downloads:
* OkHttp Extension:
* Cronet Extension: * Cronet Extension:
* Fix `SocketTimeoutException` in `CronetDataSource`. In some versions of * Fix `SocketTimeoutException` in `CronetDataSource`. In some versions of
Cronet, the request provided by the callback is not always the same. Cronet, the request provided by the callback is not always the same.
This leads to callback not completing and request timing out This leads to callback not completing and request timing out
(https://issuetracker.google.com/328442628). (https://issuetracker.google.com/328442628).
* RTMP Extension:
* HLS Extension: * HLS Extension:
* Fix bug where pending EMSG samples waiting for a discontinuity were * Fix bug where pending EMSG samples waiting for a discontinuity were
delegated in `HlsSampleStreamWrapper` with an incorrect offset causing delegated in `HlsSampleStreamWrapper` with an incorrect offset causing
@ -222,21 +250,18 @@
([#1002](https://github.com/androidx/media/issues/1002)). ([#1002](https://github.com/androidx/media/issues/1002)).
* Fix bug where non-primary playlists keep reloading for LL-HLS streams * Fix bug where non-primary playlists keep reloading for LL-HLS streams
([#1240](https://github.com/androidx/media/issues/1240)). ([#1240](https://github.com/androidx/media/issues/1240)).
* Fix bug where enabling CMCD for HLS with initialization segments
resulted in `Source Error` and `IllegalArgumentException`.
* DASH Extension: * DASH Extension:
* Fix bug where re-preparing a multi-period live stream can throw an * Fix bug where re-preparing a multi-period live stream can throw an
`IndexOutOfBoundsException` `IndexOutOfBoundsException`
([#1329](https://github.com/androidx/media/issues/1329)). ([#1329](https://github.com/androidx/media/issues/1329)).
* Add support for `dashif:Laurl` license urls * Add support for `dashif:Laurl` license urls
([#1345](https://github.com/androidx/media/issues/1345)). ([#1345](https://github.com/androidx/media/issues/1345)).
* Smooth Streaming Extension:
* RTSP Extension:
* Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
* Leanback extension:
* Cast Extension: * Cast Extension:
* Fix bug that converted the album title of the `MediaQueueItem` to the * Fix bug that converted the album title of the `MediaQueueItem` to the
artist in the Media3 media item artist in the Media3 media item
([#1255](https://github.com/androidx/media/pull/1255)). ([#1255](https://github.com/androidx/media/pull/1255)).
* Test Utilities:
* Demo app: * Demo app:
* Allow setting repeat mode with `Intent` arguments from command line * Allow setting repeat mode with `Intent` arguments from command line
([#1266](https://github.com/androidx/media/pull/1266)). ([#1266](https://github.com/androidx/media/pull/1266)).
@ -269,8 +294,6 @@
the equivalent IntDef and constants in `androidx.media3.common.C` the equivalent IntDef and constants in `androidx.media3.common.C`
instead (e.g. `C.FORMAT_HANDLED`). instead (e.g. `C.FORMAT_HANDLED`).
## 1.4
### 1.4.0-alpha01 (2024-04-11) ### 1.4.0-alpha01 (2024-04-11)
This release includes the following changes since the This release includes the following changes since the