Closed
Description
Issue description
When an ad in a preroll or midroll playlist returns a VAST error response, the player does not resume content correctly after playing the other retrieved video ads.
Reproduction steps
Since we can’t provide an environment to reproduce the issue, I will describe the scenario as detailed as possible:
- We start a stream and receive a preroll playlist with two ads.
- The first ad is an inline creative.
- The second ad is a wrapper ad that points to an ad tag uri of a different ad provider. From there we receive another wrapper that delegates even further. In total the ad retrieval is delegated via three different providers.
- Finally the ad tag uri of the third provider returns a VAST error response.
- In our app the first ad plays correctly and also the UI is updated as expected (countdown for one ad is displayed, instead of “ad 1 of 2”).
- After the ad is finished, the player is stuck in displaying the ad and doesn’t resume the content as expected.
- When debugging the ExoPlayer code, it at first seemed more like an IMA issue, since onAdEvent() kept being called with AD_PROGRESS even after the ad finished. However, we are not seeing this issue on other platforms that run the same campaigns and also use IMA.
Link to test content
Unfortunately we can’t provide that setup for a demo case, it is happening in our production environment only and due to the complexity it’s hard to simulate. Therefore I tried to describe the case as detailed as possible. If you have further questions or ideas how we can assist, please let me know.
A full bug report captured from the device
Provided via email
Version of ExoPlayer being used
2.10.6, 2.11.3
Device(s) and version(s) of Android being used
OnePlus 5t (Android 9)
Galaxy S6 & S7 (Android 7)
Galaxy A6 (Android 9)
Galaxy Tab A (Android 6)