35 lines
909 B
JavaScript
35 lines
909 B
JavaScript
/* global APP */
|
|
|
|
import UIEvents from '../../../../service/UI/UIEvents';
|
|
|
|
import { MiddlewareRegistry } from '../redux';
|
|
|
|
import {
|
|
SET_AUDIO_INPUT_DEVICE,
|
|
SET_AUDIO_OUTPUT_DEVICE,
|
|
SET_VIDEO_INPUT_DEVICE
|
|
} from './actionTypes';
|
|
|
|
/**
|
|
* Implements the middleware of the feature base/devices.
|
|
*
|
|
* @param {Store} store - Redux store.
|
|
* @returns {Function}
|
|
*/
|
|
// eslint-disable-next-line no-unused-vars
|
|
MiddlewareRegistry.register(store => next => action => {
|
|
switch (action.type) {
|
|
case SET_AUDIO_INPUT_DEVICE:
|
|
APP.UI.emitEvent(UIEvents.AUDIO_DEVICE_CHANGED, action.deviceId);
|
|
break;
|
|
case SET_AUDIO_OUTPUT_DEVICE:
|
|
APP.UI.emitEvent(UIEvents.AUDIO_OUTPUT_DEVICE_CHANGED, action.deviceId);
|
|
break;
|
|
case SET_VIDEO_INPUT_DEVICE:
|
|
APP.UI.emitEvent(UIEvents.VIDEO_DEVICE_CHANGED, action.deviceId);
|
|
break;
|
|
}
|
|
|
|
return next(action);
|
|
});
|