com.brightcove.player.controller

## Class ExoPlayerSourceSelectionController

- java.lang.Object
- - com.brightcove.player.event.AbstractComponent
  - - com.brightcove.player.controller.DefaultSourceSelectionController
    - - com.brightcove.player.controller.ExoPlayerSourceSelectionController

- All Implemented Interfaces:
    SourceSelector, Component

  Deprecated.
  Instead of subclassing `DefaultSourceSelectionController`, please create your customized `SourceSelector` and use it to construct the `DefaultSourceSelectionController` with `DefaultSourceSelectionController.createWithSourceSelector(EventEmitter, SourceSelector)`

      @Deprecated
      public class ExoPlayerSourceSelectionController
      extends DefaultSourceSelectionController

- - ### Field Summary

    - ### Fields inherited from class com.brightcove.player.controller.DefaultSourceSelectionController

      `TAG`

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

      `eventEmitter, listenerTokens`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExoPlayerSourceSelectionController(EventEmitter eventEmitter)` Deprecated. Initializes this controller with the given EventEmitter.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `Source` | `selectSource(Video video)` Deprecated. Determines best appropriate Source within given Video object based on logic implemented.

    - ### Methods inherited from class com.brightcove.player.controller.DefaultSourceSelectionController

      `create, createWithSourceSelector, findBestSourceByBitRate, getSourceSelector, initializeListeners, selectSource, setSourceSelector`

    - ### 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

    - #### ExoPlayerSourceSelectionController

          public ExoPlayerSourceSelectionController(EventEmitter eventEmitter)

      Deprecated.
      Initializes this controller with the given EventEmitter.
      Parameters:
        `eventEmitter` - the EventEmitter through which this controller will interact

  - ### Method Detail

    - #### selectSource

          @NonNull
          public Source selectSource(@NonNull
                                              Video video)
                                       throws NoSourceFoundException

      Deprecated.
      Description copied from interface: `SourceSelector`
      Determines best appropriate Source within given Video object based on logic implemented.
      Specified by:
        `selectSource` in interface `SourceSelector`
      Overrides:
        `selectSource` in class `DefaultSourceSelectionController`
      Parameters:
        `video` - Video in which to find the most appropriate Source
      Returns:
        the best matched Source based on the currently implemented selection logic
      Throws:
        `NoSourceFoundException` - when no valid `Source` is found
      See Also:
        `SourceSelector.selectSource(com.brightcove.player.model.Video)`