Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Apr 7, 2025

Bumps media from 1.5.1 to 1.6.0.
Updates androidx.media3:media3-exoplayer from 1.5.1 to 1.6.0

Release notes

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

1.6.0

This release includes the following changes since the 1.5.1 release:

  • Common Library:
    • Add AudioManagerCompat and AudioFocusRequestCompat to replace the equivalent classes in androidx.media.
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
    • Remove Format.toBundle(boolean excludeMetadata) method, use Format.toBundle() instead.
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
    • Change SimpleBasePlayer.State access from protected to public to make it easier to handle updates in other classes(#2128).
  • ExoPlayer:
    • Add MediaExtractorCompat, a new class that provides equivalent features to platform MediaExtractor.
    • Add experimental 'ExoPlayer' pre-warming support for playback usingMediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Reduce default values for bufferForPlaybackMs and bufferForPlaybackAfterRebufferMs in DefaultLoadControl to 1000 and 2000 ms respectively.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Initial audio session id is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
    • Consider language when selecting a video track. By default, select a 'main' video track that matches the language of the selected audio track, if available. Explicit video language preferences can be expressed with TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).
    • Add selectedAudioLanguage parameter to DefaultTrackSelector.selectVideoTrack() method.
    • Add retryCount parameter to MediaSourceEventListener.onLoadStarted and corresponding MediaSourceEventListener.EventDispatcher methods.
    • Fix bug where playlist items or periods in multi-period DASH streams with durations that don't match the actual content could cause frame freezes at the end of the item (#1698).
    • Move BasePreloadManager.Listener to a top-level PreloadManagerListener.
    • RenderersFactory.createSecondaryRenderer can be implemented to provide secondary renderers for pre-warming. Pre-warming enables quicker media item transitions during playback.
    • Enable sending CmcdData for manifest requests in adaptive streaming formats DASH, HLS, and SmoothStreaming (#1951).
    • Provide MediaCodecInfo of the codec that will be initialized in MediaCodecRenderer.onReadyToInitializeCodec (#1963).
    • Change AdsMediaSource to allow the AdPlaybackStates to grow by appending ad groups. Invalid modifications are detected and throw an exception.
    • Fix issue where additional decode-only frames may be displayed in quick succession when transitioning to content media after a mid-roll ad.
    • Make DefaultRenderersFactory add two MetadataRenderer instances to enable apps to receive two different schemes of metadata by default.
    • Reevaluate whether the ongoing load of a chunk should be cancelled when playback is paused (#1785).
    • Add option to ClippingMediaSource to allow clipping in unseekable media.
    • Fix bug where seeking with pre-warming could block following media item transition.
    • Fix a bug where ExoPlayer.isLoading() remains true while it has transitioned to STATE_IDLE or STATE_ENDED (#2133).
    • Add lastRebufferRealtimeMs to LoadControl.Parameter (#2113).
  • Transformer:
    • Add support for transmuxing into alternative backward compatible formats.
    • Add support for transcoding and transmuxing Dolby Vision (profile 8) format.
    • Update parameters of VideoFrameProcessor.registerInputStream and VideoFrameProcessor.Listener.onInputStreamRegistered to use Format.
    • Generate HDR static metadata when using DefaultEncoderFactory.
    • Enable support for Android platform diagnostics using MediaMetricsManager. Transformer forwards editing events and performance data to the platform, which helps to provide system performance and debugging information on the device. This data may also be collected by Google if sharing usage and diagnostics data is enabled by the user of the device. Apps can opt-out of contributing to platform diagnostics for Transformer with Transformer.Builder.setUsePlatformDiagnostics(false).
    • Split InAppMuxer into InAppMp4Muxer and InAppFragmentedMp4Muxer. You use InAppMp4Muxer to produce a non-fragmented MP4 file, while InAppFragmentedMp4Muxer is for producing a fragmented MP4 file.
    • Move Muxer interface from media3-muxer to media3-transformer.
    • Add MediaProjectionAssetLoader, which provides media from a MediaProjection for screen recording, and add support for screen recording to the Transformer demo app.
    • Add #getInputFormat() to Codec interface.
    • Shift the responsibility to release the GlObjectsProvider onto the caller in DefaultVideoFrameProcessor and DefaultVideoCompositor when possible.
  • Extractors:
    • AVI: Fix handling of files with constant bitrate compressed audio where the stream header stores the number of bytes instead of the number of chunks.
    • Fix handling of NAL units with lengths expressed in 1 or 2 bytes (rather than 4).
    • Fix ArrayIndexOutOfBoundsException in MP4 edit lists when the edit list starts at a non-sync frame with no preceding sync frame (#2062).
    • Fix issue where TS streams can get stuck on some devices (#2069).
    • FLAC: Add support for 32-bit FLAC files. Previously these would fail to play with IllegalStateException: Playback stuck buffering and not loading (#2197).
  • Audio:

... (truncated)

Changelog

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

1.6.0 (2025-03-26)

This release includes the following changes since the 1.5.1 release:

  • Common Library:
    • Add AudioManagerCompat and AudioFocusRequestCompat to replace the equivalent classes in androidx.media.
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
    • Remove Format.toBundle(boolean excludeMetadata) method, use Format.toBundle() instead.
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
    • Change SimpleBasePlayer.State access from protected to public to make it easier to handle updates in other classes (#2128).
  • ExoPlayer:
    • Add MediaExtractorCompat, a new class that provides equivalent features to platform MediaExtractor.
    • Add experimental 'ExoPlayer' pre-warming support for playback using MediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Reduce default values for bufferForPlaybackMs and bufferForPlaybackAfterRebufferMs in DefaultLoadControl to 1000 and 2000 ms respectively.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Initial audio session id is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
    • Consider language when selecting a video track. By default, select a 'main' video track that matches the language of the selected audio track, if available. Explicit video language preferences can be expressed with TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).
    • Add selectedAudioLanguage parameter to DefaultTrackSelector.selectVideoTrack() method.
    • Add retryCount parameter to MediaSourceEventListener.onLoadStarted and corresponding MediaSourceEventListener.EventDispatcher methods.
    • Fix bug where playlist items or periods in multi-period DASH streams

... (truncated)

Commits
  • 51efcad Merge branch 'release' into release-1.6.0
  • fdbf2a4 Add missing 1.6.0 entry to GH bug template
  • df3b138 Update release notes for 1.6.0
  • 7c0fb62 Version bump to Media3 1.6.0
  • 05827ea Avoid unsupported mock operation
  • c558ae4 Fix a race condition in HttpEngineDataSource
  • 8212b96 Exclude Xiaomi and OPPO devices from detached surface mode
  • bd104b1 Consider audio output latency when source has ended
  • efb109d Update release notes for 1.6.0-rc02
  • dadd970 Version bump to Media3 1.6.0-rc02
  • Additional commits viewable in compare view

Updates androidx.media3:media3-exoplayer-hls from 1.5.1 to 1.6.0

Release notes

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

1.6.0

This release includes the following changes since the 1.5.1 release:

  • Common Library:
    • Add AudioManagerCompat and AudioFocusRequestCompat to replace the equivalent classes in androidx.media.
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
    • Remove Format.toBundle(boolean excludeMetadata) method, use Format.toBundle() instead.
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
    • Change SimpleBasePlayer.State access from protected to public to make it easier to handle updates in other classes(#2128).
  • ExoPlayer:
    • Add MediaExtractorCompat, a new class that provides equivalent features to platform MediaExtractor.
    • Add experimental 'ExoPlayer' pre-warming support for playback usingMediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Reduce default values for bufferForPlaybackMs and bufferForPlaybackAfterRebufferMs in DefaultLoadControl to 1000 and 2000 ms respectively.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Initial audio session id is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
    • Consider language when selecting a video track. By default, select a 'main' video track that matches the language of the selected audio track, if available. Explicit video language preferences can be expressed with TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).
    • Add selectedAudioLanguage parameter to DefaultTrackSelector.selectVideoTrack() method.
    • Add retryCount parameter to MediaSourceEventListener.onLoadStarted and corresponding MediaSourceEventListener.EventDispatcher methods.
    • Fix bug where playlist items or periods in multi-period DASH streams with durations that don't match the actual content could cause frame freezes at the end of the item (#1698).
    • Move BasePreloadManager.Listener to a top-level PreloadManagerListener.
    • RenderersFactory.createSecondaryRenderer can be implemented to provide secondary renderers for pre-warming. Pre-warming enables quicker media item transitions during playback.
    • Enable sending CmcdData for manifest requests in adaptive streaming formats DASH, HLS, and SmoothStreaming (#1951).
    • Provide MediaCodecInfo of the codec that will be initialized in MediaCodecRenderer.onReadyToInitializeCodec (#1963).
    • Change AdsMediaSource to allow the AdPlaybackStates to grow by appending ad groups. Invalid modifications are detected and throw an exception.
    • Fix issue where additional decode-only frames may be displayed in quick succession when transitioning to content media after a mid-roll ad.
    • Make DefaultRenderersFactory add two MetadataRenderer instances to enable apps to receive two different schemes of metadata by default.
    • Reevaluate whether the ongoing load of a chunk should be cancelled when playback is paused (#1785).
    • Add option to ClippingMediaSource to allow clipping in unseekable media.
    • Fix bug where seeking with pre-warming could block following media item transition.
    • Fix a bug where ExoPlayer.isLoading() remains true while it has transitioned to STATE_IDLE or STATE_ENDED (#2133).
    • Add lastRebufferRealtimeMs to LoadControl.Parameter (#2113).
  • Transformer:
    • Add support for transmuxing into alternative backward compatible formats.
    • Add support for transcoding and transmuxing Dolby Vision (profile 8) format.
    • Update parameters of VideoFrameProcessor.registerInputStream and VideoFrameProcessor.Listener.onInputStreamRegistered to use Format.
    • Generate HDR static metadata when using DefaultEncoderFactory.
    • Enable support for Android platform diagnostics using MediaMetricsManager. Transformer forwards editing events and performance data to the platform, which helps to provide system performance and debugging information on the device. This data may also be collected by Google if sharing usage and diagnostics data is enabled by the user of the device. Apps can opt-out of contributing to platform diagnostics for Transformer with Transformer.Builder.setUsePlatformDiagnostics(false).
    • Split InAppMuxer into InAppMp4Muxer and InAppFragmentedMp4Muxer. You use InAppMp4Muxer to produce a non-fragmented MP4 file, while InAppFragmentedMp4Muxer is for producing a fragmented MP4 file.
    • Move Muxer interface from media3-muxer to media3-transformer.
    • Add MediaProjectionAssetLoader, which provides media from a MediaProjection for screen recording, and add support for screen recording to the Transformer demo app.
    • Add #getInputFormat() to Codec interface.
    • Shift the responsibility to release the GlObjectsProvider onto the caller in DefaultVideoFrameProcessor and DefaultVideoCompositor when possible.
  • Extractors:
    • AVI: Fix handling of files with constant bitrate compressed audio where the stream header stores the number of bytes instead of the number of chunks.
    • Fix handling of NAL units with lengths expressed in 1 or 2 bytes (rather than 4).
    • Fix ArrayIndexOutOfBoundsException in MP4 edit lists when the edit list starts at a non-sync frame with no preceding sync frame (#2062).
    • Fix issue where TS streams can get stuck on some devices (#2069).
    • FLAC: Add support for 32-bit FLAC files. Previously these would fail to play with IllegalStateException: Playback stuck buffering and not loading (#2197).
  • Audio:

... (truncated)

Changelog

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

1.6.0 (2025-03-26)

This release includes the following changes since the 1.5.1 release:

  • Common Library:
    • Add AudioManagerCompat and AudioFocusRequestCompat to replace the equivalent classes in androidx.media.
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
    • Remove Format.toBundle(boolean excludeMetadata) method, use Format.toBundle() instead.
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
    • Change SimpleBasePlayer.State access from protected to public to make it easier to handle updates in other classes (#2128).
  • ExoPlayer:
    • Add MediaExtractorCompat, a new class that provides equivalent features to platform MediaExtractor.
    • Add experimental 'ExoPlayer' pre-warming support for playback using MediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Reduce default values for bufferForPlaybackMs and bufferForPlaybackAfterRebufferMs in DefaultLoadControl to 1000 and 2000 ms respectively.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Initial audio session id is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
    • Consider language when selecting a video track. By default, select a 'main' video track that matches the language of the selected audio track, if available. Explicit video language preferences can be expressed with TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).
    • Add selectedAudioLanguage parameter to DefaultTrackSelector.selectVideoTrack() method.
    • Add retryCount parameter to MediaSourceEventListener.onLoadStarted and corresponding MediaSourceEventListener.EventDispatcher methods.
    • Fix bug where playlist items or periods in multi-period DASH streams

... (truncated)

Commits
  • 51efcad Merge branch 'release' into release-1.6.0
  • fdbf2a4 Add missing 1.6.0 entry to GH bug template
  • df3b138 Update release notes for 1.6.0
  • 7c0fb62 Version bump to Media3 1.6.0
  • 05827ea Avoid unsupported mock operation
  • c558ae4 Fix a race condition in HttpEngineDataSource
  • 8212b96 Exclude Xiaomi and OPPO devices from detached surface mode
  • bd104b1 Consider audio output latency when source has ended
  • efb109d Update release notes for 1.6.0-rc02
  • dadd970 Version bump to Media3 1.6.0-rc02
  • Additional commits viewable in compare view

Updates androidx.media3:media3-session from 1.5.1 to 1.6.0

Release notes

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

1.6.0

This release includes the following changes since the 1.5.1 release:

  • Common Library:
    • Add AudioManagerCompat and AudioFocusRequestCompat to replace the equivalent classes in androidx.media.
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
    • Remove Format.toBundle(boolean excludeMetadata) method, use Format.toBundle() instead.
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
    • Change SimpleBasePlayer.State access from protected to public to make it easier to handle updates in other classes(#2128).
  • ExoPlayer:
    • Add MediaExtractorCompat, a new class that provides equivalent features to platform MediaExtractor.
    • Add experimental 'ExoPlayer' pre-warming support for playback usingMediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Reduce default values for bufferForPlaybackMs and bufferForPlaybackAfterRebufferMs in DefaultLoadControl to 1000 and 2000 ms respectively.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Initial audio session id is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
    • Consider language when selecting a video track. By default, select a 'main' video track that matches the language of the selected audio track, if available. Explicit video language preferences can be expressed with TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).
    • Add selectedAudioLanguage parameter to DefaultTrackSelector.selectVideoTrack() method.
    • Add retryCount parameter to MediaSourceEventListener.onLoadStarted and corresponding MediaSourceEventListener.EventDispatcher methods.
    • Fix bug where playlist items or periods in multi-period DASH streams with durations that don't match the actual content could cause frame freezes at the end of the item (#1698).
    • Move BasePreloadManager.Listener to a top-level PreloadManagerListener.
    • RenderersFactory.createSecondaryRenderer can be implemented to provide secondary renderers for pre-warming. Pre-warming enables quicker media item transitions during playback.
    • Enable sending CmcdData for manifest requests in adaptive streaming formats DASH, HLS, and SmoothStreaming (#1951).
    • Provide MediaCodecInfo of the codec that will be initialized in MediaCodecRenderer.onReadyToInitializeCodec (#1963).
    • Change AdsMediaSource to allow the AdPlaybackStates to grow by appending ad groups. Invalid modifications are detected and throw an exception.
    • Fix issue where additional decode-only frames may be displayed in quick succession when transitioning to content media after a mid-roll ad.
    • Make DefaultRenderersFactory add two MetadataRenderer instances to enable apps to receive two different schemes of metadata by default.
    • Reevaluate whether the ongoing load of a chunk should be cancelled when playback is paused (#1785).
    • Add option to ClippingMediaSource to allow clipping in unseekable media.
    • Fix bug where seeking with pre-warming could block following media item transition.
    • Fix a bug where ExoPlayer.isLoading() remains true while it has transitioned to STATE_IDLE or STATE_ENDED (#2133).
    • Add lastRebufferRealtimeMs to LoadControl.Parameter (#2113).
  • Transformer:
    • Add support for transmuxing into alternative backward compatible formats.
    • Add support for transcoding and transmuxing Dolby Vision (profile 8) format.
    • Update parameters of VideoFrameProcessor.registerInputStream and VideoFrameProcessor.Listener.onInputStreamRegistered to use Format.
    • Generate HDR static metadata when using DefaultEncoderFactory.
    • Enable support for Android platform diagnostics using MediaMetricsManager. Transformer forwards editing events and performance data to the platform, which helps to provide system performance and debugging information on the device. This data may also be collected by Google if sharing usage and diagnostics data is enabled by the user of the device. Apps can opt-out of contributing to platform diagnostics for Transformer with Transformer.Builder.setUsePlatformDiagnostics(false).
    • Split InAppMuxer into InAppMp4Muxer and InAppFragmentedMp4Muxer. You use InAppMp4Muxer to produce a non-fragmented MP4 file, while InAppFragmentedMp4Muxer is for producing a fragmented MP4 file.
    • Move Muxer interface from media3-muxer to media3-transformer.
    • Add MediaProjectionAssetLoader, which provides media from a MediaProjection for screen recording, and add support for screen recording to the Transformer demo app.
    • Add #getInputFormat() to Codec interface.
    • Shift the responsibility to release the GlObjectsProvider onto the caller in DefaultVideoFrameProcessor and DefaultVideoCompositor when possible.
  • Extractors:
    • AVI: Fix handling of files with constant bitrate compressed audio where the stream header stores the number of bytes instead of the number of chunks.
    • Fix handling of NAL units with lengths expressed in 1 or 2 bytes (rather than 4).
    • Fix ArrayIndexOutOfBoundsException in MP4 edit lists when the edit list starts at a non-sync frame with no preceding sync frame (#2062).
    • Fix issue where TS streams can get stuck on some devices (#2069).
    • FLAC: Add support for 32-bit FLAC files. Previously these would fail to play with IllegalStateException: Playback stuck buffering and not loading (#2197).
  • Audio:

... (truncated)

Changelog

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

1.6.0 (2025-03-26)

This release includes the following changes since the 1.5.1 release:

  • Common Library:
    • Add AudioManagerCompat and AudioFocusRequestCompat to replace the equivalent classes in androidx.media.
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
    • Remove Format.toBundle(boolean excludeMetadata) method, use Format.toBundle() instead.
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
    • Change SimpleBasePlayer.State access from protected to public to make it easier to handle updates in other classes (#2128).
  • ExoPlayer:
    • Add MediaExtractorCompat, a new class that provides equivalent features to platform MediaExtractor.
    • Add experimental 'ExoPlayer' pre-warming support for playback using MediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Reduce default values for bufferForPlaybackMs and bufferForPlaybackAfterRebufferMs in DefaultLoadControl to 1000 and 2000 ms respectively.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Initial audio session id is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
    • Consider language when selecting a video track. By default, select a 'main' video track that matches the language of the selected audio track, if available. Explicit video language preferences can be expressed with TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).
    • Add selectedAudioLanguage parameter to DefaultTrackSelector.selectVideoTrack() method.
    • Add retryCount parameter to MediaSourceEventListener.onLoadStarted and corresponding MediaSourceEventListener.EventDispatcher methods.
    • Fix bug where playlist items or periods in multi-period DASH streams

... (truncated)

Commits
  • 51efcad Merge branch 'release' into release-1.6.0
  • fdbf2a4 Add missing 1.6.0 entry to GH bug template
  • df3b138 Update release notes for 1.6.0
  • 7c0fb62 Version bump to Media3 1.6.0
  • 05827ea Avoid unsupported mock operation
  • c558ae4 Fix a race condition in HttpEngineDataSource
  • 8212b96 Exclude Xiaomi and OPPO devices from detached surface mode
  • bd104b1 Consider audio output latency when source has ended
  • efb109d Update release notes for 1.6.0-rc02
  • dadd970 Version bump to Media3 1.6.0-rc02
  • Additional commits viewable in compare view

Updates androidx.media3:media3-extractor from 1.5.1 to 1.6.0

Release notes

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

1.6.0

This release includes the following changes since the 1.5.1 release:

  • Common Library:
    • Add AudioManagerCompat and AudioFocusRequestCompat to replace the equivalent classes in androidx.media.
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
    • Remove Format.toBundle(boolean excludeMetadata) method, use Format.toBundle() instead.
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
    • Change SimpleBasePlayer.State access from protected to public to make it easier to handle updates in other classes(#2128).
  • ExoPlayer:
    • Add MediaExtractorCompat, a new class that provides equivalent features to platform MediaExtractor.
    • Add experimental 'ExoPlayer' pre-warming support for playback usingMediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Reduce default values for bufferForPlaybackMs and bufferForPlaybackAfterRebufferMs in DefaultLoadControl to 1000 and 2000 ms respectively.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Initial audio session id is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
    • Consider language when selecting a video track. By default, select a 'main' video track that matches the language of the selected audio track, if available. Explicit video language preferences can be expressed with TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).
    • Add selectedAudioLanguage parameter to DefaultTrackSelector.selectVideoTrack() method.
    • Add retryCount parameter to MediaSourceEventListener.onLoadStarted and corresponding MediaSourceEventListener.EventDispatcher methods.
    • Fix bug where playlist items or periods in multi-period DASH streams with durations that don't match the actual content could cause frame freezes at the end of the item (#1698).
    • Move BasePreloadManager.Listener to a top-level PreloadManagerListener.
    • RenderersFactory.createSecondaryRenderer can be implemented to provide secondary renderers for pre-warming. Pre-warming enables quicker media item transitions during playback.
    • Enable sending CmcdData for manifest requests in adaptive streaming formats DASH, HLS, and SmoothStreaming (#1951).
    • Provide MediaCodecInfo of the codec that will be initialized in MediaCodecRenderer.onReadyToInitializeCodec (#1963).
    • Change AdsMediaSource to allow the AdPlaybackStates to grow by appending ad groups. Invalid modifications are detected and throw an exception.
    • Fix issue where additional decode-only frames may be displayed in quick succession when transitioning to content media after a mid-roll ad.
    • Make DefaultRenderersFactory add two MetadataRenderer instances to enable apps to receive two different schemes of metadata by default.
    • Reevaluate whether the ongoing load of a chunk should be cancelled when playback is paused (#1785).
    • Add option to ClippingMediaSource to allow clipping in unseekable media.
    • Fix bug where seeking with pre-warming could block following media item transition.
    • Fix a bug where ExoPlayer.isLoading() remains true while it has transitioned to STATE_IDLE or STATE_ENDED (#2133).
    • Add lastRebufferRealtimeMs to LoadControl.Parameter (#2113).
  • Transformer:
    • Add support for transmuxing into alternative backward compatible formats.
    • Add support for transcoding and transmuxing Dolby Vision (profile 8) format.
    • Update parameters of VideoFrameProcessor.registerInputStream and VideoFrameProcessor.Listener.onInputStreamRegistered to use Format.
    • Generate HDR static metadata when using DefaultEncoderFactory.
    • Enable support for Android platform diagnostics using MediaMetricsManager. Transformer forwards editing events and performance data to the platform, which helps to provide system performance and debugging information on the device. This data may also be collected by Google if sharing usage and diagnostics data is enabled by the user of the device. Apps can opt-out of contributing to platform diagnostics for Transformer with Transformer.Builder.setUsePlatformDiagnostics(false).
    • Split InAppMuxer into InAppMp4Muxer and InAppFragmentedMp4Muxer. You use InAppMp4Muxer to produce a non-fragmented MP4 file, while InAppFragmentedMp4Muxer is for producing a fragmented MP4 file.
    • Move Muxer interface from media3-muxer to media3-transformer.
    • Add MediaProjectionAssetLoader, which provides media from a MediaProjection for screen recording, and add support for screen recording to the Transformer demo app.
    • Add #getInputFormat() to Codec interface.
    • Shift the responsibility to release the GlObjectsProvider onto the caller in DefaultVideoFrameProcessor and DefaultVideoCompositor when possible.
  • Extractors:
    • AVI: Fix handling of files with constant bitrate compressed audio where the stream header stores the number of bytes instead of the number of chunks.
    • Fix handling of NAL units with lengths expressed in 1 or 2 bytes (rather than 4).
    • Fix ArrayIndexOutOfBoundsException in MP4 edit lists when the edit list starts at a non-sync frame with no preceding sync frame (#2062).
    • Fix issue where TS streams can get stuck on some devices (#2069).
    • FLAC: Add support for 32-bit FLAC files. Previously these would fail to play with IllegalStateException: Playback stuck buffering and not loading (#2197).
  • Audio:

... (truncated)

Changelog

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

1.6.0 (2025-03-26)

This release includes the following changes since the 1.5.1 release:

  • Common Library:
    • Add AudioManagerCompat and AudioFocusRequestCompat to replace the equivalent classes in androidx.media.
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
    • Remove Format.toBundle(boolean excludeMetadata) method, use Format.toBundle() instead.
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
    • Change SimpleBasePlayer.State access from protected to public to make it easier to handle updates in other classes (#2128).
  • ExoPlayer:
    • Add MediaExtractorCompat, a new class that provides equivalent features to platform MediaExtractor.
    • Add experimental 'ExoPlayer' pre-warming support for playback using MediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Reduce default values for bufferForPlaybackMs and bufferForPlaybackAfterRebufferMs in DefaultLoadControl to 1000 and 2000 ms respectively.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Initial audio session id is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
    • Consider language when selecting a video track. By default, select a 'main' video track that matches the language of the selected audio track, if available. Explicit video language preferences can be expressed with TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).
    • Add selectedAudioLanguage parameter to DefaultTrackSelector.selectVideoTrack() method.
    • Add retryCount parameter to MediaSourceEventListener.onLoadStarted and corresponding MediaSourceEventListener.EventDispatcher methods.
    • Fix bug where playlist items or periods in multi-period DASH streams

... (truncated)

Commits
  • 51efcad Merge branch 'release' into release-1.6.0
  • fdbf2a4 Add missing 1.6.0 entry to GH bug template
  • df3b138 Update release notes for 1.6.0
  • 7c0fb62 Version bump to Media3 1.6.0
  • 05827ea Avoid unsupported mock operation
  • c558ae4 Fix a race condition in HttpEngineDataSource
  • 8212b96 Exclude Xiaomi and OPPO devices from detached surface mode
  • bd104b1 Consider audio output latency when source has ended
  • efb109d Update release notes for 1.6.0-rc02
  • dadd970 Version bump to Media3 1.6.0-rc02
  • Additional commits viewable in compare view

Updates androidx.media3:media3-datasource from 1.5.1 to 1.6.0

Release notes

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

1.6.0

This release includes the following changes since the 1.5.1 release:

  • Common Library:
    • Add AudioManagerCompat and AudioFocusRequestCompat to replace the equivalent classes in androidx.media.
    • Upgrade Kotlin from 1.9.20 to 2.0.20 and use Compose Compiler Gradle plugin. Upgrade KotlinX Coroutines library from 1.8.1 to 1.9.0.
    • Remove Format.toBundle(boolean excludeMetadata) method, use Format.toBundle() instead.
    • Fix bug in SimpleBasePlayer where setting a new currentMediaItemIndex in State after setPlaylist with null MediaMetadata does not reevaluate the metadata (#1940).
    • Change SimpleBasePlayer.State access from protected to public to make it easier to handle updates in other classes(#2128).
  • ExoPlayer:
    • Add MediaExtractorCompat, a new class that provides equivalent features to platform MediaExtractor.
    • Add experimental 'ExoPlayer' pre-warming support for playback usingMediaCodecVideoRenderer. You can configure DefaultRenderersFactory through experimentalSetEnableMediaCodecVideoRendererPrewarming to provide a secondary MediaCodecVideoRenderer to ExoPlayer. If enabled, ExoPlayer pre-processes the video of consecutive media items during playback to reduce media item transition latency.
    • Reduce default values for bufferForPlaybackMs and bufferForPlaybackAfterRebufferMs in DefaultLoadControl to 1000 and 2000 ms respectively.
    • Initialize DeviceInfo and device volume asynchronously (if enabled using setDeviceVolumeControlEnabled). These values aren't available instantly after ExoPlayer.Builder.build(), and Player.Listener notifies changes through onDeviceInfoChanged and onDeviceVolumeChanged.
    • Initial audio session id is no longer immediately available after creating the player. You can use AnalyticsListener.onAudioSessionIdChanged to listen to the initial update if required.
    • Consider language when selecting a video track. By default, select a 'main' video track that matches the language of the selected audio track, if available. Explicit video language preferences can be expressed with TrackSelectionParameters.Builder.setPreferredVideoLanguage(s).
    • Add selectedAudioLanguage parameter to DefaultTrackSelector.selectVideoTrack() method.
    • Add retryCount parameter to MediaSourceEventListener.onLoadStarted and corresponding MediaSourceEventListener.EventDispatcher methods.
    • Fix bug where playlist items or periods in multi-period DASH streams with durations that don't match the actual content could cause frame freezes at the end of the item (#1698).
    • Move BasePreloadManager.Listener to a top-level PreloadManagerListener.
    • RenderersFactory.createSecondaryRenderer can be implemented to provide secondary renderers for pre-warming. Pre-warming enables quicker media item transitions during playback.
    • Enable sending CmcdData for manifest requests in adaptive streaming formats DASH, HLS, and SmoothStreaming (#1951).
    • Provide MediaCodecInfo of the codec that will be initialized in MediaCodecRenderer.onReadyToInitializeCodec (#1963).
    • Change AdsMediaSource to allow the AdPlaybackStates to grow by appending ad groups. Invalid modifications are detected and throw an exception.
    • Fix issue where additional decode-only frames may be displayed in quick succession when transitioning to content media after a mid-roll ad.
    • Make DefaultRenderersFactory add two MetadataRenderer instances to enable apps to receive two different schemes of metadata by default.
    • Reevaluate whether the ongoing load of a chunk should be cancelled when playback is paused (#1785).
    • Add option to ClippingMediaSource to allow clipping in unseekable media.
    • Fix bug where seeking with pre-warming could block following media item transition.
    • Fix a bug where ExoPlayer.isLoading() remains true while it has transitioned to STATE_IDLE or STATE_ENDED (#2133).
    • Add lastRebufferRealtimeMs to LoadControl.Parameter (#2113).
  • Transformer:
    • Add support for transmuxing into alternative backward compatible formats.
    • Add support for transcoding and transmuxing Dolby Vision (profile 8) format.
    • Update parameters of VideoFrameProcessor.registerInputStream and VideoFrameProcessor.Listener.onInputStreamRegistered to use Format.
    • Generate HDR static metadata when using DefaultEncoderFactory.
    • Enable support for Android platform diagnostics using MediaMetricsManager. Transformer forwards editing events and performance data to the platform, which helps to provide system performance and debugging information on the device. This data may also be collected by Google if sharing usage and diagnostics data is enabled by the user of the device. Apps can opt-out of contributing to platform diagnostics for Transformer with Transformer.Builder.setUsePlatformDiagnostics(false).
    • Split InAppMuxer into InAppMp4Muxer and InAppFragmentedMp4Muxer. You use InAppMp4Muxer to produce a non-fragmented MP4 file, while InAppFragmentedMp4Muxer is for producing a fragmented MP4 file.
    • Move Muxer interface from media3-muxer to media3-transformer.
    • Add MediaProjectionAssetLoader, which provides media from a MediaProjection for screen recording, and add support for screen recording to the Transformer demo app.
    • Add #getInputFormat() to Codec interface.
    • Shift the responsibility to release the GlObjectsProvider onto the caller in DefaultVideoFrameProcessor and DefaultVideoCompositor when possible.
  • Extractors:
    • AVI: Fix handling of files with constant bitrate compressed audio where the stream header stores the number of bytes instead of the number of chunks.
    • Fix handling of NAL units with lengths expressed in 1 or 2 bytes (rather than 4).
    • Fix ArrayIndexOutOfBoundsException in MP4 edit lists when the edit list starts at a non-sync frame with no preceding sync frame (#2062).
    • Fix issue where TS streams can get stuck on some devices (#2069).
    • FLAC: Add support for 32-bit FLAC files. Previously these would fail to play with IllegalStateException: Playback stuck buffering and not loading (#2197).
  • Audio:

... (truncated)

Changelog

Sourced from androidx.med...

Description has been truncated

Bumps `media` from 1.5.1 to 1.6.0.

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

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

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

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

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

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

---
updated-dependencies:
- dependency-name: androidx.media3:media3-exoplayer
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-exoplayer-hls
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-session
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-extractor
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-datasource
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-datasource-okhttp
  dependency-version: 1.6.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 labels Apr 7, 2025
@siper siper merged commit bb6da6c into master Apr 8, 2025
3 checks passed
@siper siper deleted the dependabot/gradle/media-1.6.0 branch April 8, 2025 15:42
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant