12345678910111213141516171819202122232425262728293031323334353637 |
- /* globals APP */
-
- import { openDialog } from '../base/dialog';
- import JitsiMeetJS from '../base/lib-jitsi-meet';
-
- import { DeviceSelectionDialog } from './components';
-
- /**
- * Open DeviceSelectionDialog with a configuration based on the environment's
- * supported abilities.
- *
- * @returns {Function}
- */
- export function openDeviceSelectionDialog() {
- return dispatch => {
- JitsiMeetJS.mediaDevices.isDeviceListAvailable()
- .then(isDeviceListAvailable => {
- dispatch(openDialog(DeviceSelectionDialog, {
- currentAudioInputId: APP.settings.getMicDeviceId(),
- currentAudioOutputId: APP.settings.getAudioOutputDeviceId(),
- currentVideoInputId: APP.settings.getCameraDeviceId(),
- disableAudioInputChange:
- !JitsiMeetJS.isMultipleAudioInputSupported(),
- disableDeviceChange: !isDeviceListAvailable
- || !JitsiMeetJS.mediaDevices.isDeviceChangeAvailable(),
- hasAudioPermission: JitsiMeetJS.mediaDevices
- .isDevicePermissionGranted('audio'),
- hasVideoPermission: JitsiMeetJS.mediaDevices
- .isDevicePermissionGranted('video'),
- hideAudioInputPreview:
- !JitsiMeetJS.isCollectingLocalStats(),
- hideAudioOutputSelect: !JitsiMeetJS.mediaDevices
- .isDeviceChangeAvailable('output')
- }));
- });
- };
- }
|