Skip to content

deps: Bump androidx.media3:media3-ui from 1.4.1 to 1.11.1 in /android - #37

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/android/androidx.media3-media3-ui-1.11.1
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/android/androidx.media3-media3-ui-1.11.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 20, 2026

Copy link
Copy Markdown

Bumps androidx.media3:media3-ui from 1.4.1 to 1.11.1.

Release notes

Sourced from androidx.media3:media3-ui's releases.

1.11.1

  • ExoPlayer:
    • Move the flag to enable/disable HAGC metadata for progressive media from MediaSource.Factory to ExtractorsFactory. The previous setExperimentalEnableHagcPlayback method is removed and replaced by ExtractorsFactory.setParseHagcMetadata. This also resolves an issue where disabling didn't work for Matroska/WebM containers.
    • Fix a playback stall caused when prewarming a non-transitioning secondary renderer.
    • Fix pre-warming issue where the Surface should be returned to the primary renderer when a seek resets and disables both renderers.
    • Fix ArrayIndexOutOfBoundsException when a live timeline refresh moves the default position past a server-side inserted ad that is currently being played (#3348).
    • Fix a scrubbing mode issue where stale video frames could be briefly displayed when seeking with ScrubbingModeParameters.allowSkippingMediaCodecFlush enabled.
  • Extractors:
    • Matroska: Fix issue where Tracks placed after clusters wouldn't result in a seekable timeline (#3377).
  • Audio:
    • Fix buffer size calculation in SilenceSkippingAudioProcessor so that the minimum silence duration is not incorrectly scaled down by the frame size (#3271).
    • Fix 8-bit PCM handling in PcmAudioUtil to treat samples as unsigned as defined by Android (#3271).
    • Fix offload issue in which playback could stall during pre-roll or gapless transitions due to limited hardware buffer sizes.
    • Fix bug in DefaultAudioSink where release count doesn't decrease when playback thread is no longer alive (#3338).
  • Session:
    • Fix NullPointerException when an in-process MediaController is released from a Player.Listener callback (#3375).
    • Fix deadlock on the main thread when a legacy MediaBrowser connects to a service returning an asynchronous result from onGetLibraryRoot() or onConnectAsync() (#3393).
  • HLS extension:
    • Fix calculation of content resume offset when the target segment for snapping is not yet in the playlist (#3322).
    • Fix an issue where a fully consumed HlsMediaChunk retries loading on receiving EOFException from the extractor (#3350).
  • DASH extension:
    • Fix incorrect sample timestamp calculation for image tracks with a presentationTimeOffset (#3334).
  • Decoder extensions (FFmpeg, VP9, AV1, etc.):
    • Opus: Fix memory corruption when multiple OpusDecoder instances are initialized concurrently.
    • MPEG-H: Fix memory leak, truncation of non-ASCII characters, and potential native crash under low-memory conditions when sending commands to the MpeghUiManager (#3365).

1.11.0

  • Common library:
    • Add Format.channelMask to explicitly represent the audio channel mask, and a new Util.getAudioTrackChannelConfig(Format) overload to safely resolve it.
    • Upgrade Kotlin from 2.0.20 to 2.2.0.
  • ExoPlayer:
    • Fix a timing-dependent concurrency bug that could cause an IllegalStateException or IndexOutOfBoundsException in ExoPlayer.
    • Relax ad group count checks in AdsMediaSource to allow the ad group count to decrease when an ad group is fully processed (hasUnplayedAds() is false), accommodating dynamic ad group resizing during reset workflows.
    • Add getFlags() and FLAG_STRICT_DURATION to SampleStream to allow streams to report flags, and update renderers to check these flags dynamically.
    • Fall back to the frame rate estimator in MediaCodecVideoRenderer and to the codec output format in MediaCodecAudioRenderer to calculate the codec operating rate when the stream formats do not provide a valid value, and avoid unnecessary codec resets.
    • Remove clipping of content for client-side inserted ads in the core player. Instead, AdsMediaSource takes care of the clipping logic. Custom client-side inserted ads sources need to be updated to implement the content clipping internally.
    • Mark tracks with a well-formed but unrecognized codec profile or level as supported=NO_EXCEEDS_CAPABILITIES instead of supported=YES (which is 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.
    • Add DefaultPreloadManager.SimpleRankingDataComparator, which is a RankingDataComparator that compares the ranks of the media items based on their distances to the index of the current playing media item. Apps can override its compare(Integer, Integer) method if a more fine-tuned comparison logic is needed. The custom SimpleRankingDataComparator can be injected via a new constructor of DefaultPreloadManager.Builder.
    • Reduce the OOM risk of DefaultLoadControl.prioritizeTimeOverSizeThresholds by falling back to buffer byte size limits if available heap memory seems tight.
    • Align handling of still images when MediaItem.imageDurationUs is not set: JPEG and HEIC still images now 'play' with a very short default duration (the same way PNG and other images previously behaved).
    • Add MediaSource.prepareSource(MediaSourceCaller, PlayerId, BandwidthMeter) to plumb BandwidthMeter to MediaSource. The deprecated 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.
    • In DefaultBandwidthMeter, add support for a custom InitialBitrateSupplier. This allows apps to provide their own logic for determining the initial bitrate estimate, which will be used on creation of DefaultBandwidthMeter and on network type changes. The supplier can be set via DefaultBandwidthMeter.Builder.setInitialBitrateSupplier().
    • Enable dynamic scheduling by default. ExoPlayer playback work loop will run dynamically as opposed to on a static interval.
    • Remove an unnecessary reset that can occur when joining tracks with pre-roll samples to active playback.
    • In DefaultBandwidthMeter, optimize getInitialBitrateCountryGroupAssignment to return the country group assignments packed into a 32-bit integer instead of an array, reducing code size and avoiding allocations.
    • Fix AudioTrack initialization failures on some devices by ensuring the retry logic always attempts a minimum of 1 second buffer size if other retries (by halving the buffer size) are unsuccessful (#3207).
    • Fix codec issue on some devices where the codec was swallowing all samples if previously flushed before receiving input buffers.
    • Add experimental 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).
    • Fix race condition related to audio session id usage where the initial audio session id auto-generated by ExoPlayer would be used instead of the value set by setAudioSessionId (#3241).

... (truncated)

Changelog

Sourced from androidx.media3:media3-ui's changelog.

1.11.1 (2026-09-10)

This release includes the following changes since the 1.11.0 release:

  • ExoPlayer:
    • Move the flag to enable/disable HAGC metadata for progressive media from MediaSource.Factory to ExtractorsFactory. The previous setExperimentalEnableHagcPlayback method is removed and replaced by ExtractorsFactory.setParseHagcMetadata. This also resolves an issue where disabling didn't work for Matroska/WebM containers.
    • Fix a playback stall caused when prewarming a non-transitioning secondary renderer.
    • Fix pre-warming issue where the Surface should be returned to the primary renderer when a seek resets and disables both renderers.
    • Fix ArrayIndexOutOfBoundsException when a live timeline refresh moves the default position past a server-side inserted ad that is currently being played (#3348).
    • Fix a scrubbing mode issue where stale video frames could be briefly displayed when seeking with ScrubbingModeParameters.allowSkippingMediaCodecFlush enabled.
  • Extractors:
    • Matroska: Fix issue where Tracks placed after clusters wouldn't result in a seekable timeline (#3377).
  • Audio:
    • Fix buffer size calculation in SilenceSkippingAudioProcessor so that the minimum silence duration is not incorrectly scaled down by the frame size (#3271).
    • Fix 8-bit PCM handling in PcmAudioUtil to treat samples as unsigned as defined by Android (#3271).
    • Fix offload issue in which playback could stall during pre-roll or gapless transitions due to limited hardware buffer sizes.
    • Fix bug in DefaultAudioSink where release count doesn't decrease when playback thread is no longer alive (#3338).
  • Session:
    • Fix NullPointerException when an in-process MediaController is released from a Player.Listener callback (#3375).
    • Fix deadlock on the main thread when a legacy MediaBrowser connects to a service returning an asynchronous result from onGetLibraryRoot() or onConnectAsync() (#3393).
  • HLS extension:
    • Fix calculation of content resume offset when the target segment for snapping is not yet in the playlist (#3322).
    • Fix an issue where a fully consumed HlsMediaChunk retries loading on

... (truncated)

Commits
  • 8c6678b Bump version to 1.11.1
  • 4b610b1 Update release notes for 1.11.1
  • e9757e6 Fix deadlock when legacy MediaBrowser connects to async root or session
  • 9b8000d Merge pull request #3271 from nift4:oddmath
  • 6ada45c Add end-to-end test for ITU-T T.35 track muxing
  • d23ba39 Normalize non-positive frame rates in MediaFormatUtil
  • 383e770 Generalize useInputBuffer to useBuffer
  • 71e4112 MPEG-H: Fix UI manager command encoding and memory leak
  • eb2965c Matroska: Fix seekable timeline with Tracks after Clusters
  • a827bd5 Fix incorrect render of stale frames after a seek with skipped flush.
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [androidx.media3:media3-ui](https://github.com/androidx/media) from 1.4.1 to 1.11.1.
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.4.1...1.11.1)

---
updated-dependencies:
- dependency-name: androidx.media3:media3-ui
  dependency-version: 1.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Sep 20, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants