google / google/ExoPlayer

Avoid short buffering at skipped midrolls

Open
#8,810 9 comments 0 reactions 1 assignee Claimed by @tonihei View on GitHub
enhancement
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

We modified _ImaAdsLoader_ to support feature we called _Smart seek_. It means, ads will not start when another ad was played within defined amount of time. In other words, timeline has 5 ad breaks, when you seek between first and second one, IMA will start playing first ad break. Immediately after the end of the ad you seek between second and third one, but at this time, ad will start because media playback does not exceed time threshold to play next ads.

I sent you source code of modified _ImaAdsLoader_ on email. All my modifications are marked with _MARK TOM_. Please set _adWatchThreshold_ to 25 seconds (25000) and use [this VMAP](https://devs.origin.cdn.cra.cz/ima/primavmapwatch.xml) that has ad breaks every 20 seconds. Player plays the preroll, skips first midroll and plays second midroll. We need to update _AdPlaybackState_ before the first midroll and that cause 1 second buffering that is unacceptable for our client.

Could you please help us? Is there any solution how to prevent from buffering when update _AdPlaybackState_? Can we implement this feature by another way?

Thanks!

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.