Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 27, 2025

Bumps exoplayer_version from 1.5.1 to 1.8.0.
Updates androidx.media3:media3-exoplayer from 1.5.1 to 1.8.0

Release notes

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

1.8.0

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to return a larger value if no call to render is required.
    • Fix bug where internal scheduling delayed last frame when seeking to the end while paused. For now, the bug fix only takes effect if ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabled is enabled.
    • Add ExoPlayer.setScrubbingModeEnabled(boolean) method. This optimizes the player for many frequent seeks (for example, from a user dragging a scrubber bar around). The behavior of scrubbing mode can be customized with setScrubbingModeParameters(..) on ExoPlayer and ExoPlayer.Builder.
    • Allow customizing fractional seek tolerance in scrubbing mode.
    • Increase codec operating rate in scrubbing mode.
    • Fix bug where prepare errors in the content of AdsMediaSource may be never reported (#2337).
    • Fix memory leak in MergingMediaSource, for example used when sideloading subtitles (#2338).
    • Allow CmcdConfiguration.Factory to return null to disable CMCD logging for specific media items (#2386).
    • Increase default image buffer size from 128kB (copy-paste mistake from text tracks) to 26MB, which is large enough for 50MP Ultra HDR images (#2417).
    • Add PreCacheHelper that allows apps to pre-cache a single media with specified start position and duration.
    • Add support of preloading from specified position in DefaultPreloadManager.
  • Transformer:
    • Add CodecDbLite that enables chipset specific optimizations of video encoding settings.
    • Add setEnableCodecDbLite flag to the DefaultEncoderFactory to enable CodecDB Lite settings optimization. By default, this flag is set to false.
    • Filling an initial gap (added via addGap()) with silent audio now requires explicitly setting experimentalSetForceAudioTrack(true) in EditedMediaItemSequence.Builder. If the gap is in the middle of the sequence, then this flag is not required.
    • Move Muxer interface from media3-transformer to media3-muxer.
    • Make setting MediaItem.Builder().setImageDuration(long) mandatory to import a media item as an image.
    • Add Transformer.Builder().experimentalSetMp4EditListTrimEnabled(boolean) which includes an MP4 edit list when trimming to instruct players to ignore samples between the key frame before the trim start point, and the trim start point.
    • Update Composition Demo app to use Kotlin and Jetpack Compose, and add a custom VideoCompositorSettings to arrange sequences into a 2x2 or PiP layout.
  • Extractors:
    • Parse metadata from fragmented MP4 files (#2084).
    • JPEG: Support motion photos that don't have an Exif segment at the start (#2552).
    • Add support for seeking in fragmented MP4 with multiple sidx atoms. This behavior can be enabled using the FLAG_MERGE_FRAGMENTED_SIDX flag on FragmentedMp4Extractor (#9373).
    • Ignore empty seek tables in FLAC files (including those containing only placeholder seek points), and fall back to binary search seeking if the duration of the file is known (#2327).
    • Fix parsing of H.265 SEI units to fully skip unrecognized SEI types (#2456).
    • Update WavExtractor to use the header extension's SubFormat data for the audio format when parsing a WAVE_FORMAT_EXTENSIBLE type file.
    • MP4: Add support for ipcm and fpcm boxes defining raw PCM audio tracks (64-bit floating point PCM is not supported).
    • MP4: Handle the rotation part of tkhd transformation matrices that both rotate and reflect the video. This ensures that reflected videos taken by the iPhone front facing camera display the right way up, but incorrectly reflected in the y-axis (#2012).
    • MP3: Use duration and data size from unseekable Xing, VBRI and similar variable bitrate metadata when falling back to constant bitrate seeking due to FLAG_ENABLE_CONSTANT_BITRATE_SEEKING(_ALWAYS) (#2194).
  • Audio:
    • Fix bug where AnalyticsListener.onAudioPositionAdvancing is not called when the audio playback is started very close to the end of the media.
    • Add support for all linear PCM sample formats in ChannelMappingAudioProcessor and TrimmingAudioProcessor.
    • Add support for audio gaps in CompositionPlayer.
    • Remove spurious call to BaseAudioProcessor#flush() from BaseAudioProcessor#reset().

... (truncated)

Changelog

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

1.8.0 (2025-07-30)

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to return a larger value if no call to render is required.
    • Fix bug where internal scheduling delayed last frame when seeking to the end while paused. For now, the bug fix only takes effect if ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabled is enabled.
    • Add ExoPlayer.setScrubbingModeEnabled(boolean) method. This optimizes the player for many frequent seeks (for example, from a user dragging a scrubber bar around). The behavior of scrubbing mode can be customized with setScrubbingModeParameters(..) on ExoPlayer and ExoPlayer.Builder.
    • Allow customizing fractional seek tolerance in scrubbing mode.
    • Increase codec operating rate in scrubbing mode.
    • Fix bug where prepare errors in the content of AdsMediaSource may be never reported (#2337).
    • Fix memory leak in MergingMediaSource, for example used when sideloading subtitles (#2338).
    • Allow CmcdConfiguration.Factory to return null to disable CMCD logging for specific media items (#2386).

... (truncated)

Commits
  • b7bbc6e Merge branch 'release' into release-1.8.0
  • 95e9194 Version bump to media3:1.8.0
  • 27902de Update release notes for 1.8.0 stable
  • 502be51 Update release notes for 1.8.0-rc02 release
  • 2397a10 Bump version number for 1.8.0-rc02
  • c2d099b Handle non-integer Format.id when setting KEY_TRACK_ID
  • ec36547 Merge pull request #2425 from MGaetan89:fix_release_notes
  • bc37acd Fix missing onPositionAdvancing callback after AudioTrack is stopped
  • c653dce Try to officially disconnect controller in more cases
  • a44fcd0 Don't override playback exception when creating the playback state
  • Additional commits viewable in compare view

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

Release notes

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

1.8.0

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to return a larger value if no call to render is required.
    • Fix bug where internal scheduling delayed last frame when seeking to the end while paused. For now, the bug fix only takes effect if ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabled is enabled.
    • Add ExoPlayer.setScrubbingModeEnabled(boolean) method. This optimizes the player for many frequent seeks (for example, from a user dragging a scrubber bar around). The behavior of scrubbing mode can be customized with setScrubbingModeParameters(..) on ExoPlayer and ExoPlayer.Builder.
    • Allow customizing fractional seek tolerance in scrubbing mode.
    • Increase codec operating rate in scrubbing mode.
    • Fix bug where prepare errors in the content of AdsMediaSource may be never reported (#2337).
    • Fix memory leak in MergingMediaSource, for example used when sideloading subtitles (#2338).
    • Allow CmcdConfiguration.Factory to return null to disable CMCD logging for specific media items (#2386).
    • Increase default image buffer size from 128kB (copy-paste mistake from text tracks) to 26MB, which is large enough for 50MP Ultra HDR images (#2417).
    • Add PreCacheHelper that allows apps to pre-cache a single media with specified start position and duration.
    • Add support of preloading from specified position in DefaultPreloadManager.
  • Transformer:
    • Add CodecDbLite that enables chipset specific optimizations of video encoding settings.
    • Add setEnableCodecDbLite flag to the DefaultEncoderFactory to enable CodecDB Lite settings optimization. By default, this flag is set to false.
    • Filling an initial gap (added via addGap()) with silent audio now requires explicitly setting experimentalSetForceAudioTrack(true) in EditedMediaItemSequence.Builder. If the gap is in the middle of the sequence, then this flag is not required.
    • Move Muxer interface from media3-transformer to media3-muxer.
    • Make setting MediaItem.Builder().setImageDuration(long) mandatory to import a media item as an image.
    • Add Transformer.Builder().experimentalSetMp4EditListTrimEnabled(boolean) which includes an MP4 edit list when trimming to instruct players to ignore samples between the key frame before the trim start point, and the trim start point.
    • Update Composition Demo app to use Kotlin and Jetpack Compose, and add a custom VideoCompositorSettings to arrange sequences into a 2x2 or PiP layout.
  • Extractors:
    • Parse metadata from fragmented MP4 files (#2084).
    • JPEG: Support motion photos that don't have an Exif segment at the start (#2552).
    • Add support for seeking in fragmented MP4 with multiple sidx atoms. This behavior can be enabled using the FLAG_MERGE_FRAGMENTED_SIDX flag on FragmentedMp4Extractor (#9373).
    • Ignore empty seek tables in FLAC files (including those containing only placeholder seek points), and fall back to binary search seeking if the duration of the file is known (#2327).
    • Fix parsing of H.265 SEI units to fully skip unrecognized SEI types (#2456).
    • Update WavExtractor to use the header extension's SubFormat data for the audio format when parsing a WAVE_FORMAT_EXTENSIBLE type file.
    • MP4: Add support for ipcm and fpcm boxes defining raw PCM audio tracks (64-bit floating point PCM is not supported).
    • MP4: Handle the rotation part of tkhd transformation matrices that both rotate and reflect the video. This ensures that reflected videos taken by the iPhone front facing camera display the right way up, but incorrectly reflected in the y-axis (#2012).
    • MP3: Use duration and data size from unseekable Xing, VBRI and similar variable bitrate metadata when falling back to constant bitrate seeking due to FLAG_ENABLE_CONSTANT_BITRATE_SEEKING(_ALWAYS) (#2194).
  • Audio:
    • Fix bug where AnalyticsListener.onAudioPositionAdvancing is not called when the audio playback is started very close to the end of the media.
    • Add support for all linear PCM sample formats in ChannelMappingAudioProcessor and TrimmingAudioProcessor.
    • Add support for audio gaps in CompositionPlayer.
    • Remove spurious call to BaseAudioProcessor#flush() from BaseAudioProcessor#reset().

... (truncated)

Changelog

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

1.8.0 (2025-07-30)

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to return a larger value if no call to render is required.
    • Fix bug where internal scheduling delayed last frame when seeking to the end while paused. For now, the bug fix only takes effect if ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabled is enabled.
    • Add ExoPlayer.setScrubbingModeEnabled(boolean) method. This optimizes the player for many frequent seeks (for example, from a user dragging a scrubber bar around). The behavior of scrubbing mode can be customized with setScrubbingModeParameters(..) on ExoPlayer and ExoPlayer.Builder.
    • Allow customizing fractional seek tolerance in scrubbing mode.
    • Increase codec operating rate in scrubbing mode.
    • Fix bug where prepare errors in the content of AdsMediaSource may be never reported (#2337).
    • Fix memory leak in MergingMediaSource, for example used when sideloading subtitles (#2338).
    • Allow CmcdConfiguration.Factory to return null to disable CMCD logging for specific media items (#2386).

... (truncated)

Commits
  • b7bbc6e Merge branch 'release' into release-1.8.0
  • 95e9194 Version bump to media3:1.8.0
  • 27902de Update release notes for 1.8.0 stable
  • 502be51 Update release notes for 1.8.0-rc02 release
  • 2397a10 Bump version number for 1.8.0-rc02
  • c2d099b Handle non-integer Format.id when setting KEY_TRACK_ID
  • ec36547 Merge pull request #2425 from MGaetan89:fix_release_notes
  • bc37acd Fix missing onPositionAdvancing callback after AudioTrack is stopped
  • c653dce Try to officially disconnect controller in more cases
  • a44fcd0 Don't override playback exception when creating the playback state
  • Additional commits viewable in compare view

Updates androidx.media3:media3-exoplayer-dash from 1.5.1 to 1.8.0

Release notes

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

1.8.0

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to return a larger value if no call to render is required.
    • Fix bug where internal scheduling delayed last frame when seeking to the end while paused. For now, the bug fix only takes effect if ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabled is enabled.
    • Add ExoPlayer.setScrubbingModeEnabled(boolean) method. This optimizes the player for many frequent seeks (for example, from a user dragging a scrubber bar around). The behavior of scrubbing mode can be customized with setScrubbingModeParameters(..) on ExoPlayer and ExoPlayer.Builder.
    • Allow customizing fractional seek tolerance in scrubbing mode.
    • Increase codec operating rate in scrubbing mode.
    • Fix bug where prepare errors in the content of AdsMediaSource may be never reported (#2337).
    • Fix memory leak in MergingMediaSource, for example used when sideloading subtitles (#2338).
    • Allow CmcdConfiguration.Factory to return null to disable CMCD logging for specific media items (#2386).
    • Increase default image buffer size from 128kB (copy-paste mistake from text tracks) to 26MB, which is large enough for 50MP Ultra HDR images (#2417).
    • Add PreCacheHelper that allows apps to pre-cache a single media with specified start position and duration.
    • Add support of preloading from specified position in DefaultPreloadManager.
  • Transformer:
    • Add CodecDbLite that enables chipset specific optimizations of video encoding settings.
    • Add setEnableCodecDbLite flag to the DefaultEncoderFactory to enable CodecDB Lite settings optimization. By default, this flag is set to false.
    • Filling an initial gap (added via addGap()) with silent audio now requires explicitly setting experimentalSetForceAudioTrack(true) in EditedMediaItemSequence.Builder. If the gap is in the middle of the sequence, then this flag is not required.
    • Move Muxer interface from media3-transformer to media3-muxer.
    • Make setting MediaItem.Builder().setImageDuration(long) mandatory to import a media item as an image.
    • Add Transformer.Builder().experimentalSetMp4EditListTrimEnabled(boolean) which includes an MP4 edit list when trimming to instruct players to ignore samples between the key frame before the trim start point, and the trim start point.
    • Update Composition Demo app to use Kotlin and Jetpack Compose, and add a custom VideoCompositorSettings to arrange sequences into a 2x2 or PiP layout.
  • Extractors:
    • Parse metadata from fragmented MP4 files (#2084).
    • JPEG: Support motion photos that don't have an Exif segment at the start (#2552).
    • Add support for seeking in fragmented MP4 with multiple sidx atoms. This behavior can be enabled using the FLAG_MERGE_FRAGMENTED_SIDX flag on FragmentedMp4Extractor (#9373).
    • Ignore empty seek tables in FLAC files (including those containing only placeholder seek points), and fall back to binary search seeking if the duration of the file is known (#2327).
    • Fix parsing of H.265 SEI units to fully skip unrecognized SEI types (#2456).
    • Update WavExtractor to use the header extension's SubFormat data for the audio format when parsing a WAVE_FORMAT_EXTENSIBLE type file.
    • MP4: Add support for ipcm and fpcm boxes defining raw PCM audio tracks (64-bit floating point PCM is not supported).
    • MP4: Handle the rotation part of tkhd transformation matrices that both rotate and reflect the video. This ensures that reflected videos taken by the iPhone front facing camera display the right way up, but incorrectly reflected in the y-axis (#2012).
    • MP3: Use duration and data size from unseekable Xing, VBRI and similar variable bitrate metadata when falling back to constant bitrate seeking due to FLAG_ENABLE_CONSTANT_BITRATE_SEEKING(_ALWAYS) (#2194).
  • Audio:
    • Fix bug where AnalyticsListener.onAudioPositionAdvancing is not called when the audio playback is started very close to the end of the media.
    • Add support for all linear PCM sample formats in ChannelMappingAudioProcessor and TrimmingAudioProcessor.
    • Add support for audio gaps in CompositionPlayer.
    • Remove spurious call to BaseAudioProcessor#flush() from BaseAudioProcessor#reset().

... (truncated)

Changelog

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

1.8.0 (2025-07-30)

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to return a larger value if no call to render is required.
    • Fix bug where internal scheduling delayed last frame when seeking to the end while paused. For now, the bug fix only takes effect if ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabled is enabled.
    • Add ExoPlayer.setScrubbingModeEnabled(boolean) method. This optimizes the player for many frequent seeks (for example, from a user dragging a scrubber bar around). The behavior of scrubbing mode can be customized with setScrubbingModeParameters(..) on ExoPlayer and ExoPlayer.Builder.
    • Allow customizing fractional seek tolerance in scrubbing mode.
    • Increase codec operating rate in scrubbing mode.
    • Fix bug where prepare errors in the content of AdsMediaSource may be never reported (#2337).
    • Fix memory leak in MergingMediaSource, for example used when sideloading subtitles (#2338).
    • Allow CmcdConfiguration.Factory to return null to disable CMCD logging for specific media items (#2386).

... (truncated)

Commits
  • b7bbc6e Merge branch 'release' into release-1.8.0
  • 95e9194 Version bump to media3:1.8.0
  • 27902de Update release notes for 1.8.0 stable
  • 502be51 Update release notes for 1.8.0-rc02 release
  • 2397a10 Bump version number for 1.8.0-rc02
  • c2d099b Handle non-integer Format.id when setting KEY_TRACK_ID
  • ec36547 Merge pull request #2425 from MGaetan89:fix_release_notes
  • bc37acd Fix missing onPositionAdvancing callback after AudioTrack is stopped
  • c653dce Try to officially disconnect controller in more cases
  • a44fcd0 Don't override playback exception when creating the playback state
  • Additional commits viewable in compare view

Updates androidx.media3:media3-exoplayer-rtsp from 1.5.1 to 1.8.0

Release notes

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

1.8.0

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to return a larger value if no call to render is required.
    • Fix bug where internal scheduling delayed last frame when seeking to the end while paused. For now, the bug fix only takes effect if ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabled is enabled.
    • Add ExoPlayer.setScrubbingModeEnabled(boolean) method. This optimizes the player for many frequent seeks (for example, from a user dragging a scrubber bar around). The behavior of scrubbing mode can be customized with setScrubbingModeParameters(..) on ExoPlayer and ExoPlayer.Builder.
    • Allow customizing fractional seek tolerance in scrubbing mode.
    • Increase codec operating rate in scrubbing mode.
    • Fix bug where prepare errors in the content of AdsMediaSource may be never reported (#2337).
    • Fix memory leak in MergingMediaSource, for example used when sideloading subtitles (#2338).
    • Allow CmcdConfiguration.Factory to return null to disable CMCD logging for specific media items (#2386).
    • Increase default image buffer size from 128kB (copy-paste mistake from text tracks) to 26MB, which is large enough for 50MP Ultra HDR images (#2417).
    • Add PreCacheHelper that allows apps to pre-cache a single media with specified start position and duration.
    • Add support of preloading from specified position in DefaultPreloadManager.
  • Transformer:
    • Add CodecDbLite that enables chipset specific optimizations of video encoding settings.
    • Add setEnableCodecDbLite flag to the DefaultEncoderFactory to enable CodecDB Lite settings optimization. By default, this flag is set to false.
    • Filling an initial gap (added via addGap()) with silent audio now requires explicitly setting experimentalSetForceAudioTrack(true) in EditedMediaItemSequence.Builder. If the gap is in the middle of the sequence, then this flag is not required.
    • Move Muxer interface from media3-transformer to media3-muxer.
    • Make setting MediaItem.Builder().setImageDuration(long) mandatory to import a media item as an image.
    • Add Transformer.Builder().experimentalSetMp4EditListTrimEnabled(boolean) which includes an MP4 edit list when trimming to instruct players to ignore samples between the key frame before the trim start point, and the trim start point.
    • Update Composition Demo app to use Kotlin and Jetpack Compose, and add a custom VideoCompositorSettings to arrange sequences into a 2x2 or PiP layout.
  • Extractors:
    • Parse metadata from fragmented MP4 files (#2084).
    • JPEG: Support motion photos that don't have an Exif segment at the start (#2552).
    • Add support for seeking in fragmented MP4 with multiple sidx atoms. This behavior can be enabled using the FLAG_MERGE_FRAGMENTED_SIDX flag on FragmentedMp4Extractor (#9373).
    • Ignore empty seek tables in FLAC files (including those containing only placeholder seek points), and fall back to binary search seeking if the duration of the file is known (#2327).
    • Fix parsing of H.265 SEI units to fully skip unrecognized SEI types (#2456).
    • Update WavExtractor to use the header extension's SubFormat data for the audio format when parsing a WAVE_FORMAT_EXTENSIBLE type file.
    • MP4: Add support for ipcm and fpcm boxes defining raw PCM audio tracks (64-bit floating point PCM is not supported).
    • MP4: Handle the rotation part of tkhd transformation matrices that both rotate and reflect the video. This ensures that reflected videos taken by the iPhone front facing camera display the right way up, but incorrectly reflected in the y-axis (#2012).
    • MP3: Use duration and data size from unseekable Xing, VBRI and similar variable bitrate metadata when falling back to constant bitrate seeking due to FLAG_ENABLE_CONSTANT_BITRATE_SEEKING(_ALWAYS) (#2194).
  • Audio:
    • Fix bug where AnalyticsListener.onAudioPositionAdvancing is not called when the audio playback is started very close to the end of the media.
    • Add support for all linear PCM sample formats in ChannelMappingAudioProcessor and TrimmingAudioProcessor.
    • Add support for audio gaps in CompositionPlayer.
    • Remove spurious call to BaseAudioProcessor#flush() from BaseAudioProcessor#reset().

... (truncated)

Changelog

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

1.8.0 (2025-07-30)

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to return a larger value if no call to render is required.
    • Fix bug where internal scheduling delayed last frame when seeking to the end while paused. For now, the bug fix only takes effect if ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabled is enabled.
    • Add ExoPlayer.setScrubbingModeEnabled(boolean) method. This optimizes the player for many frequent seeks (for example, from a user dragging a scrubber bar around). The behavior of scrubbing mode can be customized with setScrubbingModeParameters(..) on ExoPlayer and ExoPlayer.Builder.
    • Allow customizing fractional seek tolerance in scrubbing mode.
    • Increase codec operating rate in scrubbing mode.
    • Fix bug where prepare errors in the content of AdsMediaSource may be never reported (#2337).
    • Fix memory leak in MergingMediaSource, for example used when sideloading subtitles (#2338).
    • Allow CmcdConfiguration.Factory to return null to disable CMCD logging for specific media items (#2386).

... (truncated)

Commits
  • b7bbc6e Merge branch 'release' into release-1.8.0
  • 95e9194 Version bump to media3:1.8.0
  • 27902de Update release notes for 1.8.0 stable
  • 502be51 Update release notes for 1.8.0-rc02 release
  • 2397a10 Bump version number for 1.8.0-rc02
  • c2d099b Handle non-integer Format.id when setting KEY_TRACK_ID
  • ec36547 Merge pull request #2425 from MGaetan89:fix_release_notes
  • bc37acd Fix missing onPositionAdvancing callback after AudioTrack is stopped
  • c653dce Try to officially disconnect controller in more cases
  • a44fcd0 Don't override playback exception when creating the playback state
  • Additional commits viewable in compare view

Updates androidx.media3:media3-exoplayer-smoothstreaming from 1.5.1 to 1.8.0

Release notes

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

1.8.0

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to return a larger value if no call to render is required.
    • Fix bug where internal scheduling delayed last frame when seeking to the end while paused. For now, the bug fix only takes effect if ExoPlayer.Builder.experimentalSetDynamicSchedulingEnabled is enabled.
    • Add ExoPlayer.setScrubbingModeEnabled(boolean) method. This optimizes the player for many frequent seeks (for example, from a user dragging a scrubber bar around). The behavior of scrubbing mode can be customized with setScrubbingModeParameters(..) on ExoPlayer and ExoPlayer.Builder.
    • Allow customizing fractional seek tolerance in scrubbing mode.
    • Increase codec operating rate in scrubbing mode.
    • Fix bug where prepare errors in the content of AdsMediaSource may be never reported (#2337).
    • Fix memory leak in MergingMediaSource, for example used when sideloading subtitles (#2338).
    • Allow CmcdConfiguration.Factory to return null to disable CMCD logging for specific media items (#2386).
    • Increase default image buffer size from 128kB (copy-paste mistake from text tracks) to 26MB, which is large enough for 50MP Ultra HDR images (#2417).
    • Add PreCacheHelper that allows apps to pre-cache a single media with specified start position and duration.
    • Add support of preloading from specified position in DefaultPreloadManager.
  • Transformer:
    • Add CodecDbLite that enables chipset specific optimizations of video encoding settings.
    • Add setEnableCodecDbLite flag to the DefaultEncoderFactory to enable CodecDB Lite settings optimization. By default, this flag is set to false.
    • Filling an initial gap (added via addGap()) with silent audio now requires explicitly setting experimentalSetForceAudioTrack(true) in EditedMediaItemSequence.Builder. If the gap is in the middle of the sequence, then this flag is not required.
    • Move Muxer interface from media3-transformer to media3-muxer.
    • Make setting MediaItem.Builder().setImageDuration(long) mandatory to import a media item as an image.
    • Add Transformer.Builder().experimentalSetMp4EditListTrimEnabled(boolean) which includes an MP4 edit list when trimming to instruct players to ignore samples between the key frame before the trim start point, and the trim start point.
    • Update Composition Demo app to use Kotlin and Jetpack Compose, and add a custom VideoCompositorSettings to arrange sequences into a 2x2 or PiP layout.
  • Extractors:
    • Parse metadata from fragmented MP4 files (#2084).
    • JPEG: Support motion photos that don't have an Exif segment at the start (#2552).
    • Add support for seeking in fragmented MP4 with multiple sidx atoms. This behavior can be enabled using the FLAG_MERGE_FRAGMENTED_SIDX flag on FragmentedMp4Extractor (#9373).
    • Ignore empty seek tables in FLAC files (including those containing only placeholder seek points), and fall back to binary search seeking if the duration of the file is known (#2327).
    • Fix parsing of H.265 SEI units to fully skip unrecognized SEI types (#2456).
    • Update WavExtractor to use the header extension's SubFormat data for the audio format when parsing a WAVE_FORMAT_EXTENSIBLE type file.
    • MP4: Add support for ipcm and fpcm boxes defining raw PCM audio tracks (64-bit floating point PCM is not supported).
    • MP4: Handle the rotation part of tkhd transformation matrices that both rotate and reflect the video. This ensures that reflected videos taken by the iPhone front facing camera display the right way up, but incorrectly reflected in the y-axis (#2012).
    • MP3: Use duration and data size from unseekable Xing, VBRI and similar variable bitrate metadata when falling back to constant bitrate seeking due to FLAG_ENABLE_CONSTANT_BITRATE_SEEKING(_ALWAYS) (#2194).
  • Audio:
    • Fix bug where AnalyticsListener.onAudioPositionAdvancing is not called when the audio playback is started very close to the end of the media.
    • Add support for all linear PCM sample formats in ChannelMappingAudioProcessor and TrimmingAudioProcessor.
    • Add support for audio gaps in CompositionPlayer.
    • Remove spurious call to BaseAudioProcessor#flush() from BaseAudioProcessor#reset().

... (truncated)

Changelog

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

1.8.0 (2025-07-30)

This release includes the following changes since the 1.7.1 release:

  • Common Library:
    • Add support for replacing the player in ForwardingSimpleBasePlayer.
  • ExoPlayer:
    • Add getter for shuffle mode to the ExoPlayer interface (#2522).
    • More clearly throw an exception if DefaultAudioSink is accessed from multiple threads. If this happens due to a call to RendererCapabilities.getFormatSupport outside of the player, make sure to call this method on the same thread as ExoPlayer's playback thread or use a different instance than the one used for playback (#1191).
    • Fix bug where non-stereo audio formats on TVs may be marked as unsupported by DefaultTrackSelector.
    • Ensure the last frame is correctly rendered when using MediaCodec's DECODE_ONLY flag (which is enabled by default in scrubbing mode).
    • Add support for using the virtual device ID from the Context passed to ExoPlayer.Builder.
    • Enable dynamic scheduling by default in scrubbing mode.
    • Avoid unnecessary reload of a source when seeking to the end of an item.
    • Use MediaCodec.BUFFER_FLAG_DECODE_ONLY by default in scrubbing mode.
    • Throw IllegalStateException when PreloadMediaSource is played by an ExoPlayer with a playback thread that is different than the preload thread (#2495).
    • Add cloneAndMove to ShuffleMode with a default implementation (#2226).
    • Change default behavior of Renderer.getMinDurationToProgressUs to ret...

      Description has been truncated

Bumps `exoplayer_version` from 1.5.1 to 1.8.0.

Updates `androidx.media3:media3-exoplayer` from 1.5.1 to 1.8.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.8.0)

Updates `androidx.media3:media3-exoplayer-hls` from 1.5.1 to 1.8.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.8.0)

Updates `androidx.media3:media3-exoplayer-dash` from 1.5.1 to 1.8.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.8.0)

Updates `androidx.media3:media3-exoplayer-rtsp` from 1.5.1 to 1.8.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.8.0)

Updates `androidx.media3:media3-exoplayer-smoothstreaming` from 1.5.1 to 1.8.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.8.0)

Updates `androidx.media3:media3-test-utils` from 1.5.1 to 1.8.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.8.0)

---
updated-dependencies:
- dependency-name: androidx.media3:media3-exoplayer
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-exoplayer-hls
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-exoplayer-dash
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-exoplayer-rtsp
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-exoplayer-smoothstreaming
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: androidx.media3:media3-test-utils
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 27, 2025
@dependabot dependabot bot requested a review from ash2moon as a code owner October 27, 2025 08:39
@dependabot dependabot bot added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 27, 2025
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Oct 27, 2025
@auto-submit
Copy link
Contributor

auto-submit bot commented Oct 27, 2025

autosubmit label was removed for flutter/packages/10309, because - The status or check suite Linux repo_checks has failed. Please fix the issues identified (or deflake) before re-applying this label.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants