- Common Library:
- Add
PlaybackParameters.withPitch(float)method for easily copying aPlaybackParameterswith a newpitchvalue (#2257).
- Add
- ExoPlayer:
- Fix issue where media item transition fails due to recoverable renderer error during initialization of the next media item (#2229).
- Fix issue where
ProgressiveMediaPeriodthrows anIllegalStateExceptionasPreloadMediaSourceattempts to call itsgetBufferedDurationUs()before it is prepared (#2315). - Fix sending
CmcdDatain manifest requests for DASH, HLS, and SmoothStreaming (#2253). - Ensure
AdPlaybackState.withAdDurationsUs(long[][])can be used after ad groups have been removed. The user still needs to pass in an array of durations for removed ad groups which can be empty or null (#2267).
- Extractors:
- MP4: Parse
alternate_groupfrom thetkhdbox and expose it as anMp4AlternateGroupDataentry in each track'sFormat.metadata(#2242).
- MP4: Parse
- Audio:
- Fix offload issue where the position might get stuck when playing a playlist of short content (#1920).
- Session:
- Lower aggregation timeout for platform
MediaSessioncallbacks from 500 to 100 milliseconds and add an experimental setter to allow apps to configure this value. - Fix issue where notifications reappear after they have been dismissed by the user (#2302).
- Fix a bug where the session returned a single-item timeline when the wrapped player is actually empty. This happened when the wrapped player doesn't have
COMMAND_GET_TIMELINEavailable whileCOMMAND_GET_CURRENT_MEDIA_ITEMis available and the wrapped player is empty (#2320). - Fix a bug where calling
MediaSessionService.setMediaNotificationProvideris silently ignored after other interactions with the service likesetForegroundServiceTimeoutMs(#2305).
- Lower aggregation timeout for platform
- UI:
- Enable
PlayerSurfaceto work withExoPlayer.setVideoEffectsandCompositionPlayer. - Fix bug where
PlayerSurfacecan't be recomposed with a newPlayer.
- Enable
- HLS extension:
- Fix issue where chunk duration wasn't set in
CmcdDatafor HLS media, causing an assertion failure when processing encrypted media segments (#2312).
- Fix issue where chunk duration wasn't set in
- RTSP extension:
- Add support for URI with RTSPT scheme as a way to configure the RTSP session to use TCP (#1484).
- Cast extension:
- Add support for playlist metadata (#2235).