Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Every first ad in AdGroup is getting timeout #8492

Closed
ppodgorski opened this issue Jan 22, 2021 · 3 comments
Closed

Every first ad in AdGroup is getting timeout #8492

ppodgorski opened this issue Jan 22, 2021 · 3 comments
Assignees
Labels

Comments

@ppodgorski
Copy link

Issue description

With our adTagUrl (VMAP) every first ad in AdGroup is getting timeout. When I revert this commit: fe754f3 everything is working fine. I've emailed our adTagUrl to dev.exoplayer@gmail.com.

Reproduction steps

Just switch "ad_tag_uri" in media.exolist.json to our custom adTagUrl and play.

Link to test content

Our custom adTagUrl has been sent to dev.exoplayer@gmail.com.

A full bug report captured from the device

I/ImaAdsLoader: AdEvent: {errorMessage=VAST media file loading reached a timeout of 8 seconds., errorCode=402, type=adPlayError}

Version of ExoPlayer being used

2.12.3

Device(s) and version(s) of Android being used

Huawei P30 Pro, Android 10.0

@andrewlewis
Copy link
Collaborator

The first ad in the ad group is 2 seconds long (it looks like an intro logo) and the player is stuck buffering presumably because the next media period can now be created (after fe754f3) but we don't get a URL to actually prepare it, and load control is not allowing playback to start with only two seconds of media buffered.

@andrewlewis
Copy link
Collaborator

Fix in review and this bug will be updated when it's on the development branch. Thanks for reporting the issue!

@ppodgorski
Copy link
Author

@andrewlewis Thanks a lot for the quick action!

icbaker pushed a commit that referenced this issue Jan 25, 2021
`ImaAdsLoader` only loads ad media URLs once playback of the preceding ad (if
any) has started, and this behavior is likely to be similar for other ad loader
implementations due to limits on how long before an ad plays it is meant to be
loaded. This is problematic for very short ads followed by an ad because the ad
will load to the end but load control may not allow playback to start due to
the total buffered duration being low.

Fix this by allowing playback to start regardless of load control if we are
waiting for an ad media period to prepare.

An alternative fix would be to fake the ad progress in the `ImaAdsLoader` to
trigger loading the next ad, but this would only allow one ad to load ahead (so
the problem would remain for two short ads in a row followed by another ad).

Issue: #8492
PiperOrigin-RevId: 353600088
@google google locked and limited conversation to collaborators Apr 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants