Skip to content

Bump media3 from 1.9.3 to 1.10.0#1944

Merged
Tlaster merged 1 commit intomasterfrom
dependabot/gradle/media3-1.10.0
Mar 30, 2026
Merged

Bump media3 from 1.9.3 to 1.10.0#1944
Tlaster merged 1 commit intomasterfrom
dependabot/gradle/media3-1.10.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Mar 30, 2026

Bumps media3 from 1.9.3 to 1.10.0.
Updates androidx.media3:media3-exoplayer from 1.9.3 to 1.10.0

Release notes

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

1.10.0

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include the output array as a parameter, pre-populated with track overrides.
    • Fix issue where embedded metadata tracks are selected irrespective of whether the corresponding primary track is selected (#294).
    • Stabilize TrackSelectionParameters options for preferredVideoLanguages, preferredVideoLabels, preferredAudioLabels, preferredTextLabels and selectTextByDefault.
  • Extractors:
    • MP4: Support files with large uuid boxes before other boxes like moov (#3046).
    • MP4: Add support for Versatile Video Coding (VVC) tracks in MP4 containers.
  • Inspector:
    • Breaking change: remove FrameExtractor. Users should now depend on the new :media3-inspector-frame module and update imports to androidx.media3.inspector.frame.FrameExtractor.
    • Introduce a new module for extracting and processing decoded video frames.
  • Audio:
    • Change underlying decoding library for the IAMF decoder extension from libiamf to iamf_tools.
    • IAMF decoding supports binaural output either through the decoder (when using the IAMF decoder extension) or through the Android Spatializer.
    • Correctly remove support for AC4Profile22 and other legacy profiles when assessing AC-4 decoder support in Automotive scenarios (#2609).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Attempt to match the output layout of the speakers (or Spatializer if applicable) when decoding IAMF, both with the IAMF extension and media codec decoders, supported by new fields and logic in AudioCapabilities and AudioCapabilitiesReceiver.
    • Fix bug where playback gets stuck when playing a playlist of gapless audio in compressed offload mode.
  • Text:
    • VobSub: Use START and STOP SPU control commands to derive cue duration instead of always defaulting to 5 seconds (#2935).
  • Metadata:
    • Increase default count of metadata renderers to four to cover all potential metadata tracks published by HLS variants and renditions (#3043).
  • Effect:
    • Move LottieOverlay to a new :media3-effect-lottie module (which also involved renaming it from androidx.media3.effect.LottieOverlay to androidx.media3.effect.lottie.LottieOverlay).
  • Effect Lottie:
    • Introduce a new :media3-effect-lottie module which provides functionality for applying lottie effects to video frames.
  • IMA extension:
    • Update the IMA SDK version to 3.39.0 in order to have access to the latest Ad media info API.
    • Fix a bug where the ad MIME type did not match the MIME type provided in the IMA LOADED event. The fix now maps the ad MIME type using the ad media info provided by IMA.
    • Add setEnableCustomTabs to ImaAdsLoader and ImaServerSideAdInsertionMediaSource, allowing users to control whether ad click-through URLs are launched using Custom Tabs.

... (truncated)

Changelog

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

1.10.0 (2026-03-25)

This release includes the following changes since 1.9.1 release:

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include

... (truncated)

Commits
  • 7ce3aa2 Merge branch 'release' into release-1.10.0
  • 9a86cf8 Update release notes for 1.10.0
  • 3517ef9 Update version number for 1.10.0 release
  • 5c43a67 Bump version to media3:1.10.0-rc03
  • 6d157a4 Update release notes for 1.10.0-rc03
  • 16356f8 Fix regression in RTSP H264/H265 caused by incorrect sample size resets
  • ba1a742 Fix ArrayIndexOutOfBoundsIndexException with unavailable preroll
  • f734434 Fix SysUI crash/device reboot issue on API 29 for specific bitmap size
  • 82ea60d HlsMediaPeriod: Generate StreamKeys for all streams in redundant group
  • a601e8e Add release notes for 1.10.0-rc02
  • Additional commits viewable in compare view

Updates androidx.media3:media3-ui-compose from 1.9.3 to 1.10.0

Release notes

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

1.10.0

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include the output array as a parameter, pre-populated with track overrides.
    • Fix issue where embedded metadata tracks are selected irrespective of whether the corresponding primary track is selected (#294).
    • Stabilize TrackSelectionParameters options for preferredVideoLanguages, preferredVideoLabels, preferredAudioLabels, preferredTextLabels and selectTextByDefault.
  • Extractors:
    • MP4: Support files with large uuid boxes before other boxes like moov (#3046).
    • MP4: Add support for Versatile Video Coding (VVC) tracks in MP4 containers.
  • Inspector:
    • Breaking change: remove FrameExtractor. Users should now depend on the new :media3-inspector-frame module and update imports to androidx.media3.inspector.frame.FrameExtractor.
    • Introduce a new module for extracting and processing decoded video frames.
  • Audio:
    • Change underlying decoding library for the IAMF decoder extension from libiamf to iamf_tools.
    • IAMF decoding supports binaural output either through the decoder (when using the IAMF decoder extension) or through the Android Spatializer.
    • Correctly remove support for AC4Profile22 and other legacy profiles when assessing AC-4 decoder support in Automotive scenarios (#2609).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Attempt to match the output layout of the speakers (or Spatializer if applicable) when decoding IAMF, both with the IAMF extension and media codec decoders, supported by new fields and logic in AudioCapabilities and AudioCapabilitiesReceiver.
    • Fix bug where playback gets stuck when playing a playlist of gapless audio in compressed offload mode.
  • Text:
    • VobSub: Use START and STOP SPU control commands to derive cue duration instead of always defaulting to 5 seconds (#2935).
  • Metadata:
    • Increase default count of metadata renderers to four to cover all potential metadata tracks published by HLS variants and renditions (#3043).
  • Effect:
    • Move LottieOverlay to a new :media3-effect-lottie module (which also involved renaming it from androidx.media3.effect.LottieOverlay to androidx.media3.effect.lottie.LottieOverlay).
  • Effect Lottie:
    • Introduce a new :media3-effect-lottie module which provides functionality for applying lottie effects to video frames.
  • IMA extension:
    • Update the IMA SDK version to 3.39.0 in order to have access to the latest Ad media info API.
    • Fix a bug where the ad MIME type did not match the MIME type provided in the IMA LOADED event. The fix now maps the ad MIME type using the ad media info provided by IMA.
    • Add setEnableCustomTabs to ImaAdsLoader and ImaServerSideAdInsertionMediaSource, allowing users to control whether ad click-through URLs are launched using Custom Tabs.

... (truncated)

Changelog

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

1.10.0 (2026-03-25)

This release includes the following changes since 1.9.1 release:

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include

... (truncated)

Commits
  • 7ce3aa2 Merge branch 'release' into release-1.10.0
  • 9a86cf8 Update release notes for 1.10.0
  • 3517ef9 Update version number for 1.10.0 release
  • 5c43a67 Bump version to media3:1.10.0-rc03
  • 6d157a4 Update release notes for 1.10.0-rc03
  • 16356f8 Fix regression in RTSP H264/H265 caused by incorrect sample size resets
  • ba1a742 Fix ArrayIndexOutOfBoundsIndexException with unavailable preroll
  • f734434 Fix SysUI crash/device reboot issue on API 29 for specific bitmap size
  • 82ea60d HlsMediaPeriod: Generate StreamKeys for all streams in redundant group
  • a601e8e Add release notes for 1.10.0-rc02
  • Additional commits viewable in compare view

Updates androidx.media3:media3-ui from 1.9.3 to 1.10.0

Release notes

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

1.10.0

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include the output array as a parameter, pre-populated with track overrides.
    • Fix issue where embedded metadata tracks are selected irrespective of whether the corresponding primary track is selected (#294).
    • Stabilize TrackSelectionParameters options for preferredVideoLanguages, preferredVideoLabels, preferredAudioLabels, preferredTextLabels and selectTextByDefault.
  • Extractors:
    • MP4: Support files with large uuid boxes before other boxes like moov (#3046).
    • MP4: Add support for Versatile Video Coding (VVC) tracks in MP4 containers.
  • Inspector:
    • Breaking change: remove FrameExtractor. Users should now depend on the new :media3-inspector-frame module and update imports to androidx.media3.inspector.frame.FrameExtractor.
    • Introduce a new module for extracting and processing decoded video frames.
  • Audio:
    • Change underlying decoding library for the IAMF decoder extension from libiamf to iamf_tools.
    • IAMF decoding supports binaural output either through the decoder (when using the IAMF decoder extension) or through the Android Spatializer.
    • Correctly remove support for AC4Profile22 and other legacy profiles when assessing AC-4 decoder support in Automotive scenarios (#2609).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Attempt to match the output layout of the speakers (or Spatializer if applicable) when decoding IAMF, both with the IAMF extension and media codec decoders, supported by new fields and logic in AudioCapabilities and AudioCapabilitiesReceiver.
    • Fix bug where playback gets stuck when playing a playlist of gapless audio in compressed offload mode.
  • Text:
    • VobSub: Use START and STOP SPU control commands to derive cue duration instead of always defaulting to 5 seconds (#2935).
  • Metadata:
    • Increase default count of metadata renderers to four to cover all potential metadata tracks published by HLS variants and renditions (#3043).
  • Effect:
    • Move LottieOverlay to a new :media3-effect-lottie module (which also involved renaming it from androidx.media3.effect.LottieOverlay to androidx.media3.effect.lottie.LottieOverlay).
  • Effect Lottie:
    • Introduce a new :media3-effect-lottie module which provides functionality for applying lottie effects to video frames.
  • IMA extension:
    • Update the IMA SDK version to 3.39.0 in order to have access to the latest Ad media info API.
    • Fix a bug where the ad MIME type did not match the MIME type provided in the IMA LOADED event. The fix now maps the ad MIME type using the ad media info provided by IMA.
    • Add setEnableCustomTabs to ImaAdsLoader and ImaServerSideAdInsertionMediaSource, allowing users to control whether ad click-through URLs are launched using Custom Tabs.

... (truncated)

Changelog

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

1.10.0 (2026-03-25)

This release includes the following changes since 1.9.1 release:

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include

... (truncated)

Commits
  • 7ce3aa2 Merge branch 'release' into release-1.10.0
  • 9a86cf8 Update release notes for 1.10.0
  • 3517ef9 Update version number for 1.10.0 release
  • 5c43a67 Bump version to media3:1.10.0-rc03
  • 6d157a4 Update release notes for 1.10.0-rc03
  • 16356f8 Fix regression in RTSP H264/H265 caused by incorrect sample size resets
  • ba1a742 Fix ArrayIndexOutOfBoundsIndexException with unavailable preroll
  • f734434 Fix SysUI crash/device reboot issue on API 29 for specific bitmap size
  • 82ea60d HlsMediaPeriod: Generate StreamKeys for all streams in redundant group
  • a601e8e Add release notes for 1.10.0-rc02
  • Additional commits viewable in compare view

Updates androidx.media3:media3-exoplayer-hls from 1.9.3 to 1.10.0

Release notes

Sourced from androidx.media3:media3-exoplayer-hls's releases.

1.10.0

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include the output array as a parameter, pre-populated with track overrides.
    • Fix issue where embedded metadata tracks are selected irrespective of whether the corresponding primary track is selected (#294).
    • Stabilize TrackSelectionParameters options for preferredVideoLanguages, preferredVideoLabels, preferredAudioLabels, preferredTextLabels and selectTextByDefault.
  • Extractors:
    • MP4: Support files with large uuid boxes before other boxes like moov (#3046).
    • MP4: Add support for Versatile Video Coding (VVC) tracks in MP4 containers.
  • Inspector:
    • Breaking change: remove FrameExtractor. Users should now depend on the new :media3-inspector-frame module and update imports to androidx.media3.inspector.frame.FrameExtractor.
    • Introduce a new module for extracting and processing decoded video frames.
  • Audio:
    • Change underlying decoding library for the IAMF decoder extension from libiamf to iamf_tools.
    • IAMF decoding supports binaural output either through the decoder (when using the IAMF decoder extension) or through the Android Spatializer.
    • Correctly remove support for AC4Profile22 and other legacy profiles when assessing AC-4 decoder support in Automotive scenarios (#2609).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Attempt to match the output layout of the speakers (or Spatializer if applicable) when decoding IAMF, both with the IAMF extension and media codec decoders, supported by new fields and logic in AudioCapabilities and AudioCapabilitiesReceiver.
    • Fix bug where playback gets stuck when playing a playlist of gapless audio in compressed offload mode.
  • Text:
    • VobSub: Use START and STOP SPU control commands to derive cue duration instead of always defaulting to 5 seconds (#2935).
  • Metadata:
    • Increase default count of metadata renderers to four to cover all potential metadata tracks published by HLS variants and renditions (#3043).
  • Effect:
    • Move LottieOverlay to a new :media3-effect-lottie module (which also involved renaming it from androidx.media3.effect.LottieOverlay to androidx.media3.effect.lottie.LottieOverlay).
  • Effect Lottie:
    • Introduce a new :media3-effect-lottie module which provides functionality for applying lottie effects to video frames.
  • IMA extension:
    • Update the IMA SDK version to 3.39.0 in order to have access to the latest Ad media info API.
    • Fix a bug where the ad MIME type did not match the MIME type provided in the IMA LOADED event. The fix now maps the ad MIME type using the ad media info provided by IMA.
    • Add setEnableCustomTabs to ImaAdsLoader and ImaServerSideAdInsertionMediaSource, allowing users to control whether ad click-through URLs are launched using Custom Tabs.

... (truncated)

Changelog

Sourced from androidx.media3:media3-exoplayer-hls's changelog.

1.10.0 (2026-03-25)

This release includes the following changes since 1.9.1 release:

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include

... (truncated)

Commits
  • 7ce3aa2 Merge branch 'release' into release-1.10.0
  • 9a86cf8 Update release notes for 1.10.0
  • 3517ef9 Update version number for 1.10.0 release
  • 5c43a67 Bump version to media3:1.10.0-rc03
  • 6d157a4 Update release notes for 1.10.0-rc03
  • 16356f8 Fix regression in RTSP H264/H265 caused by incorrect sample size resets
  • ba1a742 Fix ArrayIndexOutOfBoundsIndexException with unavailable preroll
  • f734434 Fix SysUI crash/device reboot issue on API 29 for specific bitmap size
  • 82ea60d HlsMediaPeriod: Generate StreamKeys for all streams in redundant group
  • a601e8e Add release notes for 1.10.0-rc02
  • Additional commits viewable in compare view

Updates androidx.media3:media3-session from 1.9.3 to 1.10.0

Release notes

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

1.10.0

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include the output array as a parameter, pre-populated with track overrides.
    • Fix issue where embedded metadata tracks are selected irrespective of whether the corresponding primary track is selected (#294).
    • Stabilize TrackSelectionParameters options for preferredVideoLanguages, preferredVideoLabels, preferredAudioLabels, preferredTextLabels and selectTextByDefault.
  • Extractors:
    • MP4: Support files with large uuid boxes before other boxes like moov (#3046).
    • MP4: Add support for Versatile Video Coding (VVC) tracks in MP4 containers.
  • Inspector:
    • Breaking change: remove FrameExtractor. Users should now depend on the new :media3-inspector-frame module and update imports to androidx.media3.inspector.frame.FrameExtractor.
    • Introduce a new module for extracting and processing decoded video frames.
  • Audio:
    • Change underlying decoding library for the IAMF decoder extension from libiamf to iamf_tools.
    • IAMF decoding supports binaural output either through the decoder (when using the IAMF decoder extension) or through the Android Spatializer.
    • Correctly remove support for AC4Profile22 and other legacy profiles when assessing AC-4 decoder support in Automotive scenarios (#2609).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Improve the retry logic of AudioOutput initialization in DefaultAudioSink (#2905).
    • Attempt to match the output layout of the speakers (or Spatializer if applicable) when decoding IAMF, both with the IAMF extension and media codec decoders, supported by new fields and logic in AudioCapabilities and AudioCapabilitiesReceiver.
    • Fix bug where playback gets stuck when playing a playlist of gapless audio in compressed offload mode.
  • Text:
    • VobSub: Use START and STOP SPU control commands to derive cue duration instead of always defaulting to 5 seconds (#2935).
  • Metadata:
    • Increase default count of metadata renderers to four to cover all potential metadata tracks published by HLS variants and renditions (#3043).
  • Effect:
    • Move LottieOverlay to a new :media3-effect-lottie module (which also involved renaming it from androidx.media3.effect.LottieOverlay to androidx.media3.effect.lottie.LottieOverlay).
  • Effect Lottie:
    • Introduce a new :media3-effect-lottie module which provides functionality for applying lottie effects to video frames.
  • IMA extension:
    • Update the IMA SDK version to 3.39.0 in order to have access to the latest Ad media info API.
    • Fix a bug where the ad MIME type did not match the MIME type provided in the IMA LOADED event. The fix now maps the ad MIME type using the ad media info provided by IMA.
    • Add setEnableCustomTabs to ImaAdsLoader and ImaServerSideAdInsertionMediaSource, allowing users to control whether ad click-through URLs are launched using Custom Tabs.

... (truncated)

Changelog

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

1.10.0 (2026-03-25)

This release includes the following changes since 1.9.1 release:

  • Common library:
    • Promote Player.mute() and Player.unmute() from UnstableApi to stable.
    • Promote Format.pcmEncoding and C.PcmEncoding from UnstableApi to stable.
    • Add Format.primaryTrackGroupId to identify the primary group of embedded Format instances (#294).
  • ExoPlayer:
    • Add clipping capabilities to AdsMediaSource.
    • Add support for dynamic scheduling in MediaCodecVideoRenderer to better align scheduling work and CPU wake-cycles to when video frames can be processed. You can enable this using experimentalSetEnableMediaCodecVideoRendererDurationToProgressUs() in the DefaultRenderersFactory.
    • Allow setting a custom DataSource.Factory in DefaultPreloadManager.Builder.
    • Allow ExoPlayer to be mocked without Robolectric by moving some default constants to ExoPlayer.Builder. Mocking this complex interface is not generally encouraged - only when the usage is minimal/simple/incidental (#2985).
      • This required moving DEFAULT_STUCK_PLAYING_DETECTION_TIMEOUT_MS from ExoPlayer to ExoPlayer.Builder (without deprecation).
    • Fix a bug where ProgressiveMediaSource propagates out-of-date timeline info to the player, and the queued periods unexpectedly get removed (#3016).
    • Fix issue where ExoPlayer would not request delayed audio focus when playback is requested during phone calls.
    • Fix bug where transitions from on-demand to live content may cause re-buffers at the end of the on-demand content (#3052).
    • Add support for Dolby Vision Profile 10 (#2830).
    • Fix bug where an uninitialized pre roll ad produced an ArrayIndexOutOfBoundsException (#3125).
  • CompositionPlayer:
    • Add support for EditedMediaItem.removeVideo.
  • Transformer:
    • EditedMediaItem.Builder.setFrameRate() can now set a maximum output frame rate for video, which is particularly helpful when increasing media speed with setSpeed().
  • Track selection:
    • Change signature of DefaultTrackSelector.selectAllTracks to include

... (truncated)

Commits
  • 7ce3aa2 Merge branch 'release' into release-1.10.0
  • 9a86cf8 Update release notes for 1.10.0
  • 3517ef9 Update version number for 1.10.0 release
  • 5c43a67 Bump version to media3:1.10.0-rc03
  • 6d157a4 Update release notes for 1.10.0-rc03
  • 16356f8 Fix regression in RTSP H264/H265 caused by incorrect sample size resets
  • ba1a742 Fix ArrayIndexOutOfBoundsIndexException with unavailable preroll
  • f734434 Fix SysUI crash/device reboot issue on API 29 for specific bitmap size
  • 82ea60d HlsMediaPeriod: Generate StreamKeys for all streams in redundant group
  • a601e8e Add release notes for 1.10.0-rc02
  • Additional commits viewable in compare view

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 `media3` from 1.9.3 to 1.10.0.

Updates `androidx.media3:media3-exoplayer` from 1.9.3 to 1.10.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.9.3...1.10.0)

Updates `androidx.media3:media3-ui-compose` from 1.9.3 to 1.10.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.9.3...1.10.0)

Updates `androidx.media3:media3-ui` from 1.9.3 to 1.10.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.9.3...1.10.0)

Updates `androidx.media3:media3-exoplayer-hls` from 1.9.3 to 1.10.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.9.3...1.10.0)

Updates `androidx.media3:media3-session` from 1.9.3 to 1.10.0
- [Release notes](https://github.com/androidx/media/releases)
- [Changelog](https://github.com/androidx/media/blob/release/RELEASENOTES.md)
- [Commits](androidx/media@1.9.3...1.10.0)

---
updated-dependencies:
- dependency-name: androidx.media3:media3-exoplayer
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-ui-compose
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-ui
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-exoplayer-hls
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-session
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Mar 30, 2026
@Tlaster Tlaster merged commit d5e4d95 into master Mar 30, 2026
9 checks passed
@Tlaster Tlaster deleted the dependabot/gradle/media3-1.10.0 branch March 30, 2026 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant