com.brightcove.ssai.live

## Class LiveVideoOrchestrator

- java.lang.Object
- - com.brightcove.player.event.AbstractComponent
  - - com.brightcove.ssai.live.LiveVideoOrchestrator

- All Implemented Interfaces:
    Component

      @Emits(events={})
       @ListensFor(events={"videoDurationChanged","stop"})
      public class LiveVideoOrchestrator
      extends AbstractComponent

  The Live video orchestrator class is responsible to setup the components and listeners needed for Live SSAI and update the Dynamic Timeline appropriately.

- - ### Field Summary

    - ### Fields inherited from class com.brightcove.player.event.AbstractComponent

      `eventEmitter, listenerTokens`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LiveVideoOrchestrator(BaseVideoView baseVideoView, Video video, SSAICallback<android.util.Pair<SSAIWrapper,Timeline>> callback)` Instantiates a new Live video orchestrator.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `addAdOverlayConfigListener(AdOverlayConfigListener adOverlayConfigListener)` Adds an `AdOverlayConfigListener`.
    `boolean` | `addTrackingConfigListener(TrackingConfigListener trackingConfigListener)` Adds a `TrackingConfigListener`.
    `boolean` | `removeAdOverlayConfigListener(AdOverlayConfigListener adOverlayConfigListener)` Removes an `AdOverlayConfigListener`.
    `void` | `removeAllAdOverlayConfigListeners()` Removes all `AdOverlayConfigListener`s.
    `void` | `removeAllTrackingConfigListeners()` Removes all `TrackingConfigListener`s.
    `boolean` | `removeTrackingConfigListener(TrackingConfigListener trackingConfigListener)` Removes a `TrackingConfigListener`.

    - ### Methods inherited from class com.brightcove.player.event.AbstractComponent

      `addListener, addOnceListener, getEventEmitter, removeListener, removeListeners`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### LiveVideoOrchestrator

          public LiveVideoOrchestrator(@NonNull
                                       BaseVideoView baseVideoView,
                                       @NonNull
                                       Video video,
                                       @NonNull
                                       SSAICallback<android.util.Pair<SSAIWrapper,Timeline>> callback)
                                throws java.lang.Exception

      Instantiates a new Live video orchestrator.
      Parameters:
        `baseVideoView` - the base video view
        `video` - the video
        `callback` - the SSAI callback
      Throws:
        `java.lang.Exception` - the exception thrown if there is a problem creating the Timeline

  - ### Method Detail

    - #### addAdOverlayConfigListener

          public boolean addAdOverlayConfigListener(@NonNull
                                                    AdOverlayConfigListener adOverlayConfigListener)

      Adds an `AdOverlayConfigListener`.
      Parameters:
        `adOverlayConfigListener` - the ad overlay config listener
      Returns:
        true if the listener was added

    - #### removeAdOverlayConfigListener

          public boolean removeAdOverlayConfigListener(@NonNull
                                                       AdOverlayConfigListener adOverlayConfigListener)

      Removes an `AdOverlayConfigListener`.
      Parameters:
        `adOverlayConfigListener` - the ad overlay config listener
      Returns:
        true if the listener was removed

    - #### removeAllAdOverlayConfigListeners

          public void removeAllAdOverlayConfigListeners()

      Removes all `AdOverlayConfigListener`s.

    - #### addTrackingConfigListener

          public boolean addTrackingConfigListener(@NonNull
                                                   TrackingConfigListener trackingConfigListener)

      Adds a `TrackingConfigListener`.
      Parameters:
        `trackingConfigListener` - the tracking config listener
      Returns:
        true if the listener was added

    - #### removeTrackingConfigListener

          public boolean removeTrackingConfigListener(@NonNull
                                                      TrackingConfigListener trackingConfigListener)

      Removes a `TrackingConfigListener`.
      Parameters:
        `trackingConfigListener` - the tracking config listener
      Returns:
        true if the listener was removed

    - #### removeAllTrackingConfigListeners

          public void removeAllTrackingConfigListeners()

      Removes all `TrackingConfigListener`s.