Player got stuck in case ad is not loaded by IMA (stuckElapsedRealtimeMs not working)
- Dominant language
- Java
- Stars
- 21.9k
- Forks
- 6k
- PR merge metrics
- No merged PRs in 30d
Description
Frequency -: 100% Reproducable
Steps to reproduce:- 1. Start Exo Player with vmap setup having adbreaks e.g pre-roll, mid-roll 1, 2, 3
2. When content playback reaches close to mid-roll and VAST request made by IMA don't have any valid ads(Vast Sample attached ). AdEvent: {errorMessage=Linear assets were found in the VAST ad response, but none of them matched the video player's capabilities., errorCode=403, type=adPlayError}
3. In above case ad is not loaded by ima and the player keeps waiting for the ad to load at the mid-roll cue point.
4. waitingForPreloadElapsedRealtimeMs fallback is not working and player stuck
Exo Player is getting stuck because the stuckElapsedRealtimeMs workaround is not working in exo versions 2.13.3 and above.
In these Exo versions, onPlaybackStateChanged is not getting called and this flag **waitingForPreloadElapsedRealtimeMs** remains unset
We are able to reproduce on 2.13.3 and 2.15.0
- ExoPlayer version number: 2.15.0, 2.13.3
- Android version 11
- Android device Pixel 4a
Vast [ima-invalid-vast.xml.zip](https://github.com/google/ExoPlayer/files/7362750/ima-invalid-vast.xml.zip)
Logs: [player-stuck-logs.txt.zip](https://github.com/google/ExoPlayer/files/7362806/player-stuck-logs.txt.zip)
Contributor guide
Assessment
This issue has not been assessed yet.