Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

actions.js 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // @flow
  2. import type { Dispatch } from 'redux';
  3. import { SET_MAX_RECEIVER_VIDEO_QUALITY, SET_PREFERRED_VIDEO_QUALITY } from './actionTypes';
  4. import { VIDEO_QUALITY_LEVELS } from './constants';
  5. import logger from './logger';
  6. /**
  7. * Sets the max frame height the user prefers to send and receive from the
  8. * remote participants.
  9. *
  10. * @param {number} preferredVideoQuality - The max video resolution to send and
  11. * receive.
  12. * @returns {{
  13. * type: SET_PREFERRED_VIDEO_QUALITY,
  14. * preferredVideoQuality: number
  15. * }}
  16. */
  17. export function setPreferredVideoQuality(preferredVideoQuality: number) {
  18. return {
  19. type: SET_PREFERRED_VIDEO_QUALITY,
  20. preferredVideoQuality
  21. };
  22. }
  23. /**
  24. * Sets the max frame height that should be received from remote videos.
  25. *
  26. * @param {number} maxReceiverVideoQuality - The max video frame height to
  27. * receive.
  28. * @returns {{
  29. * type: SET_MAX_RECEIVER_VIDEO_QUALITY,
  30. * maxReceiverVideoQuality: number
  31. * }}
  32. */
  33. export function setMaxReceiverVideoQuality(maxReceiverVideoQuality: number) {
  34. return {
  35. type: SET_MAX_RECEIVER_VIDEO_QUALITY,
  36. maxReceiverVideoQuality
  37. };
  38. }
  39. /**
  40. * Sets the maximum video size the local participant should send and receive from
  41. * remote participants.
  42. *
  43. * @param {number} frameHeight - The user preferred max frame height for send and
  44. * receive video.
  45. * @returns {void}
  46. */
  47. export function setVideoQuality(frameHeight: number) {
  48. return (dispatch: Dispatch<any>) => {
  49. if (frameHeight < VIDEO_QUALITY_LEVELS.LOW) {
  50. logger.error(`Invalid frame height for video quality - ${frameHeight}`);
  51. return;
  52. }
  53. dispatch(setPreferredVideoQuality(Math.min(frameHeight, VIDEO_QUALITY_LEVELS.HIGH)));
  54. };
  55. }