google / google/ExoPlayer

Player got stuck in case ad is not loaded by IMA (stuckElapsedRealtimeMs not working)

Open
#9,560 2 comments 0 reactions 1 assignee Claimed by @claincly View on GitHub
bug needs triage
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.