- Core Library:
- Explicitly mark several methods on
SimpleExoPlayer
as@Deprecated
. These methods are all overrides and are already deprecated onPlayer
and the respectiveExoPlayer
component classes (since 2.14.0).
- Explicitly mark several methods on
- Video:
- Fix
IncorrectContextUseViolation
strict mode warning on Android 11 (#8246).
- Fix
- Audio:
- Fix track selection for E-AC-3 streams.
- Use
AudioTrack.isDirectPlaybackSupported
to check for encoded audio passthrough capability from API 29 onwards, instead of using the HDMI audio plug intent (#6500).
- Extractors:
- Fix issue where a
trun
atom could be associated with the wrong track in an FMP4 stream (#9056). The fix removes a previous workaround to handle content in which thetrack_ID
is set incorrectly (#4083). Such content is malformed and should be re-encoded. - Improve support for truncated Ogg streams (#7608).
- Add support for MP4 H263 atom type (#9158).
- Fix issue around TS synchronization when reading a file's duration (#9100).
- Fix issue where a
- HLS:
- Fix issue where playback of a live event could become stuck rather than transitioning to
STATE_ENDED
when the event ends (#9067). - Fix issue where a new initialization segment, as specified by an
EXT-X-MAP
tag in a media playlist, would not be loaded when encountered during playback (#9004). - Forward the FRAME-RATE value from the master playlist to renditions (#8960).
- Fix issue where HLS events would start at positions greater than specified by an
EXT-X-START
tag when placed in a playlist (#9037).
- Fix issue where playback of a live event could become stuck rather than transitioning to
- Ad playback:
- Use the content URI when auto-generating an ad ID (in addition to the media ID and ad tag URI) (#9106.
- DRM:
- Allow repeated provisioning in
DefaultDrmSession(Manager)
. - Fix a crash due to
DefaultDrmSessionManager.release()
incorrectly releasing too many keep-aliveDefaultDrmSession
references, resulting inDefaultDrmSession.release()
throwing anIllegalStateException
(#9193).
- Allow repeated provisioning in
- Metadata:
- Fix handling of emsg messages with an unset duration (#9123).
- UI:
- Add
PendingIntent.FLAG_IMMUTABLE
flag when creating a broadcast intent inPlayerNotificationManager
. This is required to avoid an error on Android 12. - Fix focusability of
StyledPlayerView
andStyledPlayerControlView
popup menus on API levels prior to 26 (#9061). - Fix progress bar flickering immediately after the user seeks (#9049).
- Fix
StyledPlayerView
andStyledPlayerControlView
popup menu items not expanding to occupy the full width of the popup (#9086). - Don't propagate
AttributeSet
fromSubtitleView
constructor intoCanvasSubtitleOutput
. Just passing theContext
is enough, and ensures programmatic changes to theSubtitleView
will propagate down.
- Add
- RTSP: