This release fixes issues for SREs watching stability and regressions.
Published 22d
Media Servers
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
android
exoplayer
java
media3
media3-exoplayer
media3-transformer
+1 more
mediaplayer
Summary
AI summaryFixes race conditions, crashes, and edge‑case bugs across ExoPlayer, Extractors (MP3/Mp4), Audio, Video, Image, Session, HLS, and DASH components.
Full changelog
- Common library:
- Fix handling of
onAudioSessionIdChangedinSimpleBasePlayerandForwardingSimpleBasePlayer.
- Fix handling of
- ExoPlayer:
- Fix race condition related to audio session id generation that could lead to an
IllegalStateExceptionwith tunneling mode (#3099). - Fix possible app crashes when recovering from decoder errors with renderer prewarming.
- Fix issue where video artifacts were caused by supplying initialization data when using an AV1-based Dolby Vision codec (#3153).
- Fix race condition related to audio session id generation that could lead to an
- Track selection:
- Adjust track selection logic in
VideoTrackInfoto resolve fallback MIME types and move HDR and codec score preferences to quality preferences (#3135).
- Adjust track selection logic in
- Extractors:
- MP3: Ignore Xing data length if it is longer than the known stream length (#3117).
- Fix
ArrayIndexOutOfBoundsExceptioninMp4ExtractorwhenFLAG_OMIT_TRACK_SAMPLE_TABLEis set and the track lacks a sync sample (stss) box.
- Audio:
- Fix bug where audio events may be misrouted if multiple audio renderers are added to the player.
- Video:
- Adjust logic for codec reuse at frame rate changes on API below 30 to avoid codec resets where they are not beneficial (#3120).
- Disable forced synchronization workaround in
queueSecureInputBufferfor API 31+. The workaround was an artificial bottleneck that forced decryption to run serially which prevented garbled video due to a framework issue existing prior to API 31.
- Image:
- Fix issue in scrubbing mode where image updates would only take effect when the user "stops scrubbing" (#2815).
- Session:
- Fix bug where
ForegroundServiceStartNotAllowedExceptionwasn't propagated across thread boundaries in case the application thread is not the main thread (#2499). - Fix bug where
COMMAND_SEEK_TO_MEDIA_ITEMis not available in aMediaControllerwhen connecting to a platform-only session that supports seeking to other items but no playlist modifications. - Fix issue where
MediaControllercan't set media items on platform media sessions that don't allowPREPARE_FROMactions. - Fix bug where own process wasn't marked with
Controller.isTrusted()on API 27 or before when connecting via platform controllers.
- Fix bug where
- HLS extension:
- Fix a bug where an
ArrayIndexOutOfBoundsExceptionis thrown during stream fallback if the track selection is a subset of the available tracks (#3161). - Fix an issue where the initialization segment was not carried over across media playlist updates if the
#EXT-X-MAPtag was not repeated in subsequent updates (#3105).
- Fix a bug where an
- DASH extension:
- Fix crash in
SampleQueuewhen seeking into a chunk that is currently being canceled.
- Fix crash in
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About androidx/media
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]