- 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