Update RELEASENOTES for 1.3.0-alpha01

#minor-release

PiperOrigin-RevId: 597862117
This commit is contained in:
sheenachhabra 2024-01-12 09:29:28 -08:00 committed by Copybara-Service
parent d4be30b04d
commit 09a547953b

View File

@ -2,6 +2,57 @@
### Unreleased changes ### Unreleased changes
* Common Library:
* ExoPlayer:
* Prevent subclassing `CompositeSequenceableLoader`. This component was
[previously made extensible](https://github.com/androidx/media/commit/0de57cbfae7165dd3bb829e323d089cd312b4b1b)
but was never subclassed within the library. Customizations can be done
by wrapping an instance using the
[decorator pattern](https://en.wikipedia.org/wiki/Decorator_pattern) and
implementing a custom `CompositeSequenceableLoaderFactory`.
* Transformer:
* Track Selection:
* Extractors:
* MP3: Use constant bitrate (CBR) seeking for files with an `Info` header
(the CBR equivalent of the `Xing` header). Previously we used the seek
table from the `Info` header, but this results in less precise seeking
than if we ignore it and assume the file is CBR.
* Audio:
* Video:
* Text:
* Metadata:
* Image:
* Add support for DASH thumbnails. Grid images are cropped and individual
thumbnails are provided to `ImageOutput` close to their presentation
times.
* DRM:
* Effect:
* Muxers:
* IMA extension:
* Session:
* UI:
* Downloads:
* OkHttp Extension:
* Cronet Extension:
* RTMP Extension:
* HLS Extension:
* DASH Extension:
* Smooth Streaming Extension:
* RTSP Extension:
* Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
* Leanback extension:
* Cast Extension:
* Test Utilities:
* Remove deprecated symbols:
* Demo app:
## 1.3
### 1.3.0-alpha01 (2024-01-15)
This release includes the following changes since the
[1.2.1 release](#121-2024-01-09):
* Common Library: * Common Library:
* Implement support for `android.resource://package/[type/]name` raw * Implement support for `android.resource://package/[type/]name` raw
resource URIs where `package` is different to the package of the current resource URIs where `package` is different to the package of the current
@ -35,12 +86,6 @@
* Implement `HttpEngineDataSource`, an `HttpDataSource` using the * Implement `HttpEngineDataSource`, an `HttpDataSource` using the
[HttpEngine](https://developer.android.com/reference/android/net/http/HttpEngine) [HttpEngine](https://developer.android.com/reference/android/net/http/HttpEngine)
API. API.
* Prevent subclassing `CompositeSequenceableLoader`. This component was
[previously made extensible](https://github.com/androidx/media/commit/0de57cbfae7165dd3bb829e323d089cd312b4b1b)
but was never subclassed within the library. Customizations can be done
by wrapping an instance using the
[decorator pattern](https://en.wikipedia.org/wiki/Decorator_pattern) and
implementing a custom `CompositeSequenceableLoaderFactory`.
* Transformer: * Transformer:
* Add support for flattening H.265/HEVC SEF slow motion videos. * Add support for flattening H.265/HEVC SEF slow motion videos.
* Increase transmuxing speed, especially for 'remove video' edits. * Increase transmuxing speed, especially for 'remove video' edits.
@ -61,11 +106,6 @@
`ColorInfo.colorSpace`, `ColorInfo.colorTransfer`, and `ColorInfo.colorSpace`, `ColorInfo.colorTransfer`, and
`ColorInfo.colorRange` values `ColorInfo.colorRange` values
([#692](https://github.com/androidx/media/pull/692)). ([#692](https://github.com/androidx/media/pull/692)).
* MP3: Use constant bitrate (CBR) seeking for files with an `Info` header
(the CBR equivalent of the `Xing` header). Previously we used the seek
table from the `Info` header, but this results in less precise seeking
than if we ignore it and assume the file is CBR.
* Audio:
* Video: * Video:
* Change the `MediaCodecVideoRenderer` constructor that takes a * Change the `MediaCodecVideoRenderer` constructor that takes a
`VideoFrameProcessor.Factory` argument and replace it with a constructor `VideoFrameProcessor.Factory` argument and replace it with a constructor
@ -83,7 +123,6 @@
`rowLock` and `columnLock` should both be assumed to be true, regardless `rowLock` and `columnLock` should both be assumed to be true, regardless
of the values present in the stream (`columnLock` support is not of the values present in the stream (`columnLock` support is not
implemented, so it's effectively assumed to always be false). implemented, so it's effectively assumed to always be false).
* Metadata:
* DRM: * DRM:
* Play 'clear lead' unencrypted samples in DRM content immediately by * Play 'clear lead' unencrypted samples in DRM content immediately by
default, even if the keys for the later encrypted samples aren't ready default, even if the keys for the later encrypted samples aren't ready
@ -94,33 +133,19 @@
[`MediaItem.DrmConfiguration.Builder.setPlayClearContentWithoutKey`](https://developer.android.com/reference/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setPlayClearContentWithoutKey\(boolean\)) [`MediaItem.DrmConfiguration.Builder.setPlayClearContentWithoutKey`](https://developer.android.com/reference/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setPlayClearContentWithoutKey\(boolean\))
or or
[`DefaultDrmSessionManager.Builder.setPlayClearSamplesWithoutKeys`](https://developer.android.com/reference/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.Builder#setPlayClearSamplesWithoutKeys\(boolean\)). [`DefaultDrmSessionManager.Builder.setPlayClearSamplesWithoutKeys`](https://developer.android.com/reference/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.Builder#setPlayClearSamplesWithoutKeys\(boolean\)).
* Effect:
* Muxers:
* IMA extension: * IMA extension:
* Fix issue where DASH and HLS ads without the appropriate file extension * Fix issue where DASH and HLS ads without the appropriate file extension
can't be played. can't be played.
* Session:
* UI:
* Downloads:
* OkHttp Extension:
* Cronet Extension:
* RTMP Extension:
* HLS Extension: * HLS Extension:
* Reduce `HlsMediaPeriod` to package-private visibility. This type * Reduce `HlsMediaPeriod` to package-private visibility. This type
shouldn't be directly depended on from outside the HLS package. shouldn't be directly depended on from outside the HLS package.
* DASH Extension:
* Smooth Streaming Extension:
* RTSP Extension:
* Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.): * Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
* MIDI decoder: Ignore SysEx event messages * MIDI decoder: Ignore SysEx event messages
([#710](https://github.com/androidx/media/pull/710)). ([#710](https://github.com/androidx/media/pull/710)).
* Leanback extension:
* Cast Extension:
* Test Utilities: * Test Utilities:
* Don't pause playback in `TestPlayerRunHelper.playUntilPosition`. The * Don't pause playback in `TestPlayerRunHelper.playUntilPosition`. The
test keeps the playback in a playing state, but suspends progress until test keeps the playback in a playing state, but suspends progress until
the test is able to add assertions and further actions. the test is able to add assertions and further actions.
* Remove deprecated symbols:
* Demo app: * Demo app:
* Add a shortform demo module to demo the usage of `PreloadMediaSource` * Add a shortform demo module to demo the usage of `PreloadMediaSource`
with the short-form content use case. with the short-form content use case.
@ -172,10 +197,6 @@ This release includes the following changes since the
* Catch `OutOfMemoryError` when parsing very large ID3 frames, meaning * Catch `OutOfMemoryError` when parsing very large ID3 frames, meaning
playback can continue without the tag info instead of playback failing playback can continue without the tag info instead of playback failing
completely. completely.
* Image:
* Add support for DASH thumbnails. Grid images are cropped and individual
thumbnails are provided to `ImageOutput` close to their presentation
times.
* DRM: * DRM:
* Extend workaround for spurious ClearKey `https://default.url` license * Extend workaround for spurious ClearKey `https://default.url` license
URL to API 33+ (previously the workaround only applied on API 33 URL to API 33+ (previously the workaround only applied on API 33