Hide advanced video settings by default, ref #415

auto_join_3.3
Håvar Aambø Fosstveit 2020-05-22 19:22:42 +02:00
parent 21f2018e71
commit 6426a4d89e
20 changed files with 261 additions and 236 deletions

View File

@ -95,6 +95,9 @@ const MediaSettings = ({
{ {
const intl = useIntl(); const intl = useIntl();
const [ audioSettingsOpen, setAudioSettingsOpen ] = React.useState(false);
const [ videoSettingsOpen, setVideoSettingsOpen ] = React.useState(false);
const resolutions = [ { const resolutions = [ {
value : 'low', value : 'low',
label : intl.formatMessage({ label : intl.formatMessage({
@ -152,13 +155,6 @@ const MediaSettings = ({
else else
audioOutputDevices = []; audioOutputDevices = [];
const [ open, setOpen ] = React.useState(true);
const advancedAudioSettings = () =>
{
setOpen(!open);
};
return ( return (
<React.Fragment> <React.Fragment>
<form className={classes.setting} autoComplete='off'> <form className={classes.setting} autoComplete='off'>
@ -205,118 +201,130 @@ const MediaSettings = ({
} }
</FormHelperText> </FormHelperText>
</FormControl> </FormControl>
<FormControl className={classes.formControl}> <List className={classes.root} component='nav'>
<Select <ListItem button onClick={() => setVideoSettingsOpen(!videoSettingsOpen)}>
value={settings.resolution || ''} <ListItemText primary={intl.formatMessage({
onChange={(event) => id : 'settings.showAdvancedVideo',
{ defaultMessage : 'Advanced video settings'
if (event.target.value)
roomClient.updateWebcam({ newResolution: event.target.value });
}}
name='Video resolution'
autoWidth
className={classes.selectEmpty}
>
{resolutions.map((resolution, index) =>
{
return (
<MenuItem key={index} value={resolution.value}>
{resolution.label}
</MenuItem>
);
})} })}
</Select>
<FormHelperText>
<FormattedMessage
id='settings.resolution'
defaultMessage='Select your video resolution'
/> />
</FormHelperText> {videoSettingsOpen ? <ExpandLess /> : <ExpandMore />}
</FormControl> </ListItem>
<FormControl className={classes.formControl}> <Collapse in={videoSettingsOpen} timeout='auto'>
<Select <FormControl className={classes.formControl}>
value={settings.frameRate || ''} <Select
onChange={(event) => value={settings.resolution || ''}
{ onChange={(event) =>
if (event.target.value) {
roomClient.updateWebcam({ newFrameRate: event.target.value }); if (event.target.value)
}} roomClient.updateWebcam({ newResolution: event.target.value });
name='Frame rate' }}
autoWidth name='Video resolution'
className={classes.selectEmpty} autoWidth
> className={classes.selectEmpty}
{ [ 1, 5, 10, 15, 20, 25, 30 ].map((frameRate) => >
{ {resolutions.map((resolution, index) =>
return ( {
<MenuItem key={frameRate} value={frameRate}> return (
{frameRate} <MenuItem key={index} value={resolution.value}>
</MenuItem> {resolution.label}
); </MenuItem>
})} );
</Select> })}
<FormHelperText> </Select>
<FormattedMessage <FormHelperText>
id='settings.frameRate' <FormattedMessage
defaultMessage='Select your video frame rate' id='settings.resolution'
/> defaultMessage='Select your video resolution'
</FormHelperText> />
</FormControl> </FormHelperText>
<FormControl className={classes.formControl}> </FormControl>
<Select <FormControl className={classes.formControl}>
value={settings.screenSharingResolution || ''} <Select
onChange={(event) => value={settings.frameRate || ''}
{ onChange={(event) =>
if (event.target.value) {
roomClient.updateScreenSharing({ newResolution: event.target.value }); if (event.target.value)
}} roomClient.updateWebcam({ newFrameRate: event.target.value });
name='Screen sharing resolution' }}
autoWidth name='Frame rate'
className={classes.selectEmpty} autoWidth
> className={classes.selectEmpty}
{resolutions.map((resolution, index) => >
{ { [ 1, 5, 10, 15, 20, 25, 30 ].map((frameRate) =>
return ( {
<MenuItem key={index} value={resolution.value}> return (
{resolution.label} <MenuItem key={frameRate} value={frameRate}>
</MenuItem> {frameRate}
); </MenuItem>
})} );
</Select> })}
<FormHelperText> </Select>
<FormattedMessage <FormHelperText>
id='settings.screenSharingResolution' <FormattedMessage
defaultMessage='Select your screen sharing resolution' id='settings.frameRate'
/> defaultMessage='Select your video frame rate'
</FormHelperText> />
</FormControl> </FormHelperText>
<FormControl className={classes.formControl}> </FormControl>
<Select <FormControl className={classes.formControl}>
value={settings.screenSharingFrameRate || ''} <Select
onChange={(event) => value={settings.screenSharingResolution || ''}
{ onChange={(event) =>
if (event.target.value) {
roomClient.updateScreenSharing({ newFrameRate: event.target.value }); if (event.target.value)
}} roomClient.updateScreenSharing({ newResolution: event.target.value });
name='Frame rate' }}
autoWidth name='Screen sharing resolution'
className={classes.selectEmpty} autoWidth
> className={classes.selectEmpty}
{ [ 1, 5, 10, 15, 20, 25, 30 ].map((screenSharingFrameRate) => >
{ {resolutions.map((resolution, index) =>
return ( {
<MenuItem key={screenSharingFrameRate} value={screenSharingFrameRate}> return (
{screenSharingFrameRate} <MenuItem key={index} value={resolution.value}>
</MenuItem> {resolution.label}
); </MenuItem>
})} );
</Select> })}
<FormHelperText> </Select>
<FormattedMessage <FormHelperText>
id='settings.screenSharingFrameRate' <FormattedMessage
defaultMessage='Select your screen sharing frame rate' id='settings.screenSharingResolution'
/> defaultMessage='Select your screen sharing resolution'
</FormHelperText> />
</FormControl> </FormHelperText>
</FormControl>
<FormControl className={classes.formControl}>
<Select
value={settings.screenSharingFrameRate || ''}
onChange={(event) =>
{
if (event.target.value)
roomClient.updateScreenSharing({ newFrameRate: event.target.value });
}}
name='Frame rate'
autoWidth
className={classes.selectEmpty}
>
{ [ 1, 5, 10, 15, 20, 25, 30 ].map((screenSharingFrameRate) =>
{
return (
<MenuItem key={screenSharingFrameRate} value={screenSharingFrameRate}>
{screenSharingFrameRate}
</MenuItem>
);
})}
</Select>
<FormHelperText>
<FormattedMessage
id='settings.screenSharingFrameRate'
defaultMessage='Select your screen sharing frame rate'
/>
</FormHelperText>
</FormControl>
</Collapse>
</List>
</form> </form>
<form className={classes.setting} autoComplete='off'> <form className={classes.setting} autoComplete='off'>
<FormControl className={classes.formControl}> <FormControl className={classes.formControl}>
@ -357,10 +365,8 @@ const MediaSettings = ({
} }
</FormHelperText> </FormHelperText>
</FormControl> </FormControl>
</form> { 'audioOutputSupportedBrowsers' in window.config &&
{ 'audioOutputSupportedBrowsers' in window.config && window.config.audioOutputSupportedBrowsers.includes(me.browser.name) &&
window.config.audioOutputSupportedBrowsers.includes(me.browser.name) &&
<form className={classes.setting} autoComplete='off'>
<FormControl className={classes.formControl}> <FormControl className={classes.formControl}>
<Select <Select
value={settings.selectedAudioOutputDevice || ''} value={settings.selectedAudioOutputDevice || ''}
@ -404,122 +410,122 @@ const MediaSettings = ({
} }
</FormHelperText> </FormHelperText>
</FormControl> </FormControl>
</form> }
} <List className={classes.root} component='nav'>
<List className={classes.root} component='nav'> <ListItem button onClick={() => setAudioSettingsOpen(!audioSettingsOpen)}>
<ListItem button onClick={advancedAudioSettings}> <ListItemText primary={intl.formatMessage({
<ListItemText primary={intl.formatMessage({ id : 'settings.showAdvancedAudio',
id : 'settings.showAdvancedAudio', defaultMessage : 'Advanced audio settings'
defaultMessage : 'Show advanced audio settings' })}
})} />
/> {audioSettingsOpen ? <ExpandLess /> : <ExpandMore />}
{open ? <ExpandLess /> : <ExpandMore />} </ListItem>
</ListItem> <Collapse in={audioSettingsOpen} timeout='auto'>
<Collapse in={!open} timeout='auto'> <List component='div'>
<List component='div'> <ListItem className={classes.nested}>
<ListItem className={classes.nested}> <FormControlLabel
<FormControlLabel className={classnames(classes.setting, classes.switchLabel)}
className={classnames(classes.setting, classes.switchLabel)} control={
control={ <Switch color='secondary'
<Switch color='secondary' checked={settings.echoCancellation}
checked={settings.echoCancellation} onChange={
onChange={ (event) =>
(event) => {
{ setEchoCancellation(event.target.checked);
setEchoCancellation(event.target.checked); roomClient.updateMic();
roomClient.updateMic(); }}
}} />}
/>} labelPlacement='start'
labelPlacement='start' label={intl.formatMessage({
label={intl.formatMessage({ id : 'settings.echoCancellation',
id : 'settings.echoCancellation', defaultMessage : 'Echo cancellation'
defaultMessage : 'Echo cancellation' })}
})} />
/> </ListItem>
</ListItem> <ListItem className={classes.nested}>
<ListItem className={classes.nested}> <FormControlLabel
<FormControlLabel className={classnames(classes.setting, classes.switchLabel)}
className={classnames(classes.setting, classes.switchLabel)} control={
control={ <Switch color='secondary'
<Switch color='secondary' checked={settings.autoGainControl} onChange={
checked={settings.autoGainControl} onChange={ (event) =>
(event) => {
{ setAutoGainControl(event.target.checked);
setAutoGainControl(event.target.checked); roomClient.updateMic();
roomClient.updateMic(); }}
}} />}
/>} labelPlacement='start'
labelPlacement='start' label={intl.formatMessage({
label={intl.formatMessage({ id : 'settings.autoGainControl',
id : 'settings.autoGainControl', defaultMessage : 'Auto gain control'
defaultMessage : 'Auto gain control' })}
})} />
/> </ListItem>
</ListItem> <ListItem className={classes.nested}>
<ListItem className={classes.nested}> <FormControlLabel
<FormControlLabel className={classnames(classes.setting, classes.switchLabel)}
className={classnames(classes.setting, classes.switchLabel)} control={
control={ <Switch color='secondary'
<Switch color='secondary' checked={settings.noiseSuppression} onChange={
checked={settings.noiseSuppression} onChange={ (event) =>
(event) => {
{ setNoiseSuppression(event.target.checked);
setNoiseSuppression(event.target.checked); roomClient.updateMic();
roomClient.updateMic(); }}
}} />}
/>} labelPlacement='start'
labelPlacement='start' label={intl.formatMessage({
label={intl.formatMessage({ id : 'settings.noiseSuppression',
id : 'settings.noiseSuppression', defaultMessage : 'Noise suppression'
defaultMessage : 'Noise suppression' })}
})} />
/> </ListItem>
</ListItem> <ListItem className={classes.nested}>
<ListItem className={classes.nested}> <FormControlLabel
<FormControlLabel className={classnames(classes.setting, classes.switchLabel)}
className={classnames(classes.setting, classes.switchLabel)} control={
control={ <Switch color='secondary'
<Switch color='secondary' checked={settings.voiceActivatedUnmute} onChange={
checked={settings.voiceActivatedUnmute} onChange={ (event) =>
(event) => {
{ setVoiceActivatedUnmute(event.target.checked);
setVoiceActivatedUnmute(event.target.checked); }}
}} />}
/>} labelPlacement='start'
labelPlacement='start' label={intl.formatMessage({
label={intl.formatMessage({ id : 'settings.voiceActivatedUnmute',
id : 'settings.voiceActivatedUnmute', defaultMessage : 'Voice activated unmute'
defaultMessage : 'Voice activated unmute' })}
})} />
/> </ListItem>
</ListItem> <ListItem className={classes.nested}>
<ListItem className={classes.nested}> <div className={classes.margin} />
<div className={classes.margin} /> <Typography gutterBottom>
<Typography gutterBottom>
{
intl.formatMessage({
id : 'settings.noiseThreshold',
defaultMessage : 'Noise threshold'
})
}:
</Typography>
<NoiseSlider className={classnames(classes.slider, classnames.setting)}
key={'noise-threshold-slider'}
min={-100}
value={settings.noiseThreshold}
max={0}
valueLabelDisplay={'auto'}
onChange={
(event, value) =>
{ {
roomClient._setNoiseThreshold(value); intl.formatMessage({
}} id : 'settings.noiseThreshold',
marks={[ { value: volume, label: `${volume} dB` } ]} defaultMessage : 'Noise threshold'
/> })
</ListItem> }:
</List> </Typography>
</Collapse> <NoiseSlider className={classnames(classes.slider, classnames.setting)}
</List> key={'noise-threshold-slider'}
min={-100}
value={settings.noiseThreshold}
max={0}
valueLabelDisplay={'auto'}
onChange={
(event, value) =>
{
roomClient._setNoiseThreshold(value);
}}
marks={[ { value: volume, label: `${volume} dB` } ]}
/>
</ListItem>
</List>
</Collapse>
</List>
</form>
</React.Fragment> </React.Fragment>
); );
}; };

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -143,6 +143,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": "Audiosignal bei Benachrichtigungen", "settings.notificationSounds": "Audiosignal bei Benachrichtigungen",
"settings.showNotifications": "Zeige Benachrichtigungen", "settings.showNotifications": "Zeige Benachrichtigungen",
"settings.buttonControlBar": "Separate seitliche Medienwerkzeugleiste", "settings.buttonControlBar": "Separate seitliche Medienwerkzeugleiste",
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": "Erweiterte Audio-Einstellungen", "settings.showAdvancedAudio": "Erweiterte Audio-Einstellungen",
"settings.echoCancellation": "Echounterdrückung", "settings.echoCancellation": "Echounterdrückung",
"settings.autoGainControl": "Automatische Pegelregelung (Audioeingang)", "settings.autoGainControl": "Automatische Pegelregelung (Audioeingang)",

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": "Notification sounds", "settings.notificationSounds": "Notification sounds",
"settings.showNotifications": "Show notifications", "settings.showNotifications": "Show notifications",
"settings.buttonControlBar": "Separate media controls", "settings.buttonControlBar": "Separate media controls",
"settings.showAdvancedVideo": "Advanced video settings",
"settings.showAdvancedAudio": "Advanced audio settings", "settings.showAdvancedAudio": "Advanced audio settings",
"settings.echoCancellation": "Echo cancellation", "settings.echoCancellation": "Echo cancellation",
"settings.autoGainControl": "Auto gain control", "settings.autoGainControl": "Auto gain control",

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": "Zvuk obavijesti", "settings.notificationSounds": "Zvuk obavijesti",
"settings.showNotifications": "Prikaži obavijesti", "settings.showNotifications": "Prikaži obavijesti",
"settings.buttonControlBar": "Razdvoji upravljanje medijima", "settings.buttonControlBar": "Razdvoji upravljanje medijima",
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": "Poništavanje jeke", "settings.echoCancellation": "Poništavanje jeke",
"settings.autoGainControl": "Automatsko upravljanje jačinom zvuka", "settings.autoGainControl": "Automatsko upravljanje jačinom zvuka",

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": "Értesítések hangjelzéssel", "settings.notificationSounds": "Értesítések hangjelzéssel",
"settings.showNotifications": "Értesítések megjelenítése", "settings.showNotifications": "Értesítések megjelenítése",
"settings.buttonControlBar": "Médiavezérlő gombok leválasztása", "settings.buttonControlBar": "Médiavezérlő gombok leválasztása",
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": "Speciális hang beállítások", "settings.showAdvancedAudio": "Speciális hang beállítások",
"settings.echoCancellation": "Visszhangelnyomás", "settings.echoCancellation": "Visszhangelnyomás",
"settings.autoGainControl": "Automatikus hangerő", "settings.autoGainControl": "Automatikus hangerő",

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": "Suoni di notifica", "settings.notificationSounds": "Suoni di notifica",
"settings.showNotifications": "Mostra notifiche", "settings.showNotifications": "Mostra notifiche",
"settings.buttonControlBar": "Controlli media separati", "settings.buttonControlBar": "Controlli media separati",
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": "Cancellazione echo", "settings.echoCancellation": "Cancellazione echo",
"settings.autoGainControl": "Controllo guadagno automatico", "settings.autoGainControl": "Controllo guadagno automatico",

View File

@ -138,6 +138,7 @@
"settings.notificationSounds": "Paziņojumu skaņas", "settings.notificationSounds": "Paziņojumu skaņas",
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -140,6 +140,7 @@
"settings.advancedMode": "Avansert modus", "settings.advancedMode": "Avansert modus",
"settings.permanentTopBar": "Permanent topplinje", "settings.permanentTopBar": "Permanent topplinje",
"settings.lastn": "Antall videoer synlig", "settings.lastn": "Antall videoer synlig",
"settings.showAdvancedVideo": "Avanserte videoinnstillinger",
"settings.showAdvancedAudio": "Avanserte audioinnstillinger", "settings.showAdvancedAudio": "Avanserte audioinnstillinger",
"settings.hiddenControls": "Skjul media knapper", "settings.hiddenControls": "Skjul media knapper",
"settings.notificationSounds": "Varslingslyder", "settings.notificationSounds": "Varslingslyder",

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": "Powiadomienia dźwiękiem", "settings.notificationSounds": "Powiadomienia dźwiękiem",
"settings.showNotifications": "Pokaż powiadomienia", "settings.showNotifications": "Pokaż powiadomienia",
"settings.buttonControlBar": "Rozdziel kontrolki mediów", "settings.buttonControlBar": "Rozdziel kontrolki mediów",
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": "Usuwanie echa", "settings.echoCancellation": "Usuwanie echa",
"settings.autoGainControl": "Auto korekta wzmocnienia", "settings.autoGainControl": "Auto korekta wzmocnienia",

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -141,6 +141,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,

View File

@ -143,6 +143,7 @@
"settings.notificationSounds": "通知音效", "settings.notificationSounds": "通知音效",
"settings.showNotifications": "顯示通知", "settings.showNotifications": "顯示通知",
"settings.buttonControlBar": "獨立控制按鈕", "settings.buttonControlBar": "獨立控制按鈕",
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": "回音消除", "settings.echoCancellation": "回音消除",
"settings.autoGainControl": "自動增益控制", "settings.autoGainControl": "自動增益控制",

View File

@ -144,6 +144,7 @@
"settings.notificationSounds": null, "settings.notificationSounds": null,
"settings.showNotifications": null, "settings.showNotifications": null,
"settings.buttonControlBar": null, "settings.buttonControlBar": null,
"settings.showAdvancedVideo": null,
"settings.showAdvancedAudio": null, "settings.showAdvancedAudio": null,
"settings.echoCancellation": null, "settings.echoCancellation": null,
"settings.autoGainControl": null, "settings.autoGainControl": null,