mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Bump media3 version to 1.2.1 and update RELEASENOTES
#minor-release PiperOrigin-RevId: 596916027
This commit is contained in:
parent
dee2d3af73
commit
324e1beef2
1
.github/ISSUE_TEMPLATE/bug.yml
vendored
1
.github/ISSUE_TEMPLATE/bug.yml
vendored
@ -17,6 +17,7 @@ body:
|
|||||||
label: Version
|
label: Version
|
||||||
description: What version of Media3 (or ExoPlayer) are you using?
|
description: What version of Media3 (or ExoPlayer) are you using?
|
||||||
options:
|
options:
|
||||||
|
- Media3 1.2.1
|
||||||
- Media3 1.2.0
|
- Media3 1.2.0
|
||||||
- Media3 main branch
|
- Media3 main branch
|
||||||
- Media3 pre-release (alpha, beta or RC not in this list)
|
- Media3 pre-release (alpha, beta or RC not in this list)
|
||||||
|
142
RELEASENOTES.md
142
RELEASENOTES.md
@ -24,22 +24,9 @@
|
|||||||
by default with null `ImageOutput` and `ImageDecoder.Factory.DEFAULT`.
|
by default with null `ImageOutput` and `ImageDecoder.Factory.DEFAULT`.
|
||||||
* Emit `Player.Listener.onPositionDiscontinuity` event when silence is
|
* Emit `Player.Listener.onPositionDiscontinuity` event when silence is
|
||||||
skipped ([#765](https://github.com/androidx/media/issues/765)).
|
skipped ([#765](https://github.com/androidx/media/issues/765)).
|
||||||
* Fix issue where manual seeks outside of the
|
|
||||||
`LiveConfiguration.min/maxOffset` range keep adjusting the offset back
|
|
||||||
to `min/maxOffset`.
|
|
||||||
* Add experimental support for parsing subtitles during extraction. You
|
* Add experimental support for parsing subtitles during extraction. You
|
||||||
can enable this using
|
can enable this using
|
||||||
`MediaSource.Factory.experimentalParseSubtitlesDuringExtraction()`.
|
`MediaSource.Factory.experimentalParseSubtitlesDuringExtraction()`.
|
||||||
* Fix issue that OPUS and VORBIS channel layouts are wrong for 3, 5, 6, 7
|
|
||||||
and 8 channels
|
|
||||||
([#8396](https://github.com/google/ExoPlayer/issues/8396)).
|
|
||||||
* Fix issue where track selections after seek to zero in a live stream
|
|
||||||
incorrectly let the stream start at its default position
|
|
||||||
([#9347](https://github.com/google/ExoPlayer/issues/9347)).
|
|
||||||
* Fix the issue where new instances of `CmcdData.Factory` were receiving
|
|
||||||
negative values for `bufferedDurationUs` from chunk sources, resulting
|
|
||||||
in an `IllegalArgumentException`
|
|
||||||
([#888](https://github.com/androidx/media/issues/888)).
|
|
||||||
* Support adaptive media sources with `PreloadMediaSource`.
|
* Support adaptive media sources with `PreloadMediaSource`.
|
||||||
* 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)
|
||||||
@ -47,8 +34,6 @@
|
|||||||
* 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.
|
||||||
* Work around an issue where the encoder would throw at configuration time
|
|
||||||
due to setting a high operating rate.
|
|
||||||
* Add api to ensure that the output file starts on a video frame. This can
|
* Add api to ensure that the output file starts on a video frame. This can
|
||||||
make the output of trimming operations more compatible with player
|
make the output of trimming operations more compatible with player
|
||||||
implementations that don't show the first video frame until its
|
implementations that don't show the first video frame until its
|
||||||
@ -66,21 +51,8 @@
|
|||||||
`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)).
|
||||||
* Mark secondary (unplayable) HEVC tracks in JPEG motion photos as
|
|
||||||
`ROLE_FLAG_ALTERNATE` to prevent them being automatically selected for
|
|
||||||
playback because of their higher resolution.
|
|
||||||
* Fix wrong keyframe detection for TS H264 streams
|
|
||||||
([#864](https://github.com/androidx/media/pull/864)).
|
|
||||||
* Fix duration estimation of TS streams that are longer than 47721 seconds
|
|
||||||
([#855](https://github.com/androidx/media/issues/855)).
|
|
||||||
* Audio:
|
* Audio:
|
||||||
* Fix handling of EOS for `SilenceSkippingAudioProcessor` when called
|
|
||||||
multiple times ([#712](https://github.com/androidx/media/issues/712)).
|
|
||||||
* 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 AVC streams to be
|
|
||||||
marked as unsupported
|
|
||||||
([#693](https://github.com/androidx/media/issues/693)).
|
|
||||||
* 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
|
||||||
that takes a `VideoSinkProvider` argument. Apps that want to inject a
|
that takes a `VideoSinkProvider` argument. Apps that want to inject a
|
||||||
@ -98,19 +70,7 @@
|
|||||||
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:
|
* Metadata:
|
||||||
* Fix bug where `MediaMetadata` was only populated from Vorbis comments
|
|
||||||
with upper-case keys
|
|
||||||
([#876](https://github.com/androidx/media/issues/876)).
|
|
||||||
* Catch `OutOfMemoryError` when parsing very large ID3 frames, meaning
|
|
||||||
playback can continue without the tag info instead of playback failing
|
|
||||||
completely.
|
|
||||||
* DRM:
|
* DRM:
|
||||||
* Extend workaround for spurious ClearKey `https://default.url` license
|
|
||||||
URL to API 33+ (previously the workaround only applied on API 33
|
|
||||||
exactly) ([#837](https://github.com/androidx/media/pull/837)).
|
|
||||||
* Fix `ERROR_DRM_SESSION_NOT_OPENED` when switching from encrypted to
|
|
||||||
clear content without a surface attached to the player. The error was
|
|
||||||
due to incorrectly using a secure decoder to play the clear content.
|
|
||||||
* 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
|
||||||
yet. This may lead to mid-playback stalls if the keys still aren't ready
|
yet. This may lead to mid-playback stalls if the keys still aren't ready
|
||||||
@ -125,6 +85,86 @@
|
|||||||
* 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:
|
||||||
|
* Reduce `HlsMediaPeriod` to package-private visibility. This type
|
||||||
|
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.):
|
||||||
|
* MIDI decoder: Ignore SysEx event messages
|
||||||
|
([#710](https://github.com/androidx/media/pull/710)).
|
||||||
|
* Leanback extension:
|
||||||
|
* Cast Extension:
|
||||||
|
* Test Utilities:
|
||||||
|
* Don't pause playback in `TestPlayerRunHelper.playUntilPosition`. The
|
||||||
|
test keeps the playback in a playing state, but suspends progress until
|
||||||
|
the test is able to add assertions and further actions.
|
||||||
|
* Remove deprecated symbols:
|
||||||
|
* Demo app:
|
||||||
|
* Add a shortform demo module to demo the usage of `PreloadMediaSource`
|
||||||
|
with the short-form content use case.
|
||||||
|
|
||||||
|
## 1.2
|
||||||
|
|
||||||
|
### 1.2.1 (2024-01-09)
|
||||||
|
|
||||||
|
This release includes the following changes since the
|
||||||
|
[1.2.0 release](#120-2023-11-15):
|
||||||
|
|
||||||
|
* ExoPlayer:
|
||||||
|
* Fix issue where manual seeks outside of the
|
||||||
|
`LiveConfiguration.min/maxOffset` range keep adjusting the offset back
|
||||||
|
to `min/maxOffset`.
|
||||||
|
* Fix issue that OPUS and VORBIS channel layouts are wrong for 3, 5, 6, 7
|
||||||
|
and 8 channels
|
||||||
|
([#8396](https://github.com/google/ExoPlayer/issues/8396)).
|
||||||
|
* Fix issue where track selections after seek to zero in a live stream
|
||||||
|
incorrectly let the stream start at its default position
|
||||||
|
([#9347](https://github.com/google/ExoPlayer/issues/9347)).
|
||||||
|
* Fix the issue where new instances of `CmcdData.Factory` were receiving
|
||||||
|
negative values for `bufferedDurationUs` from chunk sources, resulting
|
||||||
|
in an `IllegalArgumentException`
|
||||||
|
([#888](https://github.com/androidx/media/issues/888)).
|
||||||
|
* Transformer:
|
||||||
|
* Work around an issue where the encoder would throw at configuration time
|
||||||
|
due to setting a high operating rate.
|
||||||
|
* Extractors:
|
||||||
|
* Mark secondary (unplayable) HEVC tracks in JPEG motion photos as
|
||||||
|
`ROLE_FLAG_ALTERNATE` to prevent them being automatically selected for
|
||||||
|
playback because of their higher resolution.
|
||||||
|
* Fix wrong keyframe detection for TS H264 streams
|
||||||
|
([#864](https://github.com/androidx/media/pull/864)).
|
||||||
|
* Fix duration estimation of TS streams that are longer than 47721 seconds
|
||||||
|
([#855](https://github.com/androidx/media/issues/855)).
|
||||||
|
* Audio:
|
||||||
|
* Fix handling of EOS for `SilenceSkippingAudioProcessor` when called
|
||||||
|
multiple times ([#712](https://github.com/androidx/media/issues/712)).
|
||||||
|
* Video:
|
||||||
|
* Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with
|
||||||
|
Google TV, and Lenovo M10 FHD Plus that causes 60fps AVC streams to be
|
||||||
|
marked as unsupported
|
||||||
|
([#693](https://github.com/androidx/media/issues/693)).
|
||||||
|
* Metadata:
|
||||||
|
* Fix bug where `MediaMetadata` was only populated from Vorbis comments
|
||||||
|
with upper-case keys
|
||||||
|
([#876](https://github.com/androidx/media/issues/876)).
|
||||||
|
* Catch `OutOfMemoryError` when parsing very large ID3 frames, meaning
|
||||||
|
playback can continue without the tag info instead of playback failing
|
||||||
|
completely.
|
||||||
|
* DRM:
|
||||||
|
* Extend workaround for spurious ClearKey `https://default.url` license
|
||||||
|
URL to API 33+ (previously the workaround only applied on API 33
|
||||||
|
exactly) ([#837](https://github.com/androidx/media/pull/837)).
|
||||||
|
* Fix `ERROR_DRM_SESSION_NOT_OPENED` when switching from encrypted to
|
||||||
|
clear content without a surface attached to the player. The error was
|
||||||
|
due to incorrectly using a secure decoder to play the clear content.
|
||||||
* Session:
|
* Session:
|
||||||
* Put the custom keys and values in `MediaMetadataCompat` to
|
* Put the custom keys and values in `MediaMetadataCompat` to
|
||||||
`MediaMetadata.extras` and `MediaMetadata.extras` to
|
`MediaMetadata.extras` and `MediaMetadata.extras` to
|
||||||
@ -146,41 +186,19 @@
|
|||||||
* Fix issue where the numbers in the fast forward button of the
|
* Fix issue where the numbers in the fast forward button of the
|
||||||
`PlayerControlView` were misaligned
|
`PlayerControlView` were misaligned
|
||||||
([#547](https://github.com/androidx/media/issues/547)).
|
([#547](https://github.com/androidx/media/issues/547)).
|
||||||
* Downloads:
|
|
||||||
* OkHttp Extension:
|
|
||||||
* Cronet Extension:
|
|
||||||
* RTMP Extension:
|
|
||||||
* HLS Extension:
|
|
||||||
* Reduce `HlsMediaPeriod` to package-private visibility. This type
|
|
||||||
shouldn't be directly depended on from outside the HLS package.
|
|
||||||
* DASH Extension:
|
* DASH Extension:
|
||||||
* Parse "f800" as channel count of 5 for Dolby in DASH manifest
|
* Parse "f800" as channel count of 5 for Dolby in DASH manifest
|
||||||
([#688](https://github.com/androidx/media/issues/688)).
|
([#688](https://github.com/androidx/media/issues/688)).
|
||||||
* 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
|
|
||||||
([#710](https://github.com/androidx/media/pull/710)).
|
|
||||||
* MIDI: Fix issue where seeking forward skips the Program Change events
|
* MIDI: Fix issue where seeking forward skips the Program Change events
|
||||||
([#704](https://github.com/androidx/media/issues/704).
|
([#704](https://github.com/androidx/media/issues/704).
|
||||||
* Migrate to FFmpeg 6.0 and update supported NDK to `r26b`
|
* Migrate to FFmpeg 6.0 and update supported NDK to `r26b`
|
||||||
([#707](https://github.com/androidx/media/pull/707),
|
([#707](https://github.com/androidx/media/pull/707),
|
||||||
[#867](https://github.com/androidx/media/pull/867)).
|
[#867](https://github.com/androidx/media/pull/867)).
|
||||||
* Leanback extension:
|
|
||||||
* Cast Extension:
|
* Cast Extension:
|
||||||
* Sanitize creation of a `Timeline` to not crash the app when loading
|
* Sanitize creation of a `Timeline` to not crash the app when loading
|
||||||
media fails on the cast device
|
media fails on the cast device
|
||||||
([#708](https://github.com/androidx/media/issues/708)).
|
([#708](https://github.com/androidx/media/issues/708)).
|
||||||
* Test Utilities:
|
|
||||||
* Don't pause playback in `TestPlayerRunHelper.playUntilPosition`. The
|
|
||||||
test keeps the playback in a playing state, but suspends progress until
|
|
||||||
the test is able to add assertions and further actions.
|
|
||||||
* Remove deprecated symbols:
|
|
||||||
* Demo app:
|
|
||||||
* Add a shortform demo module to demo the usage of `PreloadMediaSource`
|
|
||||||
with the short-form content use case.
|
|
||||||
|
|
||||||
## 1.2
|
|
||||||
|
|
||||||
### 1.2.0 (2023-11-15)
|
### 1.2.0 (2023-11-15)
|
||||||
|
|
||||||
|
@ -12,8 +12,8 @@
|
|||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
project.ext {
|
project.ext {
|
||||||
releaseVersion = '1.2.0'
|
releaseVersion = '1.2.1'
|
||||||
releaseVersionCode = 1_002_000_3_00
|
releaseVersionCode = 1_002_001_3_00
|
||||||
minSdkVersion = 16
|
minSdkVersion = 16
|
||||||
// See https://developer.android.com/training/cars/media/automotive-os#automotive-module
|
// See https://developer.android.com/training/cars/media/automotive-os#automotive-module
|
||||||
automotiveMinSdkVersion = 28
|
automotiveMinSdkVersion = 28
|
||||||
|
@ -29,11 +29,11 @@ public final class MediaLibraryInfo {
|
|||||||
|
|
||||||
/** The version of the library expressed as a string, for example "1.2.3" or "1.2.0-beta01". */
|
/** The version of the library expressed as a string, for example "1.2.3" or "1.2.0-beta01". */
|
||||||
// Intentionally hardcoded. Do not derive from other constants (e.g. VERSION_INT) or vice versa.
|
// Intentionally hardcoded. Do not derive from other constants (e.g. VERSION_INT) or vice versa.
|
||||||
public static final String VERSION = "1.2.0";
|
public static final String VERSION = "1.2.1";
|
||||||
|
|
||||||
/** The version of the library expressed as {@code TAG + "/" + VERSION}. */
|
/** The version of the library expressed as {@code TAG + "/" + VERSION}. */
|
||||||
// Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa.
|
// Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa.
|
||||||
public static final String VERSION_SLASHY = "AndroidXMedia3/1.2.0";
|
public static final String VERSION_SLASHY = "AndroidXMedia3/1.2.1";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The version of the library expressed as an integer, for example 1002003300.
|
* The version of the library expressed as an integer, for example 1002003300.
|
||||||
@ -47,7 +47,7 @@ public final class MediaLibraryInfo {
|
|||||||
* (123-045-006-3-00).
|
* (123-045-006-3-00).
|
||||||
*/
|
*/
|
||||||
// Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa.
|
// Intentionally hardcoded. Do not derive from other constants (e.g. VERSION) or vice versa.
|
||||||
public static final int VERSION_INT = 1_002_000_3_00;
|
public static final int VERSION_INT = 1_002_001_3_00;
|
||||||
|
|
||||||
/** Whether the library was compiled with {@link Assertions} checks enabled. */
|
/** Whether the library was compiled with {@link Assertions} checks enabled. */
|
||||||
public static final boolean ASSERTIONS_ENABLED = true;
|
public static final boolean ASSERTIONS_ENABLED = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user