Update release notes for 1.3.1 bug fix release
PiperOrigin-RevId: 622189733
This commit is contained in:
parent
28c70e5e54
commit
5fc35a6045
151
RELEASENOTES.md
151
RELEASENOTES.md
@ -3,12 +3,7 @@
|
|||||||
### Unreleased changes
|
### Unreleased changes
|
||||||
|
|
||||||
* Common Library:
|
* Common Library:
|
||||||
* Add `Format.labels` to allow localized or other alternative labels.
|
|
||||||
* ExoPlayer:
|
* ExoPlayer:
|
||||||
* Fix issue where `PreloadMediaPeriod` cannot retain the streams when it
|
|
||||||
is preloaded again.
|
|
||||||
* Apply the correct corresponding `TrackSelectionResult` to the playing
|
|
||||||
period in track reselection.
|
|
||||||
* Add `BasePreloadManager` which coordinates the preloading for multiple
|
* Add `BasePreloadManager` which coordinates the preloading for multiple
|
||||||
sources based on the priorities defined by their `rankingData`.
|
sources based on the priorities defined by their `rankingData`.
|
||||||
Customization is possible by extending this class. Add
|
Customization is possible by extending this class. Add
|
||||||
@ -17,12 +12,6 @@
|
|||||||
that indicates the index of an item on the UI.
|
that indicates the index of an item on the UI.
|
||||||
* Add `PlayerId` to most methods of `LoadControl` to enable `LoadControl`
|
* Add `PlayerId` to most methods of `LoadControl` to enable `LoadControl`
|
||||||
implementations to support multiple players.
|
implementations to support multiple players.
|
||||||
* Start early-enabled renderers only after advancing the playing period
|
|
||||||
when transitioning between media items
|
|
||||||
([#1017](https://github.com/androidx/media/issues/1017)).
|
|
||||||
* Add missing return type to proguard `-keepclasseswithmembers` rule for
|
|
||||||
`DefaultVideoFrameProcessor.Factory.Builder.build()`
|
|
||||||
([#1187](https://github.com/androidx/media/issues/1187)).
|
|
||||||
* Remove `Buffer.isDecodeOnly()` and `C.BUFFER_FLAG_DECODE_ONLY`. There is
|
* Remove `Buffer.isDecodeOnly()` and `C.BUFFER_FLAG_DECODE_ONLY`. There is
|
||||||
no need to set this flag as renderers and decoders will decide to skip
|
no need to set this flag as renderers and decoders will decide to skip
|
||||||
buffers based on timestamp. Custom `Renderer` implementations should
|
buffers based on timestamp. Custom `Renderer` implementations should
|
||||||
@ -39,8 +28,6 @@
|
|||||||
* Add `audioConversionProcess` and `videoConversionProcess` to
|
* Add `audioConversionProcess` and `videoConversionProcess` to
|
||||||
`ExportResult` indicating how the respective track in the output file
|
`ExportResult` indicating how the respective track in the output file
|
||||||
was made.
|
was made.
|
||||||
* Add workaround for exception thrown due to `MediaMuxer` not supporting
|
|
||||||
negative presentation timestamps before API 30.
|
|
||||||
* Relax trim optimization H.264 level checks.
|
* Relax trim optimization H.264 level checks.
|
||||||
* Add support for changing between SDR and HDR input media in a sequence.
|
* Add support for changing between SDR and HDR input media in a sequence.
|
||||||
* Add support for composition-level audio effects.
|
* Add support for composition-level audio effects.
|
||||||
@ -48,48 +35,15 @@
|
|||||||
* Fix issue where the `DefaultAudioMixer` doesn’t output the correct
|
* Fix issue where the `DefaultAudioMixer` doesn’t output the correct
|
||||||
amount of bytes after being reset and reused.
|
amount of bytes after being reset and reused.
|
||||||
* Track Selection:
|
* Track Selection:
|
||||||
* `DefaultTrackSelector`: Prefer video tracks with a 'reasonable' frame
|
|
||||||
rate (>=10fps) over those with a lower or unset frame rate. This ensures
|
|
||||||
the player selects the 'real' video track in MP4s extracted from motion
|
|
||||||
photos that can contain two HEVC tracks where one has a higher
|
|
||||||
resolution but a very small number of frames
|
|
||||||
([#1051](https://github.com/androidx/media/issues/1051)).
|
|
||||||
* Extractors:
|
* Extractors:
|
||||||
* MP3: Populate `Format.averageBitrate` from metadata frames such as
|
|
||||||
`XING` and `VBRI`.
|
|
||||||
* MPEG-TS: Revert a change that aimed to ensure the last frame is rendered
|
|
||||||
by passing the last access unit of a stream to the sample queue
|
|
||||||
([#7909](https://github.com/google/ExoPlayer/issues/7909)). This is due
|
|
||||||
to the change causing new problems with I-frame only HLS streams
|
|
||||||
([#1150](https://github.com/google/ExoPlayer/issues/1150)) and H.262 HLS
|
|
||||||
streams ([#1126](https://github.com/google/ExoPlayer/issues/1126)).
|
|
||||||
* Audio:
|
* Audio:
|
||||||
* Allow renderer recovery by disabling offload if audio track fails to
|
|
||||||
initialize in offload mode.
|
|
||||||
* Video:
|
* Video:
|
||||||
* Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with
|
|
||||||
Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be
|
|
||||||
marked as unsupported
|
|
||||||
([#966](https://github.com/androidx/media/issues/966)).
|
|
||||||
* Add workaround that ensures the first frame is always rendered while
|
|
||||||
tunneling even if the device does not do this automatically as required
|
|
||||||
by the API ([#1169](https://github.com/androidx/media/issues/1169)).
|
|
||||||
* Fix issue where HDR color info handling causes codec mishavior and
|
|
||||||
prevents adaptive format switches for SDR video tracks
|
|
||||||
([#1158](https://github.com/androidx/media/issues/1158)).
|
|
||||||
* Fix issue where `Listener.onRenderedFirstFrame()` arrives too early when
|
* Fix issue where `Listener.onRenderedFirstFrame()` arrives too early when
|
||||||
switching surfaces mid-playback.
|
switching surfaces mid-playback.
|
||||||
* Text:
|
* Text:
|
||||||
* WebVTT: Prevent directly consecutive cues from creating spurious
|
|
||||||
additional `CuesWithTiming` instances from `WebvttParser.parse`
|
|
||||||
([#1177](https://github.com/androidx/media/issues/1177)).
|
|
||||||
* Metadata:
|
* Metadata:
|
||||||
* Image:
|
* Image:
|
||||||
* DRM:
|
* DRM:
|
||||||
* Work around a `NoSuchMethodError` which can be thrown by the `MediaDrm`
|
|
||||||
framework instead of `ResourceBusyException` or
|
|
||||||
`NotProvisionedException` on some Android 14 devices
|
|
||||||
([#1145](https://github.com/androidx/media/issues/1145)).
|
|
||||||
* DataSource:
|
* DataSource:
|
||||||
* Implement support for `android.resource://package/id` raw resource URIs
|
* Implement support for `android.resource://package/id` raw resource URIs
|
||||||
where `package` is different to the package of the current application.
|
where `package` is different to the package of the current application.
|
||||||
@ -98,7 +52,6 @@
|
|||||||
* Eagerly check `url` is non-null in the `DataSpec` constructors. This
|
* Eagerly check `url` is non-null in the `DataSpec` constructors. This
|
||||||
parameter was already annotated to be non-null.
|
parameter was already annotated to be non-null.
|
||||||
* Effect:
|
* Effect:
|
||||||
* Improved PQ to SDR tone-mapping by converting color spaces.
|
|
||||||
* Support multiple speed changes within the same `EditedMediaItem` or
|
* Support multiple speed changes within the same `EditedMediaItem` or
|
||||||
`Composition` in `SpeedChangeEffect`.
|
`Composition` in `SpeedChangeEffect`.
|
||||||
* Support for HLG and PQ output from ultra HDR bitmap input.
|
* Support for HLG and PQ output from ultra HDR bitmap input.
|
||||||
@ -113,17 +66,11 @@
|
|||||||
* Muxers:
|
* Muxers:
|
||||||
* IMA extension:
|
* IMA extension:
|
||||||
* Session:
|
* Session:
|
||||||
* Fix issue where the current position jumps back when the controller
|
|
||||||
replaces the current item
|
|
||||||
([#951](https://github.com/androidx/media/issues/951)).
|
|
||||||
* Change default of `CommandButton.enabled` to `true` and ensure the value
|
* Change default of `CommandButton.enabled` to `true` and ensure the value
|
||||||
can stay false for controllers even if the associated command is
|
can stay false for controllers even if the associated command is
|
||||||
available.
|
available.
|
||||||
* Add icon constants for `CommandButton` that should be used instead of
|
* Add icon constants for `CommandButton` that should be used instead of
|
||||||
custom icon resources.
|
custom icon resources.
|
||||||
* Fix issue where `MediaMetadata` with just non-null `extras` is not
|
|
||||||
transmitted between media controllers and sessions
|
|
||||||
([#1176](https://github.com/androidx/media/issues/1176)).
|
|
||||||
* Add `MediaSessionService.isPlaybackOngoing()` to let apps query whether
|
* Add `MediaSessionService.isPlaybackOngoing()` to let apps query whether
|
||||||
the service needs to be stopped in `onTaskRemoved()`
|
the service needs to be stopped in `onTaskRemoved()`
|
||||||
([#1219](https://github.com/androidx/media/issues/1219)).
|
([#1219](https://github.com/androidx/media/issues/1219)).
|
||||||
@ -134,9 +81,6 @@
|
|||||||
default implementation that keeps the service running in the foreground
|
default implementation that keeps the service running in the foreground
|
||||||
if playback is ongoing or stops the service otherwise.
|
if playback is ongoing or stops the service otherwise.
|
||||||
* UI:
|
* UI:
|
||||||
* Fallback to include audio track language name if `Locale` cannot
|
|
||||||
identify a display name
|
|
||||||
([#988](https://github.com/androidx/media/issues/988)).
|
|
||||||
* Downloads:
|
* Downloads:
|
||||||
* Ensure that `DownloadHelper` doesn't leak unreleased `Renderer`
|
* Ensure that `DownloadHelper` doesn't leak unreleased `Renderer`
|
||||||
instances, which can eventually result in an app crashing with
|
instances, which can eventually result in an app crashing with
|
||||||
@ -147,17 +91,9 @@
|
|||||||
* RTMP Extension:
|
* RTMP Extension:
|
||||||
* HLS Extension:
|
* HLS Extension:
|
||||||
* DASH Extension:
|
* DASH Extension:
|
||||||
* Populate all `Label` elements from the manifest into `Format.labels`
|
|
||||||
([#1054](https://github.com/androidx/media/pull/1054)).
|
|
||||||
* Smooth Streaming Extension:
|
* Smooth Streaming Extension:
|
||||||
* RTSP Extension:
|
* RTSP Extension:
|
||||||
* Skip empty session information values (i-tags) in SDP parsing
|
|
||||||
([#1087](https://github.com/androidx/media/issues/1087)).
|
|
||||||
* Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
|
* Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
|
||||||
* Disable the MIDI extension as a local dependency by default because it
|
|
||||||
requires an additional Maven repository to be configured. Users who need
|
|
||||||
this module from a local dependency
|
|
||||||
[can re-enable it](https://github.com/androidx/media/blob/main/README.md#midi-module).
|
|
||||||
* Leanback extension:
|
* Leanback extension:
|
||||||
* Cast Extension:
|
* Cast Extension:
|
||||||
* Test Utilities:
|
* Test Utilities:
|
||||||
@ -176,6 +112,93 @@
|
|||||||
|
|
||||||
## 1.3
|
## 1.3
|
||||||
|
|
||||||
|
### 1.3.1 (2024-04-11)
|
||||||
|
|
||||||
|
This release includes the following changes since the
|
||||||
|
[1.3.0 release](#130-2024-03-06):
|
||||||
|
|
||||||
|
* Common Library:
|
||||||
|
* Add `Format.labels` to allow localized or other alternative labels.
|
||||||
|
* ExoPlayer:
|
||||||
|
* Fix issue where `PreloadMediaPeriod` cannot retain the streams when it
|
||||||
|
is preloaded again.
|
||||||
|
* Apply the correct corresponding `TrackSelectionResult` to the playing
|
||||||
|
period in track reselection.
|
||||||
|
* Start early-enabled renderers only after advancing the playing period
|
||||||
|
when transitioning between media items
|
||||||
|
([#1017](https://github.com/androidx/media/issues/1017)).
|
||||||
|
* Add missing return type to proguard `-keepclasseswithmembers` rule for
|
||||||
|
`DefaultVideoFrameProcessor.Factory.Builder.build()`
|
||||||
|
([#1187](https://github.com/androidx/media/issues/1187)).
|
||||||
|
* Transformer:
|
||||||
|
* Add workaround for exception thrown due to `MediaMuxer` not supporting
|
||||||
|
negative presentation timestamps before API 30.
|
||||||
|
* Track Selection:
|
||||||
|
* `DefaultTrackSelector`: Prefer video tracks with a 'reasonable' frame
|
||||||
|
rate (>=10fps) over those with a lower or unset frame rate. This ensures
|
||||||
|
the player selects the 'real' video track in MP4s extracted from motion
|
||||||
|
photos that can contain two HEVC tracks where one has a higher
|
||||||
|
resolution but a very small number of frames
|
||||||
|
([#1051](https://github.com/androidx/media/issues/1051)).
|
||||||
|
* Extractors:
|
||||||
|
* Fix issue where padding was not skipped when reading odd-sized chunks
|
||||||
|
from WAV files ([#1117](https://github.com/androidx/media/pull/1117)).
|
||||||
|
* MP3: Populate `Format.averageBitrate` from metadata frames such as
|
||||||
|
`XING` and `VBRI`.
|
||||||
|
* MPEG-TS: Revert a change that aimed to ensure the last frame is rendered
|
||||||
|
by passing the last access unit of a stream to the sample queue
|
||||||
|
([#7909](https://github.com/google/ExoPlayer/issues/7909)). This is due
|
||||||
|
to the change causing new problems with I-frame only HLS streams
|
||||||
|
([#1150](https://github.com/google/ExoPlayer/issues/1150)) and H.262 HLS
|
||||||
|
streams ([#1126](https://github.com/google/ExoPlayer/issues/1126)).
|
||||||
|
* Audio:
|
||||||
|
* Allow renderer recovery by disabling offload if audio track fails to
|
||||||
|
initialize in offload mode.
|
||||||
|
* Video:
|
||||||
|
* Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with
|
||||||
|
Google TV, and Lenovo M10 FHD Plus that causes 60fps H265 streams to be
|
||||||
|
marked as unsupported
|
||||||
|
* Add workaround that ensures the first frame is always rendered while
|
||||||
|
tunneling even if the device does not do this automatically as required
|
||||||
|
by the API ([#1169](https://github.com/androidx/media/issues/1169)).
|
||||||
|
([#966](https://github.com/androidx/media/issues/966)).
|
||||||
|
* Fix issue where HDR color info handling causes codec misbehavior and
|
||||||
|
prevents adaptive format switches for SDR video tracks
|
||||||
|
([#1158](https://github.com/androidx/media/issues/1158)).
|
||||||
|
* Text:
|
||||||
|
* WebVTT: Prevent directly consecutive cues from creating spurious
|
||||||
|
additional `CuesWithTiming` instances from `WebvttParser.parse`
|
||||||
|
([#1177](https://github.com/androidx/media/issues/1177)).
|
||||||
|
* DRM:
|
||||||
|
* Work around a `NoSuchMethodError` which can be thrown by the `MediaDrm`
|
||||||
|
framework instead of `ResourceBusyException` or
|
||||||
|
`NotProvisionedException` on some Android 14 devices
|
||||||
|
([#1145](https://github.com/androidx/media/issues/1145)).
|
||||||
|
* Effect:
|
||||||
|
* Improved PQ to SDR tone-mapping by converting color spaces.
|
||||||
|
* Session:
|
||||||
|
* Fix issue where the current position jumps back when the controller
|
||||||
|
replaces the current item
|
||||||
|
([#951](https://github.com/androidx/media/issues/951)).
|
||||||
|
* Fix issue where `MediaMetadata` with just non-null `extras` is not
|
||||||
|
transmitted between media controllers and sessions
|
||||||
|
([#1176](https://github.com/androidx/media/issues/1176)).
|
||||||
|
* UI:
|
||||||
|
* Fallback to include audio track language name if `Locale` cannot
|
||||||
|
identify a display name
|
||||||
|
([#988](https://github.com/androidx/media/issues/988)).
|
||||||
|
* DASH Extension:
|
||||||
|
* Populate all `Label` elements from the manifest into `Format.labels`
|
||||||
|
([#1054](https://github.com/androidx/media/pull/1054)).
|
||||||
|
* RTSP Extension:
|
||||||
|
* Skip empty session information values (i-tags) in SDP parsing
|
||||||
|
([#1087](https://github.com/androidx/media/issues/1087)).
|
||||||
|
* Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
|
||||||
|
* Disable the MIDI extension as a local dependency by default because it
|
||||||
|
requires an additional Maven repository to be configured. Users who need
|
||||||
|
this module from a local dependency
|
||||||
|
[can re-enable it](https://github.com/androidx/media/blob/main/README.md#midi-module).
|
||||||
|
|
||||||
### 1.3.0 (2024-03-06)
|
### 1.3.0 (2024-03-06)
|
||||||
|
|
||||||
This release includes the following changes since the
|
This release includes the following changes since the
|
||||||
|
Loading…
x
Reference in New Issue
Block a user