HLS : interstitials for VOD are fetched right after playback

I tried using HLS interstitials for VOD. I tried both examples shown here https://developer.apple.com/streaming/GettingStartedWithHLSInterstitials.pdf and built player using AVFoundation APIs.

There are 2 ways to do it

  1. use DATERANGE tag on server side, in this case AVPlayerInterstitialEvent will be created by Player automatically, whenever it encounters DATERANGE tag having interstitials.
  2. write code on player side and create AVPlayerInterstitialEvent object to schedule interstitials.

I tried both approaches and observed that in case of VOD

  1. interstitials are scheduled and played correctly as per defined schedule.
  2. but interstitials are fetched right after playback. i.e manifest on load event

example : let's say interstitial is scheduled after 20 minutes but player will fetch adURL right after playback starts.

is this bug ? how can we delay fetch of adURL/interstitials

Replies

Interstitials should be fetched after the primary content has been buffered to the interstitial point. If you're not seeing that, please file a bug with a sample app + content.