25 lines
723 B
JavaScript
25 lines
723 B
JavaScript
|
// @flow
|
||
|
|
||
|
import {
|
||
|
VIDEO_QUALITY_LEVELS,
|
||
|
setMaxReceiverVideoQuality
|
||
|
} from '../base/conference';
|
||
|
import { StateListenerRegistry } from '../base/redux';
|
||
|
import { selectParticipant } from '../large-video';
|
||
|
import { shouldDisplayTileView } from './functions';
|
||
|
|
||
|
/**
|
||
|
* StateListenerRegistry provides a reliable way of detecting changes to
|
||
|
* preferred layout state and dispatching additional actions.
|
||
|
*/
|
||
|
StateListenerRegistry.register(
|
||
|
/* selector */ state => shouldDisplayTileView(state),
|
||
|
/* listener */ (displayTileView, { dispatch }) => {
|
||
|
dispatch(selectParticipant());
|
||
|
|
||
|
if (!displayTileView) {
|
||
|
dispatch(setMaxReceiverVideoQuality(VIDEO_QUALITY_LEVELS.HIGH));
|
||
|
}
|
||
|
}
|
||
|
);
|