Update all dependencies (main) #499
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
8.10.2->8.11.12.52->2.53.12.52->2.53.12.52->2.53.14.13->4.14.12.8.3->2.8.52024.10.01->2024.12.012.8.3->2.8.52.8.3->2.8.52.52->2.53.12.8.3->2.8.58.7.2->8.7.38.7.2->8.7.31.7.5->1.7.61.4.1->1.5.01.4.1->1.5.01.7.5->1.7.62.1.2->2.1.38.7.2->8.7.3Release Notes
gradle/gradle (gradle)
v8.11.1: 8.11.1Compare Source
This is a patch release for Gradle 8.11. We recommend users upgrade to 8.11.1 instead of 8.11.
It fixes the following issues:
Read the Release Notes
Upgrade instructions
Switch your build to use Gradle 8.11.1 by updating your wrapper:
See the Gradle 8.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see the full compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.
v8.11: 8.11Compare Source
The Gradle team is excited to announce Gradle 8.11.
Read the Release Notes
We would like to thank the following community members for their contributions to this release of Gradle:
Adam,
alyssoncs,
Bilel MEDIMEGH,
Björn Kautler,
Chuck Thomas,
Daniel Lacasse,
Finn Petersen,
JK,
Jérémie Bresson,
luozexuan,
Mahdi Hosseinzadeh,
Markus Gaisbauer,
Matthew Haughton,
Matthew Von-Maszewski,
ploober,
Siarhei,
Titus James,
vrp0211
Upgrade instructions
Switch your build to use Gradle 8.11 by updating your wrapper:
See the Gradle 8.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.
For Java, Groovy, Kotlin and Android compatibility, see the full compatibility notes.
Reporting problems
If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines.
If you're not sure you're encountering a bug, please use the forum.
We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.
androidx/media (androidx.media3:media3-ui)
v1.5.0Compare Source
This release includes the following changes since the
1.4.1 release:
ForwardingSimpleBasePlayerthat allows forwarding to anotherplayer with small adjustments while ensuring full consistency and
listener handling
(#1183).
SimpleBasePlayer.State.playlistbygetPlaylist()method.SimpleBasePlayer.State.Builder.setPlaylist()todirectly specify a
Timelineand currentTracksandMetadatainstead of building a playlist structure.
minSdkto 21 (Android Lollipop). This is aligned with allother AndroidX libraries.
androidx.media3:media3-common-ktxartifact which providesKotlin-specific functionality built on top of the Common library
Player.listensuspending extension function to spin a coroutine tolisten to
Player.Eventsto themedia3-common-ktxlibrary.@DoNotInlineannotations from manually out-of-lined innerclasses designed to avoid
runtime class verification failures.
Recent versions of R8
now automatically out-of-line calls like these to avoid the runtime
failures (so the manual out-of-lining is no longer required). All Gradle
users of the library must already be a using a version of the Android
Gradle Plugin that uses a version of R8 which does this,
due to
compileSdk = 35.Users of the library with non-Gradle build systems will need to ensure
their R8-equivalent shrinking/obfuscating step does a similar automatic
out-of-lining process in order to avoid runtime class verification
failures. This change has
already been done in other AndroidX libraries.
MediaCodecRenderer.onProcessedStreamChange()can now be called forevery media item. Previously it was not called for the first one. Use
MediaCodecRenderer.experimentalEnableProcessedStreamChangedAtStart()to enable this.
PreloadMediaSource.PreloadControl.onPreloadErrorto allowPreloadMediaSource.PreloadControlimplementations to take actions whenerror occurs.
BasePreloadManager.Listenerto propagate preload events to apps.timeout (#1540).
MediaCodecAdapter.Configuration.flagsas the field was alwayszero.
API 35+ (where the device advertises support for this).
Context.getSystemService(Context.AUDIO_SERVICE)until audio focushandling is enabled. This ensures the blocking call isn't done if audio
focus handling is not enabled
(#1616).
(#1571).
AnalyticsListener.onRendererReadyChanged()to signal whenindividual renderers allow playback to be ready.
MediaCodec.CryptoExceptionsometimes being reported as an"unexpected runtime error" when
MediaCodecis operated in asynchronousmode (default behaviour on API 31+).
bufferedDurationUsinstead ofbufferedPositionUswithPreloadMediaSource.PreloadControl.onContinueLoadingRequested(). Alsochanges
DefaultPreloadManager.Status.STAGE_LOADED_TO_POSITION_MStoDefaultPreloadManager.Status.STAGE_LOADED_FOR_DURATION_MS, apps thenneed to pass a value representing a specific duration from the default
start position for which the corresponding media source has to be
preloaded with this IntDef, instead of a position.
ForwardingRendererimplementation that forwards all method callsto another renderer
(1703).
enable preloading by calling
ExoPlayer.setPreloadConfiguration(PreloadConfiguration)accordingly.By default preloading is disabled. When opted-in and to not interfere
with playback,
DefaultLoadControlrestricts preloading to start andcontinue only when the player is not loading for playback. Apps can
change this behaviour by implementing
LoadControl.shouldContinuePreloading()accordingly (like whenoverriding this method in
DefaultLoadControl). The defaultimplementation of
LoadControldisables preloading in case an app isusing a custom implementation of
LoadControl.MediaSourceEventListener.EventDispatcher.dispatchEvent()toallow invoking events of subclass listeners
(1736).
DefaultPreloadManager.Builderthat builds theDefaultPreloadManagerandExoPlayerinstances with consistentlyshared configurations.
Renderer[]parameter fromLoadControl.onTracksSelected()asDefaultLoadControlimplementation can retrieve the stream types fromExoTrackSelection[].DefaultLoadControl.calculateTargetBufferBytes(Renderer[], ExoTrackSelection[])and marked method as final to prevent overrides.The new
DefaultLoadControl.calculateTargetBufferBytes(ExoTrackSelection[])should be used instead.
MediaSourceEventListenerevents from secondary sources inMergingMediaSource. This will result in loadstart/error/cancelled/completed events being reported for sideloaded
subtitles (those added with
MediaItem.LocalConfiguration.subtitleConfigurations), which may appearas duplicate load events emitted from
AnalyticsListener.Instead the problematic track is disabled and playback of the remaining
tracks continues
(#1722).
invalid subtitle data) and load errors (e.g. HTTP 404) are emitted
via
onLoadErrorcallbacks.errors are emitted via
onLoadErrorcallbacks while parse errorsare silently ignored (this is pre-existing behaviour).
with durations that don't match the actual content could cause frame
freezes at the end of the item
(#1698).
SntpClientto set the max elapsed time since the lastupdate after which the client is re-initialized
(#1794).
SurfaceAssetLoader, which supports queueing video data toTransformer via a
Surface.ImageAssetLoaderreports unsupported input viaAssetLoader.onErrorinstead of throwing an
IllegalStateException.MediaItem.Builder.setImageDurationMsmandatory for image export.DefaultTrackSelector: Prefer object-based audio over channel-basedaudio when other factors are equal.
Mp4ExtractorandFragmentedMp4Extractorto identify H264samples that are not used as reference by subsequent samples.
AmrExtractor.(instead of invalid). This means files with non-MP3 data at the end,
with no other metadata to indicate the length of the MP3 bytes, now stop
playback at the end of the MP3 data instead of failing with
ParserException: Searched too many bytes.{contentIsMalformed=true, dataType=1}(#1563).processing edit lists in MP4 files
(#1659).
mdhdbox in
Mp4ExtractorandFragmentedMp4Extractor(#1531).
media_timein MP4 edit lists. Whilesegment_durationwas already correctly scaled using the movietimescale,
media_timeis now properly scaled using the tracktimescale, as specified by the MP4 format standard
(#1792).
endIndicescalculation for MP4 with editlist (#1797).
mdhdbox of MP4 files to handle-1values (#1819).
h263box in MP4 files for H.263 video(#1821).
(#1265).
HttpEngineDataSourceto allow use starting at version Sextension 7 instead of API level 34
(#1262).
DataSourceContractTest: Assert thatDataSource.getUri()returns theresolved URI (as documented). Where this is different to the requested
URI, tests can indicate this using the new
DataSourceContractTest.TestResource.Builder.setResolvedUri()method.DataSourceContractTest: Assert thatDataSource.getUri()andgetResponseHeaders()return their 'open' value after a failed call toopen()(due to a 'not found' resource) and before a subsequentclose()call.DataSourceContractTest.getNotFoundResources()allowstest sub-classes to provide multiple 'not found' resources, and to
provide any expected headers too. This allows to distinguish between
HTTP 404 (with headers) and "server not found" (no headers).
present in the media.
time-stretching/pitch-shifting algorithm.
SpeedChangingAudioProcessorthat causes dropped outputframes.
MediaCodecVideoRendereravoids decoding samples that are neitherrendered nor used as reference by other samples.
MediaCodecAdaptermay now receive anullSurfaceinconfigureand calls to a new methoddetachOutputSurfaceto remove a previously set
Surfaceif the codec supports this(
MediaCodecInfo.detachedSurfaceSupported).MediaCodecAdaptersupplied pixel aspect ratio values if providedwhen processing
onOutputFormatChanged(#1371).
secure H264 streams to be marked as unsupported
(#1619).
returning an end-of-stream signal.
VoiceSpanand populate it forWebVTT voice spans
(#1632).
a 64-bit
longwhen represented as microseconds and multiplied by the90,000MPEG timebase) are displayed(#1763).
(#1820).
are enabled (#1863).
C.TRACK_TYPE_METADATAtype to tracks containing icy orvnd.dvb.ait content.
ExternallyLoadedImageDecoderfor simplified integration withexternal image loading libraries like Glide or Coil.
FileDescriptorDataSource, a newDataSourcethat can be used toread from a
FileDescriptor(#3757).
DefaultVideoFrameProcessorworkaround for minorSurfaceTexturescaling.
SurfaceTexturemay include a small scaling that cuts off a1-texel border around the edge of a cropped buffer. This is now handled
such that output is closer to expected.
DefaultVideoFrameProcessor.queueInputBitmap(). As a result,exporting images to videos with
Transformeris faster.ArrayIndexOutOfBoundsExceptioninImaServerSideAdInsertionMediaSource.result in an
ArrayIndexOutOfBoundsExceptionwhen playing past the lastmidroll (#1741).
MediaButtonReceiver.shouldStartForegroundService(Intent)to allowapps to suppress a play command coming in for playback resumption by
overriding this method. By default, the service is always started and
playback can't be suppressed without the system crashing the service
with a
ForegroundServiceDidNotStartInTimeException(#1528).
MediaBrowserbeingdispatched to the
MediaSessionCompat.Callbackinstead of theMediaBrowserServiceCompatvariant of the method when connected to alegacy service. This prevented the
MediaBrowserto receive the actualreturn value sent back by the legacy service
(#1474).
IllegalArgumentExceptionthrown by devices of certainmanufacturers when setting the broadcast receiver for media button
intents (#1730).
was known as
Custom browse actionswith the legacy library withMediaBrowserCompat. Note that with Media3 command buttons for mediaitems are available for both,
MediaBrowserandMediaController. SeeCustom Browse actions of AAOS.
app start a foreground service after requesting
play().CommandButton.Builder.setIconUrito only accept content Uris.MediaBrowserCompatwhen connecting to a legacyMediaBrowserCompat.The service can receive the connection hints passed in as root hints
with the first call to
onGetRoot().MediaBrowserconnected to a legacy browser service,didn't receive an error sent by the service after the browser has
subscribed to a
parentid.connected to a legacy
MediaBrowserServicedoesn't request the childrenof a
parentIdtwice when subscribing to a parent.PlayerView-in-Compose-AndroidViewworkaround opt-in, due to issueswith XML-based shared transitions. Apps using
PlayerViewinsideAndroidViewneed to callPlayerView.setEnableComposeSurfaceSyncWorkaroundin order to opt-in(#1237,
#1594).
setFullscreenButtonStatetoPlayerViewto allow updates offullscreen button's icon on demand, i.e. out-of-band and not reactively
to a click interaction
(#1590,
#184).
there are app-defined text track selection preferences.
(#1440).
Bad magic number for Bundleerror when playing SmoothStreamingstreams with text tracks
(#1779).
(#1138).
(#1225).
files containing IAMF tracks using the libiamf native library to
synthesize audio.
spatialization together with optional head tracking enabled, but
binaural playback support is currently not available.
(#1685).
enables the sender app to resume playback locally after a disconnection.
DeviceInfowhen aContextis provided. Thisenables linking the
MediaSessionto aRoutingSession, which isnecessary for integrating Output Switcher
(#1056).
DataSourceContractTestnow includes tests to verify:read positionis updated.offsetis applied correctly.(#1839).
Player.hasPrevious,Player.hasPreviousWindow().Use
Player.hasPreviousMediaItem()instead.Player.previous()method. UsePlayer.seekToPreviousMediaItem()instead.DrmSessionEventListener.onDrmSessionAcquiredmethod.DefaultEncoderFactoryconstructors. UseDefaultEncoderFactory.Builderinstead.google/desugar_jdk_libs (com.android.tools:desugar_jdk_libs)
v2.1.3SIMPLIFIED_CHINESEandTRADITIONAL_CHINESEis on the last code point convention for narrow format.See issue 300128109
Configuration
📅 Schedule: Branch creation - "* 0-3 * * *" (UTC), 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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.