Skip to content

Why Exoplayer downloads content manifest before pre-roll manifest? #1358

Closed
@mayurk2

Description

@mayurk2

We are using Exoplayer 2.16.1 in our application. We are seeing video startup time is high with pre-roll ads and we are checking different options to reduce it.
Our application is using custom ads loader but the implementation sequence is similar to IMA Ads loader.

We are doing the CustomAdsLoader.requestAds() before the player.prepare() as recommended in different Exoplayer threads. So we have the ads URL while making the player.prepare() call.

We noticed that once the player.prepare() call is made,

  1. Exoplayer first makes call to content's master manifest.
  2. Later it makes call to AdsLoader.start(AdsMediaSource adsMediaSource, DataSpec adTagDataSpec, Object adsId, AdViewProvider adViewProvider, EventListener eventListener)

The CustomAdsLoader can provide the ad URLs to Exoplayer using the eventListener.onAdPlaybackState(adPlaybackState) only after the AdsLoader.start() call from Exoplayer.
We think this is causing some playback delay.

So my questions are,

  1. Why content manifest call is made before AdsLoader.start() when AdsMediaSource is used?
  2. Is there anyway we can force pre-roll manifest and segment download calls before content manifest call?

I checked these questions, did not get answer to my questions:

  1. Is there any way to do the preloading of the preroll ad in the Media3? #1040
  2. Is it possible to pre load preroll ads using ImaAdsLoader in a video list? google/ExoPlayer#3636

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions