Skip to content

Commit

Permalink
Update release notes for 1.3.1 bug fix release
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 622189733
  • Loading branch information
SheenaChhabra authored and copybara-github committed Apr 5, 2024
1 parent 28c70e5 commit 5fc35a6
Showing 1 changed file with 87 additions and 64 deletions.
151 changes: 87 additions & 64 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,7 @@
### Unreleased changes

* 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.
* Add `BasePreloadManager` which coordinates the preloading for multiple
sources based on the priorities defined by their `rankingData`.
Customization is possible by extending this class. Add
Expand All @@ -17,12 +12,6 @@
that indicates the index of an item on the UI.
* Add `PlayerId` to most methods of `LoadControl` to enable `LoadControl`
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
no need to set this flag as renderers and decoders will decide to skip
buffers based on timestamp. Custom `Renderer` implementations should
Expand All @@ -39,57 +28,22 @@
* Add `audioConversionProcess` and `videoConversionProcess` to
`ExportResult` indicating how the respective track in the output file
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.
* Add support for changing between SDR and HDR input media in a sequence.
* Add support for composition-level audio effects.
* Add support for transcoding Ultra HDR images into HDR videos.
* Fix issue where the `DefaultAudioMixer` doesn’t output the correct
amount of bytes after being reset and reused.
* 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:
* 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
([#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
switching surfaces mid-playback.
* Text:
* WebVTT: Prevent directly consecutive cues from creating spurious
additional `CuesWithTiming` instances from `WebvttParser.parse`
([#1177](https://github.com/androidx/media/issues/1177)).
* Metadata:
* Image:
* 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:
* Implement support for `android.resource://package/id` raw resource URIs
where `package` is different to the package of the current application.
Expand All @@ -98,7 +52,6 @@
* Eagerly check `url` is non-null in the `DataSpec` constructors. This
parameter was already annotated to be non-null.
* Effect:
* Improved PQ to SDR tone-mapping by converting color spaces.
* Support multiple speed changes within the same `EditedMediaItem` or
`Composition` in `SpeedChangeEffect`.
* Support for HLG and PQ output from ultra HDR bitmap input.
Expand All @@ -113,17 +66,11 @@
* Muxers:
* IMA extension:
* 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
can stay false for controllers even if the associated command is
available.
* Add icon constants for `CommandButton` that should be used instead of
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
the service needs to be stopped in `onTaskRemoved()`
([#1219](https://github.com/androidx/media/issues/1219)).
Expand All @@ -134,9 +81,6 @@
default implementation that keeps the service running in the foreground
if playback is ongoing or stops the service otherwise.
* UI:
* Fallback to include audio track language name if `Locale` cannot
identify a display name
([#988](https://github.com/androidx/media/issues/988)).
* Downloads:
* Ensure that `DownloadHelper` doesn't leak unreleased `Renderer`
instances, which can eventually result in an app crashing with
Expand All @@ -147,17 +91,9 @@
* RTMP Extension:
* HLS Extension:
* DASH Extension:
* Populate all `Label` elements from the manifest into `Format.labels`
([#1054](https://github.com/androidx/media/pull/1054)).
* Smooth Streaming 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.):
* 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:
* Cast Extension:
* Test Utilities:
Expand All @@ -176,6 +112,93 @@

## 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)

This release includes the following changes since the
Expand Down

0 comments on commit 5fc35a6

Please sign in to comment.