Class AdCuePointComponent

java.lang.Object
com.brightcove.player.event.AbstractComponent
com.brightcove.freewheel.cuepoint.AdCuePointComponent
All Implemented Interfaces:
Component

@Emits(events={"play","setCuePoints","willInterruptContent","willResumeContent","freewheelLock","freewheelUnlock","showSeekControls","hideSeekControls"}) @ListensFor(events={"completed","cuePoint","didInterruptContent","didResumeContent","play","seekTo","activityStarted","fragmentStarted","activityRestarted","activityResumed","fragmentResumed","activityPaused","fragmentPaused","activityStopped","fragmentStopped"}) public class AdCuePointComponent extends AbstractComponent

Before Video playback, converts Slots in an IAdContext into relevant CuePoints, then during playback is responsible for handling FreeWheel ad Cuepoints emitted by the VideoController. Before Video playback (most likely during SET_SOURCE), the AdCueComponent creates a series of CuePoints based on the current populated AdContext.

It will create one CuePoint for all pre-roll ads (with CuePoint.Type of BEFORE), one CuePoint for all post-roll ads, and one for each mid-roll (POINT_IN_TIME) and overlay ad.

Due to the nature of the hooks in to the EventEmitter that the AdCuePointComponent creates, it should be instantiated as soon as possible after the FreeWheelController

See Also:
  • Field Details

  • Constructor Details

    • AdCuePointComponent

      public AdCuePointComponent(EventEmitter emitter)
  • Method Details

    • setLiveVideoChecker

      public void setLiveVideoChecker(@Nullable LiveVideoChecker liveVideoChecker)
    • enable

      public void enable()
    • disable

      public void disable()
      Removes the listeners from the Component. Should be called before a new AdCuePointComponent is created
    • getPreRollSlots

      public List<tv.freewheel.ad.interfaces.ISlot> getPreRollSlots()
      Returns:
      the pre-roll Ad Slots list.
    • getPostRollSlots

      public List<tv.freewheel.ad.interfaces.ISlot> getPostRollSlots()
      Returns:
      the post-roll Ad Slots list.
    • getCurrentVideoAdSlots

      public List<tv.freewheel.ad.interfaces.ISlot> getCurrentVideoAdSlots()
      Returns:
      the list of Ad Slots that are about to be played in the Ad break. As soon as the ad starts playing, it's removed from the list. Returns empty if there is only one slot.
    • getPlayedSlots

      public List<tv.freewheel.ad.interfaces.ISlot> getPlayedSlots()
      Returns:
      the list of played Ad slots. As soon as the next Ad slot starts playing, it's added to the list.
    • skipCurrentAd

      public void skipCurrentAd()

      Skips the currently playing advertisement within the active Ad break (a.k.a ISlot) and plays the next advertisement in the break. If there are no pending advertisements with in current Ad break, then the normal playback will be resume automatically.

      This method must be called while an Ad break is progress. Calling the method at other times will have no effect.

      See Also:
    • skipCurrentAdBreak

      public void skipCurrentAdBreak()

      Skips the current advertisement break (a.k.a ISlot). Subsequent advertisement breaks will play at scheduled cue points and can be skipped again by calling the skipCurrentAdBreak method again.

      This method must be called while an Ad break is progress. Calling the method at other times will have no effect.

      Please note that an break may contain more than one advertisement. Calling this method at any point during the break will cause all advertisements in the current break to be skipped.

      See Also:
    • skipCurrentAds

      public void skipCurrentAds()
      Deprecated.
      This method will be removed in a future release. Please update your code at the earliest to use skipCurrentAdBreak() method instead.
      Functions the same as skipCurrentAdBreak()
    • unlock

      public void unlock()
      Tell the control to 'unlock' the normal Video playback control flow by re-emitting the Intercepted Event
    • lock

      public void lock()
      'Locks' the FreeWheelController; afterwards, certain events will be stopped and prevented from bubbling
    • isLocked

      public boolean isLocked()
      Determine if the controller is currently in 'isLocked' state. If in isLocked state, certain events will be blocked from travelling down the event chain if seen by the controller.
      Returns:
      TRUE iff the controller is currently in a locked state.
    • addCuePoints

      public void addCuePoints(tv.freewheel.ad.interfaces.IAdContext context)
      Given an instance of IAdContext, parses the Ad slots contained in the context and generates CuePoints. It will generate one Cuepoint for PreRoll Ads, one for PostRoll, and individual cue points for the midroll and overlay.
      Parameters:
      context - A populated IAdContext (i.e. it contains ad information) from which to create CuePoints
      See Also: