Package com.brightcove.player.controller
Class DefaultSourceSelectionController
java.lang.Object
com.brightcove.player.event.AbstractComponent
com.brightcove.player.controller.DefaultSourceSelectionController
- All Implemented Interfaces:
SourceSelector,Component
- Direct Known Subclasses:
ExoPlayerSourceSelectionController
@ListensFor(events="selectSource")
@Emits(events="sourceNotFound")
public class DefaultSourceSelectionController
extends AbstractComponent
implements Component, SourceSelector
Default
SourceSelector controller responsible to react to the
EventType.SELECT_SOURCE event and call SourceSelector.selectSource(Video) of the
SourceSelector set. By default, BrightcoveSourceSelector is used.
The selected Source will be added to the EventType.SELECT_SOURCE event properties
with the AbstractEvent.SOURCE key.
-
Field Summary
FieldsFields inherited from class com.brightcove.player.event.AbstractComponent
eventEmitter, listenerTokens -
Constructor Summary
ConstructorsConstructorDescriptionDefaultSourceSelectionController(EventEmitter eventEmitter) Initializes this controller with the given EventEmitter using the defaultBrightcoveSourceSelector. -
Method Summary
Modifier and TypeMethodDescriptioncreate(EventEmitter eventEmitter) Creates the Default Source Selection Controller using the defaultBrightcoveSourceSelector.createWithSourceSelector(EventEmitter eventEmitter, SourceSelector sourceSelector) Creates the Default Source Selection Controller with a customSourceSelector.findBestSourceByBitRate(SourceCollection sourceCollection, Integer bitRate) Given a SourceCollection, finds the Source with the closest bit rate to the given value.protected voidselectSource(Video video) Determines best appropriate Source within given Video object based on logic implemented.protected SourceselectSource(Set<Source> sources) Attempts to select the HTTPS source included in the source Set, if available.voidsetSourceSelector(SourceSelector sourceSelector) Methods inherited from class com.brightcove.player.event.AbstractComponent
addListener, addOnceListener, getEventEmitter, removeListener, removeListeners
-
Field Details
-
TAG
-
-
Constructor Details
-
DefaultSourceSelectionController
Initializes this controller with the given EventEmitter using the defaultBrightcoveSourceSelector.- Parameters:
eventEmitter- the EventEmitter through which this controller will interact
-
-
Method Details
-
create
Creates the Default Source Selection Controller using the defaultBrightcoveSourceSelector.- Parameters:
eventEmitter- the event emitter- Returns:
- the default source selection controller
-
createWithSourceSelector
public static DefaultSourceSelectionController createWithSourceSelector(@NonNull EventEmitter eventEmitter, @NonNull SourceSelector sourceSelector) Creates the Default Source Selection Controller with a customSourceSelector.- Parameters:
eventEmitter- the event emittersourceSelector- the source selector- Returns:
- the default source selection controller
-
setSourceSelector
-
getSourceSelector
-
selectSource
Description copied from interface:SourceSelectorDetermines best appropriate Source within given Video object based on logic implemented.- Specified by:
selectSourcein interfaceSourceSelector- 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 validSourceis found- See Also:
-
selectSource
Attempts to select the HTTPS source included in the source Set, if available. Otherwise, it will select the first source given by the Set Iterator.It will return null if the sources Set is null or empty.
- Parameters:
sources- the source Set.- Returns:
- the selected source
-
findBestSourceByBitRate
Given a SourceCollection, finds the Source with the closest bit rate to the given value.- Parameters:
sourceCollection- the collection of Sources in which the match should be foundbitRate- the target bit rate desired for the chosen Source- Returns:
- the Source that most closely matches the given bit rate, or any Source, if no match can be found
-
initializeListeners
protected void initializeListeners()
-