Closed skidder closed 1 month ago
Thanks for reporting! Reporting multiple non-internal discontinuities is not expected to happen within the same iteration generally, but the logic added in https://github.com/androidx/media/commit/79b688ef30d4a3306d4d321ddf4464b428074ea2 is special in that it can run after nearly every other piece of code in this class and needs to handle the potential for other pending events.
Version
Media3 1.1.1 / ExoPlayer 2.19.1
More version details
No response
Devices that reproduce the issue
Observed on Android OS 11-14, could include more.
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Not tested
Reproduction steps
It's also manually reproducible in unit tests by instantiating
PlaybackInfoUpdate
and invokingsetPositionDiscontinuity
multiple times with non-internal events, i.e.Here's a draft PR showing the issue https://github.com/google/ExoPlayer/pull/11392
Expected result
No assert or unit test failures.
Actual result
In production we've seen app crashes with the following stack-trace:
We began seeing this exception after upgrading from Exoplayer 2.13.3 to 2.19.1. This stack-trace follows a path introduced in commit 79b688ef30d4a3306d4d321ddf4464b428074ea2. It occurs across a broad range of Android OS (mostly 11-14) and Android device class.
Media
Not applicable
Bug Report
adb bugreport
to android-media-github@google.com after filing this issue.