Update all dependencies (end) - #582
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/end-all
branch
from
August 7, 2026 19:59
14e6f0f to
94b7a2d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
9.6.1→9.7.02.3.10→2.3.111.10.1→1.11.01.10.1→1.11.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
gradle/gradle (gradle)
v9.7.0Compare Source
google/ksp (com.google.devtools.ksp)
v2.3.11Compare Source
androidx/media (androidx.media3:media3-ui)
v1.11.0Compare Source
This release includes the following changes since the
1.10.1 release:
Format.channelMaskto explicitly represent the audio channel mask,and a new
Util.getAudioTrackChannelConfig(Format)overload to safelyresolve it.
IllegalStateExceptionorIndexOutOfBoundsExceptionin ExoPlayer.AdsMediaSourceto allow the ad groupcount to decrease when an ad group is fully processed
(
hasUnplayedAds()isfalse), accommodating dynamic ad group resizingduring reset workflows.
getFlags()andFLAG_STRICT_DURATIONtoSampleStreamto allowstreams to report flags, and update renderers to check these flags
dynamically.
MediaCodecVideoRendererandto the codec output format in
MediaCodecAudioRendererto calculate thecodec operating rate when the stream formats do not provide a valid
value, and avoid unnecessary codec resets.
player. Instead,
AdsMediaSourcetakes care of the clipping logic.Custom client-side inserted ads sources need to be updated to implement
the content clipping internally.
as
supported=NO_EXCEEDS_CAPABILITIESinstead ofsupported=YES(whichis how tracks with missing or malformed profile or level info are
marked). This ensures these tracks (which are unlikely to be supported
by the device) are not selected when there are better-supported
alternatives.
DefaultPreloadManager.SimpleRankingDataComparator, which is aRankingDataComparatorthat compares the ranks of the media items basedon their distances to the index of the current playing media item. Apps
can override its
compare(Integer, Integer)method if a more fine-tunedcomparison logic is needed. The custom
SimpleRankingDataComparatorcanbe injected via a new constructor of
DefaultPreloadManager.Builder.DefaultLoadControl.prioritizeTimeOverSizeThresholdsby falling back tobuffer byte size limits if available heap memory seems tight.
MediaItem.imageDurationUsis notset: JPEG and HEIC still images now 'play' with a very short default
duration (the same way PNG and other images previously behaved).
MediaSource.prepareSource(MediaSourceCaller, PlayerId, BandwidthMeter)to plumbBandwidthMetertoMediaSource. Thedeprecated method with custom implementation will still be called by
default though, it is recommended to implement the new method and use
BandwidthMeter.getTransferListener()to get parity to the old method.DefaultBandwidthMeter, add support for a customInitialBitrateSupplier. This allows apps to provide their own logicfor determining the initial bitrate estimate, which will be used on
creation of
DefaultBandwidthMeterand on network type changes. Thesupplier can be set via
DefaultBandwidthMeter.Builder.setInitialBitrateSupplier().ExoPlayerplayback work loopwill run dynamically as opposed to on a static interval.
pre-roll samples to active playback.
DefaultBandwidthMeter, optimizegetInitialBitrateCountryGroupAssignmentto return the country groupassignments packed into a 32-bit integer instead of an array, reducing
code size and avoiding allocations.
AudioTrackinitialization failures on some devices by ensuring theretry logic always attempts a minimum of 1 second buffer size if other
retries (by halving the buffer size) are unsuccessful
(#3207).
samples if previously flushed before receiving input buffers.
ExoPlayer.Builder.enablePerStreamMediaProgression()to allow advancing media processing on a per-stream basis. This reduces
startup latency between playlist items and avoids playback becoming
"stuck" with very short content
(#3122).
audio session id auto-generated by
ExoPlayerwould be used instead ofthe value set by
setAudioSessionId(#3241).
progressive media (e.g. MP4, Matroska). The player automatically merges
HAGC metadata tracks with the associated video track and delivers the
metadata out-of-band to the decoder on API 37+ devices. This behavior
can be disabled via
DefaultMediaSourceFactory.setExperimentalEnableHagcPlayback(false).Format.selectionPriorityrepresenting the relative preference ofthe
Formatin track selection(#3236).
seeking to 'end of stream'.
TrackSelectorinstances were not being released.ExportResult.fileSizeBytesmay be over-reported.BaseTrackSelection.DEFAULT_FORMAT_COMPARATORand addAdaptiveTrackSelection.Factory.setTrackFormatComparatorto allowcustom format ordering and ABR selection priority beyond bitrate-only
ordering.
to track selection parameters could result in some updates being lost or
overwritten.
FLAG_DISABLE_ARTWORK_METADATAto allowdiscarding attached pictures and cover art metadata during container
parsing to reduce runtime memory consumption
(#2077). This can also
be enabled centrally via
DefaultExtractorsFactory.setDisableArtworkMetadata.it35) timed metadatatracks.
QuickTime formats). QuickTime chapters are preferred if both are
present. The extracted chapter information is exposed as
Chapterentries within the track's
Metadata, allowing for native chapternavigation in MP4, M4A, and M4B files (such as audiobooks and podcasts)
(#2803).
(#3090).
ColorInfo.mfrabox when a
sidxbox is not present. To enable this, provideFLAG_READ_MFRA_FOR_SEEK_MAPto theFragmentedMp4Extractor, which isnow done by default in
DefaultExtractorsFactory(#3088).
av1Cdata with unsupported version.fpcmboxes.Chapterentries in a track'sMetadata.combining the Core and Extension Substream into a single sample, fixing
playback issues where the two were previously output as separate samples
(#3147).
ilstmetadata tag items(#3191).
PES packet has a known length
(#3206).
(#3250).
(#3268).
sgpdboxes in fragmented MP4 files(#3243).
tracks caused audio loss and
OutOfMemoryError.(#3183).
decoded PCM trimming
(#3200).
transitioning from ready to not-ready state, to debounce transient
underruns and avoid unexpected buffering states during active playout
(#3210).
DefaultAudioTrackBufferSizeProviderto use a fixed 500ms buffer tomake it less device dependent.
MediaCodecAudioRendererto extract the spatial channelMask fromthe platform decoder, allowing
DefaultAudioSinkto use this explicitmask instead of inferring one from the channel count.
AudioSink.configureto data class. Customoverrides of
ForwardingAudioSink.configureneed to be migrated to thenew method signature.
with
EditedMediaItem.Builder#setSpeed(SpeedParameters).ToFloatPcmAudioProcessorto support converting 8-bit PCM,16-bit big-endian PCM, and 64-bit floating point PCM to 32-bit floating
point PCM (#3090).
DecoderAudioRenderer.getChannelMappingtoImmutableIntArray.audio in compressed offload mode.
Timelineand period UID toAudioSink.configureandAudioProcessor.StreamMetadatato provide playlist context to the audioprocessors (#418).
AudioProcessor.StreamMetadata.positionOffsetUsto allowtime-based audio processing
(#418).
devices as their standard EAC3 decoders cannot decode EAC3-JOC streams
(#3257).
skipped instead of dropped.
drops on devices that don't support placeholder surfaces.
MediaCodecVideoRendererto be moreaccurate by accounting for dropped or skipped frames.
default is 50ms but one can customize the value through
MediaCodecVideoRenderer.Builder.setMaxEarlyUsThreshold().VideoFrameReleaseHelperwhere display changes could triggerredundant
Choreographercallbacks and excessive CPU wakeups on themain thread.
displayAlignfromstylefor regions(#2559).
<p>elements(#3246).
MediaMetadata.discSubtitlefield and parse it from ID3v2.4TSSTand Vorbis
DISCSUBTITLEdata.TPOSframe.FinalShaderProgramWrapperwhen flushing toprevent the player from freezing when seeking.
trefbox) inMp4Muxervia anew
addTrackReferenceAPI. This allows establishing relationshipsbetween tracks, such as linking a metadata track to the video track it
describes.
OggMuxerto allow muxing ofOPUSorVORBISmedia streams intothe
oggfile format.WavMuxerfor WAV file generation (supports integer andfloating-point PCM).
setAttemptStreamableOutputEnabledtoInAppMp4Muxer.Factorytoallow writing smaller non-streamable files without reserved space.
Mp4MuxerandFragmentedMp4Muxer.ImaServerSideAdInsertionMediaSource.AdsLoader.Builder.setPauseAdSlotto allow providing an ad slot to use for pause ads.
immediately on the second ad
(#3165).
IllegalStateExceptioncrashes insideMediaNotificationManagerwhen using a session with a background threadplayer looper.
MediaSessionmethods. Voidmethods now automatically post execution to the application looper
thread, and state accessors (getters) explicitly throw an
IllegalStateExceptionif called from a thread other than theapplication looper.
IllegalStateExceptioninMediaUtils.mergePlayerInfo) by tracking state consistencyper-controller on the session side.
androidx.media3.session.MediaSessionManagerto provide support forquerying active media sessions and returning Media3
SessionTokeninstances.
MediaSession.Callback.onConnectif themethod is not overridden to only provide read access to untrusted
controllers.
MediaSessionvia anew API
MediaSession.Builder#setPackageNameOverride. The caller musthave
android.permission.OVERRIDE_MEDIA_SESSION_OWNERpermission tooverride the package name of the session.
MediaSession.Callback.onConnectAsync(). The new method allows toasynchronously process the connection attempt of a controller. Apps can
return an immediate
FuturewithFutures.immediateFuture(ConnectionResult)to achieve the previousbehaviour. It's recommended to migrate to the new method because
Callback.onConnectis a candidate to be deprecated.MediaLibraryServiceon API 36 and 37.MediaSessionwhen the image sizeis close to the platform limit, resolving blurriness in notifications
(#3134).
ForegroundServiceStartNotAllowedExceptioncrash inMediaNotificationManagerwhen an asynchronous artwork bitmap loadcallback attempts to start the foreground service while the app is in
the background (#3270).
PositionInfoobjects received by aMediaControllerwere missing their originalTimelineUIDs. Thesession now reliably translates and propagates these UIDs during state
updates.
ForegroundServiceStartNotAllowedExceptioninMediaSessionService.stopSelfSafely()(#3310).
onMediaItemTransition()callback onMediaControllerwhen seeking inside the same media item
(#3248).
ContentFrameisrecomposed mid-playback
(#3238).
CurrentMediaItemStateclass and the correspondingrememberCurrentMediaItemStateComposable tomedia3-ui-composemodule. This state holder is used in
demo-composeto display variousmetadata information about the currently playing
MediaItem.PlaylistStateclass and the correspondingrememberPlaylistStateComposable to
media3-ui-composemodule. This state holder is used indemo-composeto display various metadata information about theMediaItemsset on the Player.PlaybackSpeedState. Use thisfunctionality in
demo-composeto showcase fastforwarding with a longpress.
MiniControllercomposable tomedia3-ui-compose-material3module.It provides a compact affordance to control the
Playerwhiledisplaying the title, artist, artwork, and progress of the current media
item.
ErrorStateclass and the correspondingrememberErrorStateComposable to
media3-ui-composemodule. AddErrorTextComposable tomedia3-ui-compose-material3and make it a default overlay on thePlayer.PlayerDefaultsobject with composables forTopControls,CenterControls,BottomControls, andErrorOverlay.FocusRequestertoPlayerComposable and its content slots.PlayerPool(common-ktx) andrememberPooledPlayer(
ui-compose) to support preloading ofMediaItemsin sliding windowUI environments. Showcase this functionality in
demo-composewith anew
ShortFormPlayerScreen.PlayerViewand ComposePresentationStatethat caused crashes on timelines that do not supportperiod UID lookup
(#3264).
(#3258).
media3-datasource-ktorextension module providing aKtorDataSourcebacked by the Ktor HTTP stack.KtorDataSourceloading the entire HTTP response body into memorywhen opening a connection
(#3305).
(#1689).
setWithAssetListResettoHlsInterstitialsAdsLoaderto allow appsto reset fully processed asset list interstitials back to an unavailable
state for on-demand re-resolution.
SCOREattribute ofEXT-X-STREAM-INFandEXT-X-I-FRAME-STREAM-INF, and populate it toFormat.selectionPriority(#3236).
playlist is no longer primary or active
(#3254).
asset lists (#3322).
latency live playback after a playlist request failure
(#3311).
HlsMediaPeriod.getStreamKeys()where the ID3 track in audiorenditions is considered as subtitles
(#3333).
TrackGroups based onlanguage (#3113).
Locationelements from the manifest(MPD) and performing location fallback in
DashMediaSourcewhenmanifest loads fail.
IndexOutOfBoundsException) when opening manifests with anempty
<SegmentTimeline/>element(#3326).
preparation caused by UDP port binding errors.
CastParamsclass to allow configuration of Cast by callingCast.initialize(CastParams).CastParams.getShowSystemOutputSwitcherOnCastIconClick()option, which triggers the use of the SystemUI Output Switcher instead
of the in-app Cast device picker when available.
MediaRouteButtonStateandrememberMediaRouteButtonStatetosupport observing the visibility state of the media route picker, and
add
stateparameter toMediaRouteButton(#3172).
RemoteCastPlayercould get permanently stuck in atrack-masking state after a track selection, causing it to ignore
subsequent track updates from the Cast receiver
(#3237).
DefaultMediaItemConverterthrows aNullPointerExceptionwhen trying to join a cast session started from anon-Media3 sender.
CastPlayerfrom transferringMediaItemsthat are notplayable when changing the active player
(#3199).
liveConfiguration == UNSET)were queued as
STREAM_TYPE_BUFFERED(#3318).
DataSourceContractTestto include support forPOSTrequestswith headers & bodies, add some
POSTresources toHttpDataSourceTestEnv, and add assertions for the expected HTTPmethod, headers & body in
WebServerDispatcher.DataSourceContractTestfor lengths returned fromDataSource.open(). Resources that may result inC.LENGTH_UNSETshould indicate this by using
TestResource.Builder.setMayResolveToUnknownLength(boolean).setPlaybackLoopertoTestExoPlayerBuilder.androidx.media3.exoplayer.MetadataRetriever. Useandroidx.media3.inspector.MetadataRetrieverinstead.androidx.media3.exoplayer.MediaExtractorCompat. Useandroidx.media3.inspector.MediaExtractorCompatinstead.Mp4Extractor.FLAG_READ_MOTION_PHOTO_METADATA. UseHeifExtractorto extract motion photo metadata from HEIC filesinstead.
androidx.media3.extractor.metadata.mp4.MotionPhotoMetadata. Useandroidx.media3.extractor.metadata.MotionPhotoMetadatainstead.androidx.media3.extractor.DummyTrackOutput. Useandroidx.media3.extractor.DiscardingTrackOutputinstead.androidx.media3.extractor.DummyExtractorOutput. Useandroidx.media3.extractor.NoOpExtractorOutputinstead.androidx.media3.common.C.generateAudioSessionIdV21. Useandroidx.media3.common.util.Util.generateAudioSessionIdinstead.README.mdinstructions for depending on Media3 locally touse Gradle Composite Builds (
includeBuild). Thecore_settings.gradlescript has been removed, and the
androidxMediaModulePrefixandandroidxMediaEnableMidiModuleproperties are no longer used.Configuration
📅 Schedule: (UTC)
* 0-3 * * *)🚦 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.