feat(virtual-bg) Added config to disable screen sharing as virtual bg
This commit is contained in:
parent
6845a759a0
commit
69d2cb52fe
|
@ -921,6 +921,9 @@ var config = {
|
|||
// Only the default ones from will be available.
|
||||
// disableAddingBackgroundImages: false,
|
||||
|
||||
// Disables using screensharing as virtual background.
|
||||
// disableScreensharingVirtualBackground: false,
|
||||
|
||||
// Sets the background transparency level. '0' is fully transparent, '1' is opaque.
|
||||
// backgroundAlpha: 1,
|
||||
|
||||
|
|
|
@ -109,6 +109,7 @@ export default [
|
|||
'disableRemoteMute',
|
||||
'disableResponsiveTiles',
|
||||
'disableRtx',
|
||||
'disableScreensharingVirtualBackground',
|
||||
'disableShortcuts',
|
||||
'disableShowMoreStats',
|
||||
'disableRemoveRaisedHandOnFocus',
|
||||
|
|
|
@ -4,6 +4,7 @@ import Spinner from '@atlaskit/spinner';
|
|||
import Bourne from '@hapi/bourne';
|
||||
import { jitsiLocalStorage } from '@jitsi/js-utils/jitsi-local-storage';
|
||||
import React, { useState, useEffect, useCallback } from 'react';
|
||||
import { useSelector } from 'react-redux';
|
||||
|
||||
import { Dialog, hideDialog, openDialog } from '../../base/dialog';
|
||||
import { translate } from '../../base/i18n';
|
||||
|
@ -126,6 +127,7 @@ function VirtualBackground({
|
|||
const localImages = jitsiLocalStorage.getItem('virtualBackgrounds');
|
||||
const [ storedImages, setStoredImages ] = useState<Array<Image>>((localImages && Bourne.parse(localImages)) || []);
|
||||
const [ loading, setLoading ] = useState(false);
|
||||
const { disableScreensharingVirtualBackground } = useSelector(state => state['features/base/config']);
|
||||
|
||||
const [ activeDesktopVideo ] = useState(_virtualBackground?.virtualSource?.videoType === VIDEO_TYPE.DESKTOP
|
||||
? _virtualBackground.virtualSource
|
||||
|
@ -197,6 +199,10 @@ function VirtualBackground({
|
|||
|
||||
|
||||
const shareDesktop = useCallback(async () => {
|
||||
if (disableScreensharingVirtualBackground) {
|
||||
return;
|
||||
}
|
||||
|
||||
let isCancelled = false, url;
|
||||
|
||||
try {
|
||||
|
@ -438,25 +444,27 @@ function VirtualBackground({
|
|||
{t('virtualBackground.blur')}
|
||||
</div>
|
||||
</Tooltip>
|
||||
<Tooltip
|
||||
content = { t('virtualBackground.desktopShare') }
|
||||
position = { 'top' }>
|
||||
<div
|
||||
aria-checked = { _selectedThumbnail === 'desktop-share' }
|
||||
aria-label = { t('virtualBackground.desktopShare') }
|
||||
className = { _selectedThumbnail === 'desktop-share'
|
||||
? 'background-option desktop-share-selected'
|
||||
: 'background-option desktop-share' }
|
||||
onClick = { shareDesktop }
|
||||
onKeyPress = { shareDesktopKeyPress }
|
||||
role = 'radio'
|
||||
tabIndex = { 0 }>
|
||||
<Icon
|
||||
className = 'share-desktop-icon'
|
||||
size = { 30 }
|
||||
src = { IconShareDesktop } />
|
||||
</div>
|
||||
</Tooltip>
|
||||
{!disableScreensharingVirtualBackground && (
|
||||
<Tooltip
|
||||
content = { t('virtualBackground.desktopShare') }
|
||||
position = { 'top' }>
|
||||
<div
|
||||
aria-checked = { _selectedThumbnail === 'desktop-share' }
|
||||
aria-label = { t('virtualBackground.desktopShare') }
|
||||
className = { _selectedThumbnail === 'desktop-share'
|
||||
? 'background-option desktop-share-selected'
|
||||
: 'background-option desktop-share' }
|
||||
onClick = { shareDesktop }
|
||||
onKeyPress = { shareDesktopKeyPress }
|
||||
role = 'radio'
|
||||
tabIndex = { 0 }>
|
||||
<Icon
|
||||
className = 'share-desktop-icon'
|
||||
size = { 30 }
|
||||
src = { IconShareDesktop } />
|
||||
</div>
|
||||
</Tooltip>
|
||||
)}
|
||||
{_images.map(image => (
|
||||
<Tooltip
|
||||
content = { image.tooltip && t(`virtualBackground.${image.tooltip}`) }
|
||||
|
|
Loading…
Reference in New Issue