-
Notifications
You must be signed in to change notification settings - Fork 0
Update Gradle Dependencies - abandoned #16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
bb61bf3 to
b905639
Compare
3f1fb1b to
575e17a
Compare
457f347 to
d78f307
Compare
9abfac7 to
285199c
Compare
d9b2adc to
4d9cdc9
Compare
4d9cdc9 to
235f4b1
Compare
4c9048e to
c761f40
Compare
1f37d01 to
ea03d43
Compare
c52a984 to
99447fd
Compare
1911782 to
22d762a
Compare
22d762a to
0ef7e8e
Compare
445df0d to
f39eba6
Compare
6c7e8b3 to
3fd32f2
Compare
8c22c4f to
6ded982
Compare
87661d4 to
3017c07
Compare
8e07e31 to
704595f
Compare
201685f to
97c4fc7
Compare
97c4fc7 to
14f5e3a
Compare
14f5e3a to
f33b083
Compare
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Autoclosing SkippedThis PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error. |
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more here.
This PR contains the following updates:
2.8.8->2.9.52.1.0->2.2.41.0.1->1.1.01.5.1->1.8.01.5.1->1.8.02025.02.00->2025.09.011.10.1->1.11.02.8.7->2.9.43.1.1->3.3.03.1.1->3.3.03.1.1->3.3.03.1.1->3.3.03.1.1->3.3.03.1.1->3.3.01.8.0->1.9.01.10.1->1.10.21.10.1->1.10.22.1.10->2.2.203.6.1->3.7.01.2.1->1.3.01.15.0->1.17.02.1.10->2.2.202.1.10->2.2.204.1.0->4.1.14.1.0->4.1.14.1.0->4.1.14.1.0->4.1.14.1.0->4.1.14.1.0->4.1.13.1.0->3.3.03.1.0->3.3.03.1.0->3.3.03.1.0->3.3.08.8.2->8.13.00.37.2->0.37.3Release Notes
Tencent/MMKV (com.tencent:mmkv)
v2.2.4This is a hotfix release mainly for iOS/macOS CocoaPods users.
Changes for All platforms
iOS/macOS
v2.2.3This is a feature release that brings full desktop support to Flutter. It also includes key bug fixes and enhancements for Android and other platforms.
Flutter
Android
MMKVHandler.getNativeLogHandler()to allow native handling of MMKV logs from C++ code, improving performance.Long.MAX_VALUEwas misinterpreted as a negative number.iOS/macOS
MMKV_APPLEflag was not set.Windows
v2.2.2This is a hot fix version mainly for Android/Linux platforms. It’s highly recommended for v2.2.0~v2.2.1 users.
Changes for All platforms
Android
POSIX
iOS/macOS
Win32
v2.2.1Changes for All platforms
importFrom().Android
v2.2.0We introduce the Mayfly FD (short-lived file descriptor) enhancement, reducing MMKV's fd footprint by half and more. For a single-process mode MMKV instance, the fd footprint is reduced to zero (except Android/OHOS, details below). For a multi-process mode MMKV instance, the fd footprint is reduced by half, for we still need a long-lived fd to inter-process lock the shared memory.
Changes for All platforms
checkExist()to check if a MMKV instance exists on disk.Android
HarmonyOS NEXT
checkProcessMode(), it’s never been used.iOS
+mmkvGroupPathto get the group folder for MMKV multi-process storage.Flutter
isFileValid().groupPath()on iOS.checkContentChangedByOuterProcess()not working bug.androidx/media (androidx.media3:media3-ui)
v1.8.0Compare Source
This release includes the following changes since the
1.7.1 release:
ForwardingSimpleBasePlayer.ExoPlayerinterface(#2522).
DefaultAudioSinkis accessed frommultiple threads. If this happens due to a call to
RendererCapabilities.getFormatSupportoutside of the player, make sureto call this method on the same thread as ExoPlayer's playback thread or
use a different instance than the one used for playback
(#1191).
unsupported by
DefaultTrackSelector.DECODE_ONLYflag (which is enabled by default in scrubbing mode).Contextpassed toExoPlayer.Builder.MediaCodec.BUFFER_FLAG_DECODE_ONLYby default in scrubbing mode.IllegalStateExceptionwhenPreloadMediaSourceis played by anExoPlayerwith a playback thread that is different than the preloadthread (#2495).
cloneAndMovetoShuffleModewith a default implementation(#2226).
Renderer.getMinDurationToProgressUstoreturn a larger value if no call to
renderis required.end while paused. For now, the bug fix only takes effect if
ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabledis enabled.ExoPlayer.setScrubbingModeEnabled(boolean)method. This optimizesthe player for many frequent seeks (for example, from a user dragging a
scrubber bar around). The behavior of scrubbing mode can be customized
with
setScrubbingModeParameters(..)onExoPlayerandExoPlayer.Builder.AdsMediaSourcemay benever reported (#2337).
MergingMediaSource, for example used whensideloading subtitles
(#2338).
CmcdConfiguration.Factoryto returnnullto disable CMCDlogging for specific media items
(#2386).
text tracks) to 26MB, which is large enough for 50MP Ultra HDR images
(#2417).
PreCacheHelperthat allows apps to pre-cache a single media withspecified start position and duration.
DefaultPreloadManager.CodecDbLitethat enables chipset specific optimizations of videoencoding settings.
setEnableCodecDbLiteflag to theDefaultEncoderFactoryto enableCodecDB Lite settings optimization. By default, this flag is set to
false.
addGap()) with silent audio nowrequires explicitly setting
experimentalSetForceAudioTrack(true)inEditedMediaItemSequence.Builder. If the gap is in the middle of thesequence, then this flag is not required.
Muxerinterface frommedia3-transformertomedia3-muxer.MediaItem.Builder().setImageDuration(long)mandatory toimport a media item as an image.
Transformer.Builder().experimentalSetMp4EditListTrimEnabled(boolean)which includes an MP4 edit list when trimming to instruct players to
ignore samples between the key frame before the trim start point, and
the trim start point.
custom
VideoCompositorSettingsto arrange sequences into a 2x2 or PiPlayout.
(#2084).
(#2552).
sidxatoms.This behavior can be enabled using the
FLAG_MERGE_FRAGMENTED_SIDXflagon
FragmentedMp4Extractor(#9373).
placeholder seek points), and fall back to binary search seeking if the
duration of the file is known
(#2327).
(#2456).
WavExtractorto use the header extension's SubFormat data forthe audio format when parsing a
WAVE_FORMAT_EXTENSIBLEtype file.ipcmandfpcmboxes defining raw PCM audiotracks (64-bit floating point PCM is not supported).
tkhdtransformation matrices thatboth rotate and reflect the video. This ensures that reflected videos
taken by the iPhone front facing camera display the right way up, but
incorrectly reflected in the y-axis
(#2012).
variable bitrate metadata when falling back to constant bitrate seeking
due to
FLAG_ENABLE_CONSTANT_BITRATE_SEEKING(_ALWAYS)(#2194).
AnalyticsListener.onAudioPositionAdvancingis not calledwhen the audio playback is started very close to the end of the media.
ChannelMappingAudioProcessorandTrimmingAudioProcessor.CompositionPlayer.BaseAudioProcessor#flush()fromBaseAudioProcessor#reset().ChannelMappingAudioProcessor,TrimmingAudioProcessorandToFloatPcmAudioProcessorpublic(#2339).
AudioTrack#getUnderrunCount()inAudioTrackPositionTrackertodetect underruns in
DefaultAudioSinkinstead of best-effortestimation.
audio output device.
from pause when connected to Bluetooth devices.
AnalyticsListener.onAudioPositionAdvancingwas notreporting the time when the audio started advancing but the time of the
first measurement.
some devices (#2258).
(#2059).
start at exactly the requested position.
(#2059).
ExoPlayerAPI to include theMediaCodec.BUFFER_FLAG_DECODE_ONLYflag when queuing decode-only inputbuffers. This flag will signal the decoder to skip the decode-only
buffers thereby resulting in faster seeking. Enable it with
DefaultRenderersFactory.experimentalSetEnableMediaCodecBufferDecodeOnlyFlag.lead to some additional tracks being marked as
EXCEEDS_CAPABILITIES.(#2408).
(#2510).
later loads successfully, followed by several empty subtitle segments
(#2517).
(#2309).
error to a live stream with an empty subtitle track
(#2328).
B-frames (#2372).
CodecId = S_TEXT/SSAin Matroskafiles. Previously
MatroskaExtractoronly supportedCodecId = S_TEXT/ASSwhich is meant to represent the 'advanced' (v4+) variant ofSubStation Alpha subtitles (but ExoPlayer's parsing logic is the same
for both variants)
(#2384).
layerproperty in SubStation Alpha (SSA) subtitlefiles which is used to define the z-order of cues when more than one is
shown on screen at the same time
(#2124).
TimelinetoMetadataRetrieverand migrated it to an instance-based,AutoCloseableAPI. Use the newBuilderto create an instance for aMediaItem, then callretrieveTrackGroups(),retrieveTimeline(),and
retrieveDurationUs()to getListenableFutures for the metadata.The previous static methods are now deprecated
(#2462).
BitmapFactoryImageDecoder, to avoid an app crashing withCanvas: trying to draw too large bitmap.fromPlayerViewwhen trying todisplay very large (e.g. 50MP) images.
DefaultRenderersFactory.getImageDecoderFactory()to take aContextparameter.
CompositionPlayerwith thatalready used in
Transformer(meaningCompositionPlayerdoes notconsider the display size when decoding bitmaps, unlike
ExoPlayer).OfflineLicenseHelper.newWidevineInstanceacceptinga
MediaItem.DrmConfigurationso that HTTP request headers can beapplied correctly
(#2169).
Presentation.createForShortSide(int)that creates aPresentationthat ensures the shortest side always matches the given value,
regardless of input orientation.
fragmented MP4.
writeSampleData()API now uses muxer specificBufferInfoclassinstead of
MediaCodec.BufferInfo.Muxer.Factory#supportsWritingNegativeTimestampsInEditListwhichdefaults to false.
another ad group.
Ads groups with a start time after the window are not enqueued into the
MediaPeriodQueueanymore(#2215).
controllers are ignored.
legacy
MediaBrowserServiceCompat. This is in parity with the behaviorof legacy controllers/browsers when connected to a legacy app.
treated as a persistent custom exception. This prevents the application
from recovering.
session may cause
IllegalStateExceptions.leave the controller in an invalid state.
(#2330).
setSessionExtrasfrom the main thread whenrunning the player from a different application thread then the main
thread caused an
IllegalStateException(#2265).
items without preparing or playing them
(#2423#2423). This behavior
is configurable via
MediaSessionService.setShowNotificationForIdlePlayer.PlaybackExceptionfor all or selected controllers.MediaControllercan causean
IllegalArgumentException.seek in the current item for platform media controllers, to avoid
position artefacts in the Android Auto UI (and other controllers using
this information from the platform media session)
(#1758).
getLibraryRootof aMediaBrowserconnected to a legacy
MediaBrowserServiceCompatproduced aNullPointerException.request crashed the legacy session app with a
ClassNotFoundException.MediaItem.LocalConfiguration.uriwas shared to theplatform sessions's
MediaMetadata. To intentionally share a URI toallow controllers to re-request the media, set
MediaItem.RequestMetadata.mediaUriinstead.PlayerSurfaceinside re-usable components likeLazyColumndidn't work correctly(#2493).
button states and observing the change in state (e.g. icon shapes or
being enabled). Any changes made to the Player outside of the
observation period are now picked up
(#2313).
media3-ui-composemodule forSeekBackButtonStateandSeekForwardButtonState.PlayerControlView. Whenenabled, this puts the player into scrubbing mode when the user starts
dragging the scrubber bar, issues a
player.seekTocall for everymovement, and then exits scrubbing mode when the touch is lifted from
the screen. This integration can be enabled with either
time_bar_scrubbing_enabled = truein XML or thesetTimeBarScrubbingEnabled(boolean)method from Java/Kotlin.PlayerSurfaceaccept a nullablePlayerargument.progressive stream with
DownloadHelper, and request aDownloadRequestfrom the helper with specifying the time-based mediastart and end positions that the download should cover. The returned
DownloadRequestcarries the resolved byte range, with which aProgressiveDownloadercan be created and download the contentcorrespondingly.
DownloadHelper.Factorywith which the staticDownloadHelper.forMediaItem()methods are replaced.FactoryforSegmentDownloaderimplementations.adaptive stream with
DownloadHelper, and request aDownloadRequestfrom the helper with specifying the time-based media start and end
positions that the download should cover. The returned
DownloadRequestcarries the resolved time range, with which a concrete
SegmentDownloadercan be created and download the contentcorrespondingly.
(#5975).
HlsSampleStreamWrapperattempts to seek inside bufferwhen there are no chunks available in the buffer
#2598.
and preload hints can cause playback to get stuck or freeze
(#2299).
CAN-BLOCK-RELOAD=YESis not honored by the server(#2317).
before a mid roll and asset list resolution was attempted for the wrong
ad (#2558).
\f(form feed) in quoted stringattribute values
(#2420).
(#2427).
live stream runs out of segments to load
(#2401#2401).
are grouped already
(#1666).
HlsInterstitialsAdsLoader.adaptation set to form an invalid
TrackGroup(#2148).
when samples beyond the new duration have already been read by the
rendering pipeline
(#2440).
(#2475).
7798#4.4.2 (#2413).
RtspClientto use the location uri as provided when processing anHTTP 302 response
(#2398).
trailing whitespace characters
(#2357).
DefaultTrackSelector.setAllowInvalidateSelectionsOnRendererCapabilitiesChangehas no effect for audio decoder extensions
(#2258).
setVolume(), andgetVolume()(#2279).
empty.
getDeviceVolume(),setDeviceVolume(),getDeviceMuted(), andsetDeviceMuted()(#2089).
advance(player).untilPositionAtLeastanduntilMediaItemIndextoTestPlayerRunHelperin order to advance the player until a specifiedposition is reached. In most cases, these methods are more reliable than
the existing
untilPositionanduntilStartOfMediaItemmethods.FakeDownloadertotest-utils-robolectricmodule for reuse inother tests.
transformer.TestUtil.addAudioDecoders(String...),transformer.TestUtil.addAudioEncoders(String...), andtransformer.TestUtil.addAudioEncoders(ShadowMediaCodec.CodecConfig, String...). UseShadowMediaCodecConfigto configure shadow encodersand decoders instead.
ShadowMediaCodecConfig.SegmentDownloaderconstructorSegmentDownloader(MediaItem, Parser<M>, CacheDataSource.Factory, Executor)and the corresponding constructors in its subclassesDashDownloader,HlsDownloaderandSsDownloader.Player.hasNext(),Player.hasNextWindow(). UsePlayer.hasNextMediaItem()instead.Player.next(). UsePlayer.seekToNextMediaItem()instead.
Player.seekToPreviousWindow(). UsePlayer.seekToPreviousMediaItem()instead.Player.seekToNextWindow(). UsePlayer.seekToNextMediaItem()instead.BaseAudioProcessorinexoplayermodule. UseBaseAudioProcessorundercommonmodule.MediaCodecVideoRendererconstructorMediaCodecVideoRenderer(Context, MediaCodecAdapter.Factor, MediaCodecSelector, long, boolean, @​Nullable Handler, @​Nullable VideoRendererEventListener, int, float, @​Nullable VideoSinkProvider).v1.7.1This release has the same code as 1.6.1 and is being released to ensure it
appears as a 'newer' release than 1.7.0, which was an alpha release accidentally
tagged as stable (see below).
v1.7.0This release should have been
1.7.0-alpha01, but was accidentally tagged1.7.0(i.e. stable) on maven.google.com. Please do not use it. Stay on1.6.1 or upgrade to 1.7.1 (which has the same code as 1.6.1).
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.Configuration
📅 Schedule: Branch creation - "on the first day of January" (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.