Explicitly mark several methods on SimpleExoPlayer as @Deprecated. These methods are all overrides and are already deprecated on Player and the respective ExoPlayer component classes (since 2.14.0).
Video:
Fix IncorrectContextUseViolation strict mode warning on Android 11 (#8246).
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 the track_ID is set incorrectly (#4083). Such content is malformed and should be re-encoded.
Improve support for truncated Ogg streams (#7608).
Fix issue around TS synchronization when reading a file's duration (#9100).
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).
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-alive DefaultDrmSession references, resulting in DefaultDrmSession.release() throwing an IllegalStateException (#9193).
Metadata:
Fix handling of emsg messages with an unset duration (#9123).
UI:
Add PendingIntent.FLAG_IMMUTABLE flag when creating a broadcast intent in PlayerNotificationManager. This is required to avoid an error on Android 12.
Fix focusability of StyledPlayerView and StyledPlayerControlView popup menus on API levels prior to 26 (#9061).
Fix progress bar flickering immediately after the user seeks (#9049).
Fix StyledPlayerView and StyledPlayerControlView popup menu items not expanding to occupy the full width of the popup (#9086).
Don't propagate AttributeSet from SubtitleView constructor into CanvasSubtitleOutput. Just passing the Context is enough, and ensures programmatic changes to the SubtitleView will propagate down.
RTSP:
Fix session description (SDP) parsing to use a HashMap-like behaviour for duplicated attributes (#9014).
Allow using absolute URI in the control attribute in a media description (#9183).
Allow the timeout to be customised via RtspMediaSource.Factory.setTimeoutMs.
Update MediaItem.Builder javadoc to discourage calling setters that will be (currently) ignored if another setter is not also called.
Extractors:
Add support for MPEG-H 3D Audio in MP4 extractors (#8860).
Video:
Fix bug that could cause CodecException: Error 0xffffffff to be thrown from MediaCodec.native_setSurface in use cases that involve both swapping the output Surface and a mixture of secure and non-secure content being played (#8776).
HLS:
Use the PRECISE attribute in EXT-X-START to select the default start position.
Fix a bug where skipping into spliced-in chunks triggered an assertion error (#8937).
DRM:
Keep secure MediaCodec instances initialized when disabling (but not resetting) MediaCodecRenderer. This helps re-use secure decoders in more contexts, which avoids the 'black flash' caused by detaching a Surface from a secure decoder on some devices (#8842). It will also result in DRM license refresh network requests while the player is stopped if Player#setForegroundMode is true.
Explicitly mark several methods on SimpleExoPlayer as @Deprecated.
These methods are all overrides and are already deprecated on Player
and the respective ExoPlayer component classes (since 2.14.0).
Video:
Fix IncorrectContextUseViolation strict mode warning on Android 11
(#8246).
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 the track_ID
is set incorrectly
(#4083). Such content
is malformed and should be re-encoded.
Improve support for truncated Ogg streams
(#7608).
Fix issue around TS synchronization when reading a file's duration
(#9100).
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).
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-alive DefaultDrmSession references, resulting
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps exoplayer from r1.5.7 to 2.14.2.
Release notes
Sourced from exoplayer's releases.
... (truncated)
Changelog
Sourced from exoplayer's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)