Skip to content

Bump media3 from 1.9.3 to 1.10.1#440

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/media3-1.10.1
Open

Bump media3 from 1.9.3 to 1.10.1#440
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/gradle/media3-1.10.1

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot Bot commented on behalf of github May 12, 2026

Bumps media3 from 1.9.3 to 1.10.1.
Updates androidx.media3:media3-cast from 1.9.3 to 1.10.1

Release notes

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

1.10.1

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform media sessions that don't allow PREPARE_FROM actions.
    • Fix bug where own process wasn't marked with Controller.isTrusted() on API 27 or before when connecting via platform controllers.
  • HLS extension:
    • Fix a bug where an ArrayIndexOutOfBoundsException is thrown during stream fallback if the track selection is a subset of the available tracks (#3161).
    • Fix an issue where the initialization segment was not carried over across media playlist updates if the #EXT-X-MAP tag was not repeated in subsequent updates (#3105).
  • DASH extension:
    • Fix crash in SampleQueue when seeking into a chunk that is currently being canceled.

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().

... (truncated)

Changelog

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

1.10.1 (2026-05-12)

This release includes the following changes since 1.10.0:

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode. (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform

... (truncated)

Commits
  • 5fb3064 Bump version to 1.10.1
  • 95d6a27 Update release notes for 1.10.1
  • a2bc304 Fix Mp4Extractor OutOfBounds exception when sample tables are omitted
  • 2142ab0 Fix scrubbing mode's intermittent seek prevention for image rendering
  • b323c9d Add specific error codes for failure to render errors.
  • a8ef409 Fix redirection of stderr in bazelisk check
  • 14f8248 Improve memory management in av1 decoder
  • 4a58406 Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest
  • de3e9e7 Fix crash in SampleQueue when seeking into canceled chunks
  • 910c402 Fix video track selection for Dolby Vision fallback tracks
  • Additional commits viewable in compare view

Updates androidx.media3:media3-common from 1.9.3 to 1.10.1

Release notes

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

1.10.1

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform media sessions that don't allow PREPARE_FROM actions.
    • Fix bug where own process wasn't marked with Controller.isTrusted() on API 27 or before when connecting via platform controllers.
  • HLS extension:
    • Fix a bug where an ArrayIndexOutOfBoundsException is thrown during stream fallback if the track selection is a subset of the available tracks (#3161).
    • Fix an issue where the initialization segment was not carried over across media playlist updates if the #EXT-X-MAP tag was not repeated in subsequent updates (#3105).
  • DASH extension:
    • Fix crash in SampleQueue when seeking into a chunk that is currently being canceled.

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().

... (truncated)

Changelog

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

1.10.1 (2026-05-12)

This release includes the following changes since 1.10.0:

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode. (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform

... (truncated)

Commits
  • 5fb3064 Bump version to 1.10.1
  • 95d6a27 Update release notes for 1.10.1
  • a2bc304 Fix Mp4Extractor OutOfBounds exception when sample tables are omitted
  • 2142ab0 Fix scrubbing mode's intermittent seek prevention for image rendering
  • b323c9d Add specific error codes for failure to render errors.
  • a8ef409 Fix redirection of stderr in bazelisk check
  • 14f8248 Improve memory management in av1 decoder
  • 4a58406 Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest
  • de3e9e7 Fix crash in SampleQueue when seeking into canceled chunks
  • 910c402 Fix video track selection for Dolby Vision fallback tracks
  • Additional commits viewable in compare view

Updates androidx.media3:media3-container from 1.9.3 to 1.10.1

Release notes

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

1.10.1

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform media sessions that don't allow PREPARE_FROM actions.
    • Fix bug where own process wasn't marked with Controller.isTrusted() on API 27 or before when connecting via platform controllers.
  • HLS extension:
    • Fix a bug where an ArrayIndexOutOfBoundsException is thrown during stream fallback if the track selection is a subset of the available tracks (#3161).
    • Fix an issue where the initialization segment was not carried over across media playlist updates if the #EXT-X-MAP tag was not repeated in subsequent updates (#3105).
  • DASH extension:
    • Fix crash in SampleQueue when seeking into a chunk that is currently being canceled.

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().

... (truncated)

Changelog

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

1.10.1 (2026-05-12)

This release includes the following changes since 1.10.0:

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode. (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform

... (truncated)

Commits
  • 5fb3064 Bump version to 1.10.1
  • 95d6a27 Update release notes for 1.10.1
  • a2bc304 Fix Mp4Extractor OutOfBounds exception when sample tables are omitted
  • 2142ab0 Fix scrubbing mode's intermittent seek prevention for image rendering
  • b323c9d Add specific error codes for failure to render errors.
  • a8ef409 Fix redirection of stderr in bazelisk check
  • 14f8248 Improve memory management in av1 decoder
  • 4a58406 Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest
  • de3e9e7 Fix crash in SampleQueue when seeking into canceled chunks
  • 910c402 Fix video track selection for Dolby Vision fallback tracks
  • Additional commits viewable in compare view

Updates androidx.media3:media3-datasource-cronet from 1.9.3 to 1.10.1

Release notes

Sourced from androidx.media3:media3-datasource-cronet's releases.

1.10.1

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform media sessions that don't allow PREPARE_FROM actions.
    • Fix bug where own process wasn't marked with Controller.isTrusted() on API 27 or before when connecting via platform controllers.
  • HLS extension:
    • Fix a bug where an ArrayIndexOutOfBoundsException is thrown during stream fallback if the track selection is a subset of the available tracks (#3161).
    • Fix an issue where the initialization segment was not carried over across media playlist updates if the #EXT-X-MAP tag was not repeated in subsequent updates (#3105).
  • DASH extension:
    • Fix crash in SampleQueue when seeking into a chunk that is currently being canceled.

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().

... (truncated)

Changelog

Sourced from androidx.media3:media3-datasource-cronet's changelog.

1.10.1 (2026-05-12)

This release includes the following changes since 1.10.0:

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode. (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform

... (truncated)

Commits
  • 5fb3064 Bump version to 1.10.1
  • 95d6a27 Update release notes for 1.10.1
  • a2bc304 Fix Mp4Extractor OutOfBounds exception when sample tables are omitted
  • 2142ab0 Fix scrubbing mode's intermittent seek prevention for image rendering
  • b323c9d Add specific error codes for failure to render errors.
  • a8ef409 Fix redirection of stderr in bazelisk check
  • 14f8248 Improve memory management in av1 decoder
  • 4a58406 Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest
  • de3e9e7 Fix crash in SampleQueue when seeking into canceled chunks
  • 910c402 Fix video track selection for Dolby Vision fallback tracks
  • Additional commits viewable in compare view

Updates androidx.media3:media3-datasource-okhttp from 1.9.3 to 1.10.1

Release notes

Sourced from androidx.media3:media3-datasource-okhttp's releases.

1.10.1

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform media sessions that don't allow PREPARE_FROM actions.
    • Fix bug where own process wasn't marked with Controller.isTrusted() on API 27 or before when connecting via platform controllers.
  • HLS extension:
    • Fix a bug where an ArrayIndexOutOfBoundsException is thrown during stream fallback if the track selection is a subset of the available tracks (#3161).
    • Fix an issue where the initialization segment was not carried over across media playlist updates if the #EXT-X-MAP tag was not repeated in subsequent updates (#3105).
  • DASH extension:
    • Fix crash in SampleQueue when seeking into a chunk that is currently being canceled.

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().

... (truncated)

Changelog

Sourced from androidx.media3:media3-datasource-okhttp's changelog.

1.10.1 (2026-05-12)

This release includes the following changes since 1.10.0:

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode. (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform

... (truncated)

Commits
  • 5fb3064 Bump version to 1.10.1
  • 95d6a27 Update release notes for 1.10.1
  • a2bc304 Fix Mp4Extractor OutOfBounds exception when sample tables are omitted
  • 2142ab0 Fix scrubbing mode's intermittent seek prevention for image rendering
  • b323c9d Add specific error codes for failure to render errors.
  • a8ef409 Fix redirection of stderr in bazelisk check
  • 14f8248 Improve memory management in av1 decoder
  • 4a58406 Fix flaky tests in MediaSessionCompatCallbackWithMediaControllerTest
  • de3e9e7 Fix crash in SampleQueue when seeking into canceled chunks
  • 910c402 Fix video track selection for Dolby Vision fallback tracks
  • Additional commits viewable in compare view

Updates androidx.media3:media3-exoplayer from 1.9.3 to 1.10.1

Release notes

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

1.10.1

  • Common library:
    • Fix handling of onAudioSessionIdChanged in SimpleBasePlayer and ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Fix race condition related to audio session id generation that could lead to an IllegalStateException with tunneling mode (#3099).
    • Fix possible app crashes when recovering from decoder errors with renderer prewarming.
    • Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
  • Track selection:
    • Adjust track selection logic in VideoTrackInfo to resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
  • Extractors:
    • MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
    • Fix ArrayIndexOutOfBoundsException in Mp4Extractor when FLAG_OMIT_TRACK_SAMPLE_TABLE is set and the track lacks a sync sample (stss) box.
  • Audio:
    • Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
  • Video:
    • Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
    • Disable forced synchronization workaround in queueSecureInputBuffer for API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
  • Image:
    • Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
  • Session:
    • Fix bug where ForegroundServiceStartNotAllowedException wasn't propagated across thread boundaries in case the application thread is not the main thread (#2499).
    • Fix bug where COMMAND_SEEK_TO_MEDIA_ITEM is not available in a MediaController when connecting to a platform-only session that supports seeking to other items but no playlist modifications.
    • Fix issue where MediaController can't set media items on platform media sessions that don't allow PREPARE_FROM actions.
    • Fix bug where own process wasn't marked with Controller.isTrusted() on API 27 or before when connecting via platform controllers.
  • HLS extension:
    • Fix a bug where an ArrayIndexOutOfBoundsException is thrown during stream fallback if the track selection is a subset of the available tracks (#3161).
    • Fix an issue where the initialization segment was not carried over across media playlist updates if the #EXT-X-MAP tag was not repeated in subsequent updates (#3105).
  • DASH extension:
    • Fix crash in SampleQueue when seeking into a chunk that is currently being canceled.

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: Description has been truncated

Bumps `media3` from 1.9.3 to 1.10.1.

Updates `androidx.media3:media3-cast` from 1.9.3 to 1.10.1
- [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.1)

Updates `androidx.media3:media3-common` from 1.9.3 to 1.10.1
- [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.1)

Updates `androidx.media3:media3-container` from 1.9.3 to 1.10.1
- [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.1)

Updates `androidx.media3:media3-datasource-cronet` from 1.9.3 to 1.10.1
- [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.1)

Updates `androidx.media3:media3-datasource-okhttp` from 1.9.3 to 1.10.1
- [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.1)

Updates `androidx.media3:media3-exoplayer` from 1.9.3 to 1.10.1
- [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.1)

Updates `androidx.media3:media3-exoplayer-dash` from 1.9.3 to 1.10.1
- [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.1)

Updates `androidx.media3:media3-exoplayer-hls` from 1.9.3 to 1.10.1
- [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.1)

Updates `androidx.media3:media3-session` from 1.9.3 to 1.10.1
- [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.1)

Updates `androidx.media3:media3-ui` from 1.9.3 to 1.10.1
- [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.1)

---
updated-dependencies:
- dependency-name: androidx.media3:media3-cast
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-common
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-container
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-datasource-cronet
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-datasource-okhttp
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-exoplayer
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-exoplayer-dash
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-exoplayer-hls
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-session
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-ui
  dependency-version: 1.10.1
  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 May 12, 2026
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.

0 participants