Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

loadEffects.web.ts 1.3KB

12345678910111213141516171819202122232425262728293031323334
  1. import { IStore } from '../../app/types';
  2. import { NoiseSuppressionEffect } from '../../stream-effects/noise-suppression/NoiseSuppressionEffect';
  3. import { createVirtualBackgroundEffect } from '../../stream-effects/virtual-background';
  4. import logger from './logger';
  5. /**
  6. * Loads the enabled stream effects.
  7. *
  8. * @param {Object} store - The Redux store.
  9. * @returns {Promise} - A Promise which resolves when all effects are created.
  10. */
  11. export default function loadEffects(store: IStore): Promise<any> {
  12. const state = store.getState();
  13. const virtualBackground = state['features/virtual-background'];
  14. const noiseSuppression = state['features/noise-suppression'];
  15. const { noiseSuppression: nsOptions } = state['features/base/config'];
  16. const backgroundPromise = virtualBackground.backgroundEffectEnabled
  17. ? createVirtualBackgroundEffect(virtualBackground)
  18. .catch((error: Error) => {
  19. logger.error('Failed to obtain the background effect instance with error: ', error);
  20. return Promise.resolve();
  21. })
  22. : Promise.resolve();
  23. const noiseSuppressionPromise = noiseSuppression?.enabled
  24. ? Promise.resolve(new NoiseSuppressionEffect(nsOptions))
  25. : Promise.resolve();
  26. return Promise.all([ backgroundPromise, noiseSuppressionPromise ]);
  27. }