THEOliveControllerWeb constructor

THEOliveControllerWeb(
  1. THEOplayerTheoLiveApi _theoLiveApi
)

Implementation

THEOliveControllerWeb(this._theoLiveApi) {
  endpointLoadedEventListener = (EndpointLoadedEventJS event) {
    _eventManager.dispatchEvent(EndpointLoadedEvent(
        endpoint: Endpoint(
      hespSrc: event.endpoint.hespSrc,
      hlsSrc: event.endpoint.hlsSrc,
      adSrc: event.endpoint.adSrc,
      cdn: event.endpoint.adSrc,
      weight: event.endpoint.weight.toDouble(),
      priority: event.endpoint.priority,
    )));
  }.toJS;

  distributionLoadStartEventListener = (DistributionLoadStartEventJS event) {
    _eventManager.dispatchEvent(DistributionLoadStartEvent(distributionId: event.distributionId));
  }.toJS;

  distributionOfflineEventListener = (DistributionOfflineEventJS event) {
    _eventManager.dispatchEvent(DistributionOfflineEvent(distributionId: event.distributionId));
  }.toJS;

  intentToFallbackEventListener = (IntentToFallbackEventJS event) {
    final jsReason = event.reason;
    final reason = jsReason != null ? PlayerError(errorCode: jsReason.code ?? '', errorMessage: jsReason.message ?? '') : null;
    _eventManager.dispatchEvent(IntentToFallbackEvent(reason: reason));
  }.toJS;

  enterBadNetworkModeEventListener = (EnterBadNetworkModeEventJS event) {
    _eventManager.dispatchEvent(EnterBadNetworkModeEvent());
  }.toJS;

  exitBadNetworkModeEventListener = (ExitBadNetworkModeEventJS event) {
    _eventManager.dispatchEvent(ExitBadNetworkModeEvent());
  }.toJS;

  _theoLiveApi.addEventListener(THEOliveApiEventTypes.ENDPOINTLOADED.toLowerCase(), endpointLoadedEventListener);
  _theoLiveApi.addEventListener(THEOliveApiEventTypes.DISTRIBUTIONLOADSTART.toLowerCase(), distributionLoadStartEventListener);
  _theoLiveApi.addEventListener(THEOliveApiEventTypes.DISTRIBUTIONOFFLINE.toLowerCase(), distributionOfflineEventListener);
  _theoLiveApi.addEventListener(THEOliveApiEventTypes.INTENTTOFALLBACK.toLowerCase(), intentToFallbackEventListener);
  _theoLiveApi.addEventListener(THEOliveApiEventTypes.ENTERBADNETWORKMODE.toLowerCase(), enterBadNetworkModeEventListener);
  _theoLiveApi.addEventListener(THEOliveApiEventTypes.EXITBADNETWORKMODE.toLowerCase(), exitBadNetworkModeEventListener);
}