From 80982d061e193531f94321e4b4ab56c12293ac0b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 9 Mar 2024 13:33:13 +0100 Subject: [PATCH] Update androidx.media3 to v1.3.0 (#4313) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [androidx.media3:media3-ui](https://togithub.com/androidx/media) | `1.2.1` -> `1.3.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-ui/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-ui/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-ui/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-ui/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.media3:media3-datasource-okhttp](https://togithub.com/androidx/media) | `1.2.1` -> `1.3.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-datasource-okhttp/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-datasource-okhttp/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-datasource-okhttp/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-datasource-okhttp/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [androidx.media3:media3-exoplayer](https://togithub.com/androidx/media) | `1.2.1` -> `1.3.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.media3:media3-exoplayer/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.media3:media3-exoplayer/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.media3:media3-exoplayer/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.media3:media3-exoplayer/1.2.1/1.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
androidx/media (androidx.media3:media3-ui) ### [`v1.3.0`](https://togithub.com/androidx/media/blob/HEAD/RELEASENOTES.md#130-2024-03-06) [Compare Source](https://togithub.com/androidx/media/compare/1.2.1...1.3.0) This release includes the following changes since the [1.2.1 release](#​121-2024-01-09): - Common Library: - Implement support for `android.resource://package/[type/]name` raw resource URIs where `package` is different to the package of the current application. This has always been documented to work, but wasn't correctly implemented until now. - Normalize MIME types set by app code or read from media to be fully lower-case. - Define ads with a full `MediaItem` instead of a single `Uri` in `AdPlaybackState`. - Increase `minSdk` to 19 (Android KitKat). This is [aligned with all other AndroidX libraries](https://android-developers.googleblog.com/2023/10/androidx-minsdkversion-19.html), and is required for us to upgrade to the latest versions of our AndroidX dependencies. - Populate both `artworkUri` and `artworkData` in `MediaMetadata.Builder.populate(MediaMetadata)` when at least one of them is non-null ([#​964](https://togithub.com/androidx/media/issues/964)). - ExoPlayer: - Add `PreloadMediaSource` and `PreloadMediaPeriod` that allows apps to preload a content media source at a specific start position before playback. `PreloadMediaSource` takes care of preparing the content media source to receive the `Timeline`, preparing and caching the period at the given start position, selecting tracks and loading media data for the period. Apps control the preload progress by implementing `PreloadMediaSource.PreloadControl` and set the preloaded source to the player for playback. - Add `ExoPlayer.setImageOutput` that allows apps to set `ImageRenderer.ImageOutput`. - `DefaultRenderersFactory` now provides an `ImageRenderer` to the player by default with null `ImageOutput` and `ImageDecoder.Factory.DEFAULT`. - Emit `Player.Listener.onPositionDiscontinuity` event when silence is skipped ([#​765](https://togithub.com/androidx/media/issues/765)). - Add experimental support for parsing subtitles during extraction. You can enable this using `MediaSource.Factory.experimentalParseSubtitlesDuringExtraction()`. - Support adaptive media sources with `PreloadMediaSource`. - Implement `HttpEngineDataSource`, an `HttpDataSource` using the [HttpEngine](https://developer.android.com/reference/android/net/http/HttpEngine) API. - Prevent subclassing `CompositeSequenceableLoader`. This component was [previously made extensible](https://togithub.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`. - Fix issue where repeating the same time causes metadata from this item to be cleared ([#​1007](https://togithub.com/androidx/media/issues/1007)). - Rename `experimentalSetSubtitleParserFactory` methods on `BundledChunkExtractor.Factory` and `DefaultHlsExtractorFactory` to `setSubtitleParserFactory` and disallow passing `null`. Use the new `experimentalParseSubtitlesDuringExtraction(boolean)` methods to control parsing behaviour. - Add support for customising the `SubtitleParser.Factory` used during extraction. This can be achieved with `MediaSource.Factory.setSubtitleParserFactory()`. - Add source prefix to all `Format.id` fields generated from `MergingMediaSource`. This helps to identify which source produced a `Format` ([#​883](https://togithub.com/androidx/media/issues/883)). - Fix the regex used for validating custom Common Media Client Data (CMCD) key names by modifying it to only check for hyphen ([#​1028](https://togithub.com/androidx/media/issues/1028)). - Stop double-encoding CMCD query parameters ([#​1075](https://togithub.com/androidx/media/issues/1075)). - Transformer: - Add support for flattening H.265/HEVC SEF slow motion videos. - Increase transmuxing speed, especially for 'remove video' edits. - 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 implementations that don't show the first video frame until its presentation timestamp ([#​829](https://togithub.com/androidx/media/issues/829)). - Add support for optimizing single asset mp4 trim operations. - Add support to ensure a video frame has the first timestamp in the output file. Fixes output files beginning with black frame on iOS based players ([#​829](https://togithub.com/androidx/media/issues/829)). - Track Selection: - Add `DefaultTrackSelector.selectImageTrack` to enable image track selection. - Add `TrackSelectionParameters.isPrioritizeImageOverVideoEnabled` to determine whether to select an image track if both an image track and a video track are available. The default value is `false` which means selecting a video track is prioritized. - Extractors: - Add additional AV1C parsing to MP4 extractor to retrieve `ColorInfo.colorSpace`, `ColorInfo.colorTransfer`, and `ColorInfo.colorRange` values ([#​692](https://togithub.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. - MPEG2-TS: Add DTS, DTS-LBR and DTS:X Profile2 support ([#​275](https://togithub.com/androidx/media/pull/275)). - Extract audio types from TS descriptors and map them to role flags, allowing users to make better-informed audio track selections ([#​973](https://togithub.com/androidx/media/pull/973)). - Audio: - Improve silence skipping algorithm with smooth volume ramp; retained minimal silence and more natural silence durations ([#​7423](https://togithub.com/google/ExoPlayer/issues/7423)). - Report the skipped silence more deterministically ([#​1035](https://togithub.com/androidx/media/issues/1035)). - Video: - Change the `MediaCodecVideoRenderer` constructor that takes a `VideoFrameProcessor.Factory` argument and replace it with a constructor that takes a `VideoSinkProvider` argument. Apps that want to inject a custom `VideoFrameProcessor.Factory` can instantiate a `CompositingVideoSinkProvider` that uses the custom `VideoFrameProcessor.Factory` and pass the video sink provider to `MediaCodecVideoRenderer`. - Text: - Fix serialization of bitmap cues to resolve `Tried to marshall a Parcel that contained Binder objects` error when using `DefaultExtractorsFactory.setTextTrackTranscodingEnabled` ([#​836](https://togithub.com/androidx/media/issues/836)). - CEA-708: Ignore `rowLock` value. The CEA-708-E S-2023 spec states that `rowLock` and `columnLock` should both be assumed to be true, regardless of the values present in the stream (`columnLock` support is not implemented, so it's effectively assumed to always be false). - Image: - Add support for DASH thumbnails. Grid images are cropped and individual thumbnails are provided to `ImageOutput` close to their presentation times. - DRM: - Play 'clear lead' unencrypted samples in DRM content immediately by 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 when the playback position reaches the encrypted samples (but previously playback wouldn't have started at all by this point). This behavior can be disabled with [`MediaItem.DrmConfiguration.Builder.setPlayClearContentWithoutKey`](https://developer.android.com/reference/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setPlayClearContentWithoutKey\(boolean\)) or [`DefaultDrmSessionManager.Builder.setPlayClearSamplesWithoutKeys`](https://developer.android.com/reference/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.Builder#setPlayClearSamplesWithoutKeys\(boolean\)). - IMA extension: - Fix issue where DASH and HLS ads without the appropriate file extension can't be played. - Session: - Disable double-click detection for TV apps ([#​962](https://togithub.com/androidx/media/issues/962)). - Fix issue where `MediaItem.RequestMetadata` with just non-null extras is not transmitted between media controllers and sessions. - Add constructor to `MediaLibrarySession.Builder` that only takes a `Context` instead of a `MediaLibraryService`. - HLS Extension: - Reduce `HlsMediaPeriod` to package-private visibility. This type shouldn't be directly depended on from outside the HLS package. - Resolve seeks to beginning of a segment more efficiently ([#​1031](https://togithub.com/androidx/media/pull/1031)). - Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.): - MIDI decoder: Ignore SysEx event messages ([#​710](https://togithub.com/androidx/media/pull/710)). - 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. - Demo app: - Add a shortform demo module to demo the usage of `PreloadMediaSource` with the short-form content use case.
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/tuskyapp/Tusky). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9a7f65788..d3c895884 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,7 +10,7 @@ androidx-exifinterface = "1.3.7" androidx-fragment = "1.6.2" androidx-junit = "1.1.5" androidx-lifecycle = "2.7.0" -androidx-media3 = "1.2.1" +androidx-media3 = "1.3.0" androidx-paging = "3.2.1" androidx-preference = "1.2.1" androidx-recyclerview = "1.3.0"