fix(deps): update androidx.media3 to v1.8.0 #1724
Open
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:
1.7.1->1.8.01.7.1->1.8.01.7.1->1.8.01.7.1->1.8.01.7.1->1.8.01.7.1->1.8.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
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).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.
This PR was generated by Mend Renovate. View the repository job log.