123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- /* @flow */
-
- import type { Dispatch } from 'redux';
-
- import {
- SET_AUDIO_MUTED,
- SET_CAMERA_FACING_MODE,
- SET_VIDEO_AVAILABLE,
- SET_VIDEO_MUTED,
- TOGGLE_CAMERA_FACING_MODE
- } from './actionTypes';
- import { CAMERA_FACING_MODE } from './constants';
-
- /**
- * Action to set the muted state of the local audio.
- *
- * @param {boolean} muted - True if the local audio is to be muted or false if
- * the local audio is to be unmuted.
- * @returns {{
- * type: SET_AUDIO_MUTED,
- * muted: boolean
- * }}
- */
- export function setAudioMuted(muted: boolean) {
- return {
- type: SET_AUDIO_MUTED,
- muted
- };
- }
-
- /**
- * Action to set the facing mode of the local camera.
- *
- * @param {CAMERA_FACING_MODE} cameraFacingMode - The camera facing mode to set.
- * @returns {{
- * type: SET_CAMERA_FACING_MODE,
- * cameraFacingMode: CAMERA_FACING_MODE
- * }}
- */
- export function setCameraFacingMode(cameraFacingMode: CAMERA_FACING_MODE) {
- return {
- type: SET_CAMERA_FACING_MODE,
- cameraFacingMode
- };
- }
-
- /**
- * Action to adjust the availability of the local video.
- *
- * @param {boolean} available - True if the local video is to be marked as
- * available or false if the local video is not available.
- * @returns {{
- * type: SET_VIDEO_AVAILABLE,
- * available: boolean
- * }}
- */
- export function setVideoAvailable(available: boolean) {
- return {
- type: SET_VIDEO_AVAILABLE,
- available
- };
- }
-
- /**
- * Action to set the muted state of the local video.
- *
- * @param {boolean} muted - True if the local video is to be muted or false if
- * the local video is to be unmuted.
- * @returns {{
- * type: SET_VIDEO_MUTED,
- * muted: boolean
- * }}
- */
- export function setVideoMuted(muted: boolean) {
- return {
- type: SET_VIDEO_MUTED,
- muted
- };
- }
-
- /**
- * Toggles the mute state of the local audio track(s).
- *
- * @returns {Function}
- */
- export function toggleAudioMuted() {
- return (dispatch: Dispatch<*>, getState: Function) => {
- const muted = getState()['features/base/media'].audio.muted;
-
- return dispatch(setAudioMuted(!muted));
- };
- }
-
- /**
- * Toggles the camera facing mode. Most commonly, for example, mobile devices
- * such as phones have a front/user-facing and a back/environment-facing
- * cameras. In contrast to setCameraFacingMode, allows the toggling to be
- * optimally and/or natively implemented without the overhead of separate reads
- * and writes of the current/effective camera facing mode.
- *
- * @returns {{
- * type: TOGGLE_CAMERA_FACING_MODE
- * }}
- */
- export function toggleCameraFacingMode() {
- return {
- type: TOGGLE_CAMERA_FACING_MODE
- };
- }
-
- /**
- * Toggles the mute state of the local video track(s).
- *
- * @returns {Function}
- */
- export function toggleVideoMuted() {
- return (dispatch: Dispatch<*>, getState: Function) => {
- const muted = getState()['features/base/media'].video.muted;
-
- return dispatch(setVideoMuted(!muted));
- };
- }
|