Update all dependencies (main) #526
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.12.1->8.132.55->2.56.22.55->2.56.22.55->2.56.22.10.0->2.10.12.8.7->2.8.91.10.0->1.10.11.15.0->1.16.01.10.0->1.10.12025.02.00->2025.04.011.2.0->1.3.02.12.1->2.13.12.10.0->2.10.12.6.1->2.7.12.6.1->2.7.12.8.7->2.8.92.8.7->2.8.92.2.0->2.2.12.6.1->2.7.11.3.1->1.3.27.0.2->7.0.32.55->2.56.22.8.7->2.8.98.8.1->8.9.28.8.1->8.9.21.3.1->1.3.21.3.3->1.3.41.3.3->1.3.41.3.0-beta01->1.3.01.7.8->1.8.01.5.1->1.6.11.5.1->1.6.12.1.4->2.1.58.8.1->8.9.2Release Notes
gradle/gradle (gradle)
v8.13Compare Source
androidx/media (androidx.media3:media3-ui)
v1.6.1Compare Source
This release includes the following changes since the
1.6.0 release:
PlaybackParameters.withPitch(float)method for easily copying aPlaybackParameterswith a newpitchvalue(#2257).
error during initialization of the next media item
(#2229).
ProgressiveMediaPeriodthrows anIllegalStateExceptionasPreloadMediaSourceattempts to call itsgetBufferedDurationUs()before it is prepared(#2315).
CmcdDatain manifest requests for DASH, HLS, andSmoothStreaming (#2253).
AdPlaybackState.withAdDurationsUs(long[][])can be used afterad groups have been removed. The user still needs to pass in an array of
durations for removed ad groups which can be empty or null
(#2267).
alternate_groupfrom thetkhdbox and expose it as anMp4AlternateGroupDataentry in each track'sFormat.metadata(#2242).
playlist of short content
(#1920).
MediaSessioncallbacks from 500to 100 milliseconds and add an experimental setter to allow apps to
configure this value.
the user (#2302).
wrapped player is actually empty. This happened when the wrapped player
doesn't have
COMMAND_GET_TIMELINEavailable whileCOMMAND_GET_CURRENT_MEDIA_ITEMis available and the wrapped player isempty (#2320).
MediaSessionService.setMediaNotificationProvideris silently ignoredafter other interactions with the service like
setForegroundServiceTimeoutMs(#2305).
PlayerSurfaceto work withExoPlayer.setVideoEffectsandCompositionPlayer.PlayerSurfacecan't be recomposed with a newPlayer.CmcdDatafor HLS media,causing an assertion failure when processing encrypted media segments
(#2312).
session to use TCP
(#1484).
(#2235).
v1.6.0Compare Source
This release includes the following changes since the
1.5.1 release:
AudioManagerCompatandAudioFocusRequestCompatto replace theequivalent classes in
androidx.media.plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
Format.toBundle(boolean excludeMetadata)method, useFormat.toBundle()instead.SimpleBasePlayerwhere setting a newcurrentMediaItemIndexinStateaftersetPlaylistwithnullMediaMetadatadoes not reevaluate the metadata(#1940).
SimpleBasePlayer.Stateaccess from protected to public to makeit easier to handle updates in other classes
(#2128).
MediaExtractorCompat, a new class that provides equivalentfeatures to platform
MediaExtractor.MediaCodecVideoRenderer. You can configureDefaultRenderersFactorythrough
experimentalSetEnableMediaCodecVideoRendererPrewarmingtoprovide a secondary
MediaCodecVideoRenderertoExoPlayer. Ifenabled,
ExoPlayerpre-processes the video of consecutive media itemsduring playback to reduce media item transition latency.
bufferForPlaybackMsandbufferForPlaybackAfterRebufferMsinDefaultLoadControlto 1000 and2000 ms respectively.
DeviceInfoand device volume asynchronously (if enabledusing
setDeviceVolumeControlEnabled). These values aren't availableinstantly after
ExoPlayer.Builder.build(), andPlayer.Listenernotifies changes through
onDeviceInfoChangedandonDeviceVolumeChanged.creating the player. You can use
AnalyticsListener.onAudioSessionIdChangedto listen to the initialupdate if required.
'main' video track that matches the language of the selected audio
track, if available. Explicit video language preferences can be
expressed with
TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).selectedAudioLanguageparameter toDefaultTrackSelector.selectVideoTrack()method.retryCountparameter toMediaSourceEventListener.onLoadStartedand corresponding
MediaSourceEventListener.EventDispatchermethods.with durations that don't match the actual content could cause frame
freezes at the end of the item
(#1698).
BasePreloadManager.Listenerto a top-levelPreloadManagerListener.RenderersFactory.createSecondaryRenderercan be implemented to providesecondary renderers for pre-warming. Pre-warming enables quicker media
item transitions during playback.
CmcdDatafor manifest requests in adaptive streamingformats DASH, HLS, and SmoothStreaming
(#1951).
MediaCodecInfoof the codec that will be initialized inMediaCodecRenderer.onReadyToInitializeCodec(#1963).
AdsMediaSourceto allow theAdPlaybackStatesto grow byappending ad groups. Invalid modifications are detected and throw an
exception.
succession when transitioning to content media after a mid-roll ad.
DefaultRenderersFactoryadd twoMetadataRendererinstances toenable apps to receive two different schemes of metadata by default.
playback is paused
(#1785).
ClippingMediaSourceto allow clipping in unseekablemedia.
transition.
ExoPlayer.isLoading()remainstruewhile it hastransitioned to
STATE_IDLEorSTATE_ENDED(#2133).
lastRebufferRealtimeMstoLoadControl.Parameter(#2113).
formats.
format.
VideoFrameProcessor.registerInputStreamandVideoFrameProcessor.Listener.onInputStreamRegisteredto useFormat.DefaultEncoderFactory.MediaMetricsManager. Transformer forwards editing events andperformance data to the platform, which helps to provide system
performance and debugging information on the device. This data may also
be collected by Google
if sharing usage and diagnostics data is enabled
by the user of the device. Apps can opt-out of contributing to platform
diagnostics for Transformer with
Transformer.Builder.setUsePlatformDiagnostics(false).InAppMuxerintoInAppMp4MuxerandInAppFragmentedMp4Muxer.You use
InAppMp4Muxerto produce a non-fragmented MP4 file, whileInAppFragmentedMp4Muxeris for producing a fragmented MP4 file.Muxerinterface frommedia3-muxertomedia3-transformer.MediaProjectionAssetLoader, which provides media from aMediaProjectionfor screen recording, and add support for screenrecording to the Transformer demo app.
#getInputFormat()toCodecinterface.GlObjectsProvideronto thecaller in
DefaultVideoFrameProcessorandDefaultVideoCompositorwhenpossible.
the stream header stores the number of bytes instead of the number of
chunks.
than 4).
ArrayIndexOutOfBoundsExceptionin MP4 edit lists when the editlist starts at a non-sync frame with no preceding sync frame
(#2062).
(#2069).
play with
IllegalStateException: Playback stuck buffering and not loading(#2197).onAudioPositionAdvancingto be called when playback resumes(previously it was called when playback was paused).
SonicAudioProcessorwhenSpeedChangingAudioProcessorisconfigured with default parameters.
Sonic#getOutputSize()that could causeDefaultAudioSinkto stall.MediaCodecAudioRenderer.getDurationToProgressUs()andDecoderAudioRenderer.getDurationToProgressUs()so that seeks correctlyreset the provided durations.
androidx.media3.common.audio.SonicAudioProcessorfinal.ChannelMappingAudioProcessorandTrimmingAudioProcessor.MediaCodecVideoRenderer.shouldUsePlaceholderSurfacetoprotected so that applications can override to block usage of
placeholder surfaces
(#1905).
ExoPlayerAV1 sample dependency parsing to speed upseeking. Enable it with the new
DefaultRenderersFactory.experimentalSetParseAv1SampleDependenciesAPI.ExoPlayerAPI to drop lateMediaCodecVideoRendererdecoder input buffers that are not depended on. Enable it with
DefaultRenderersFactory.experimentalSetLateThresholdToDropDecoderInputUs.very slow decoding any pending frames
(#1973).
screen flickering
(#2059).
(#8260).
MediaItem.Builder.setSubtitleConfigurations, and instead only load oneif it is selected by track selection
(#1721).
tts:originandtts:extentusingstyle(#2953).Previously we incorrectly parsed any number of decimal places but always
assumed the value was in milliseconds, leading to incorrect timestamps
(#1997).
or CEA-708 captions.
IllegalStateExceptionwhen an SSA file contains a cue with zeroduration (start and end time equal)
(#2052).
the same container as audio and video
(#2052).
line endings (#2167).
MediaCodec$CryptoException: Operation not supported in this configurationerror when playing ClearKey content on API < 27 devices(#1732).
OverlaySettingsintoStaticOverlaySettings.OverlaySettingscan be subclassed to allowdynamic overlay settings.
MuxerExceptionout ofMuxerinterface to avoid a very longfully qualified name.
setSampleCopyEnabled()method tosetSampleCopyingEnabled()in both
Mp4Muxer.BuilderandFragmentedMp4Muxer.Builder.Mp4Muxer.addTrack()andFragmentedMp4Muxer.addTrack()now return aninttrack ID instead of aTrackToken.Mp4MuxerandFragmentedMp4Muxerno longer implementMuxerinterface.
Mp4Muxersample batching and copying by default.FragmentedMp4Muxerthat creates a lot of fragments whenonly audio track is written.
pauses, stops or fails. This allows users to resume playback within this
timeout without risking foreground service restrictions on various
devices. Note that simply calling
player.pause()can no longer be usedto stop the foreground service before
stopSelf()when overridingonTaskRemoved, useMediaSessionService.pauseAllPlayersAndStopSelf()instead.
state. The notification is only removed if the playlist is cleared or
the player is released.
and ACTION_PAUSE to only set one of them according to the available
commands and also accept if only one of them is set.
Contextas a parameter toMediaButtonReceiver.shouldStartForegroundService(#1887).
Playermethod on aMediaControllerconnectedto a legacy session dropped changes from a pending update.
MediaSession.setSessionActivity(PendingIntent)accept null(#2109).
cleared (#2211).
media3-ui-composemodule forPlayerSurface,PresentationState,PlayPauseButtonState,NextButtonState,PreviousButtonState,RepeatButtonState,ShuffleButtonStateandPlaybackSpeedState.CacheWriterthat leaves data sources open and cache areaslocked in case the data source throws an
Exceptionother thanIOException(#9760).
HlsInterstitialsAdsLoader. The ads loader readsthe HLS interstitials of an HLS media playlist and maps them to the
AdPlaybackStatethat is passed to theAdsMediaSource. This initialversion only supports HLS VOD streams with
X-ASSET-URIattributes.HlsInterstitialsAdsLoader.AdsMediaSourceFactory. Apps can use itto create
AdsMediaSourceinstances that use anHlsInterstitialsAdsLoaderin a convenient and safe way.SUPPLEMENTAL-CODECStag from HLS playlist to detect Dolby Visionformats (#1785).
(#2209).
(#1898).
multi-period live streams
(#1698).
scte214:supplementalCodecsattribute from DASH manifest todetect Dolby Vision formats
(#1785).
contains media samples beyond the declared period duration
(#1698).
adaptation-set-switchingbut different languages or role flags are merged together
(#2222).
module to decode MPEG-H audio
(#1826).
AudioSinkandAudioRendererEventListenerinstances intoMidiRenderer.play-services-cast-frameworkdependency to 21.5.0 to fix aFLAG_MUTABLEcrash in apps targeting API 34+ on devices with GooglePlay services installed but disabled
(#2178).
demo-composewith additional buttons and enhancePlayerSurfaceintegration with scaling and shutter support.AudioMixer.create()method. UseDefaultAudioMixer.Factory().create()instead.Transformer.Buildermethods:setTransformationRequest(), usesetAudioMimeType(),setVideoMimeType(), andsetHdrMode()instead.setAudioProcessors(), set the audio processor in anEditedMediaItem.Builder.setEffects(), and pass it toTransformer.start()instead.setVideoEffects(), set video effect in anEditedMediaItem.Builder.setEffects(), and pass it toTransformer.start()instead.setRemoveAudio(), useEditedMediaItem.Builder.setRemoveAudio()to remove the audio from the
EditedMediaItempassed toTransformer.start()instead.setRemoveVideo(), useEditedMediaItem.Builder.setRemoveVideo()to remove the video from the
EditedMediaItempassed toTransformer.start()instead.setFlattenForSlowMotion(), useEditedMediaItem.Builder.setFlattenForSlowMotion()to flatten theEditedMediaItempassed toTransformer.start()instead.setListener(), useaddListener(),removeListener()orremoveAllListeners()instead.Transformer.Listenermethods:onTransformationCompleted(MediaItem), useonCompleted(Composition, ExportResult)instead.onTransformationCompleted(MediaItem, TransformationResult), useonCompleted(Composition, ExportResult)instead.onTransformationError(MediaItem, Exception), useonError(Composition, ExportResult, ExportException)instead.onTransformationError(MediaItem, TransformationException), useonError(Composition, ExportResult, ExportException)instead.onTransformationError(MediaItem, TransformationResult, TransformationException), useonError(Composition, ExportResult, ExportException)instead.onFallbackApplied(MediaItem, TransformationRequest, TransformationRequest), useonFallbackApplied(Composition, TransformationRequest, TransformationRequest)instead.TransformationResultclass. UseExportResultinstead.
TransformationExceptionclass. UseExportExceptioninstead.
Transformer.PROGRESS_STATE_NO_TRANSFORMATION. UseTransformer.PROGRESS_STATE_NOT_STARTEDinstead.Transformer.setListener(). UseTransformer.addListener(),Transformer.removeListener()orTransformer.removeAllListeners()instead.Transformer.startTransformation(). UseTransformer.start(MediaItem, String)instead.SingleFrameGlShaderProgram. UseBaseGlShaderPrograminstead.Transformer.flattenForSlowMotion. UseEditedMediaItem.flattenForSlowMotioninstead.ExoPlayer.VideoComponent,ExoPlayer.AudioComponent,ExoPlayer.TextComponentandExoPlayer.DeviceComponent.androidx.media3.exoplayer.audio.SonicAudioProcessor.DownloadHelpermethods:DownloadHelper(MediaItem, @​Nullable MediaSource, TrackSelectionParameters, RendererCapabilities[]), useDownloadHelper(MediaItem, @​Nullable MediaSource, TrackSelectionParameters, RendererCapabilitiesList)instead.getRendererCapabilities(RenderersFactory), equivalentfunctionality can be achieved by creating a
DefaultRendererCapabilitiesListwith aRenderersFactory, andcalling
DefaultRendererCapabilitiesList.getRendererCapabilities().PlayerNotificationManager.setMediaSessionToken(MediaSessionCompat)method. Use
PlayerNotificationManager.setMediaSessionToken(MediaSession.Token)andpass in
(MediaSession.Token) compatToken.getToken()instead.google/desugar_jdk_libs (com.android.tools:desugar_jdk_libs)
v2.1.5Stream.toList(), which was added in JDK-16 and Android 14(API level 34).
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM ( * 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.