Remove tint from owner screenshare participants

This commit is contained in:
Bogdan Duduman 2023-02-22 17:01:11 +02:00
parent b4bf363237
commit bbbe5587f6
2 changed files with 22 additions and 1 deletions

View File

@ -267,6 +267,22 @@ export function getVirtualScreenshareParticipantOwnerId(id: string) {
return id.split('-')[0];
}
/**
* Returns owner participant IDs of the virtual screenshares participant.
*
* @param {(Function|Object)} stateful - The (whole) redux state, or redux's.
* @returns {(string[])}
*/
export function getVirtualScreenshareParticipantOwnerIds(stateful: IStateful) {
const virtualScreenshareParticipants = toState(stateful)['features/base/participants']
.sortedRemoteVirtualScreenshareParticipants;
const virtualScreenshareParticipantIds = Array.from(virtualScreenshareParticipants.keys())
.map(id => getVirtualScreenshareParticipantOwnerId(id));
return virtualScreenshareParticipantIds;
}
/**
* Returns the Map with fake participants.
*

View File

@ -20,6 +20,7 @@ import { pinParticipant } from '../../../base/participants/actions';
import {
getLocalParticipant,
getParticipantByIdOrUndefined,
getVirtualScreenshareParticipantOwnerIds,
hasRaisedHand,
isLocalScreenshareParticipant,
isScreenShareParticipant,
@ -1287,9 +1288,13 @@ function _mapStateToProps(state: IReduxState, ownProps: any): Object {
const participantId = isLocal ? getLocalParticipant(state)?.id : participantID;
const isActiveParticipant = activeParticipants.find((pId: string) => pId === participantId);
const participantCurrentlyOnLargeVideo = state['features/large-video']?.participantId === id;
const virtualScreenshareParticipantOwnerIds = getVirtualScreenshareParticipantOwnerIds(state);
const shouldDisplayTintBackground
= _currentLayout !== LAYOUTS.TILE_VIEW && filmstripType === FILMSTRIP_TYPE.MAIN
&& (isActiveParticipant || participantCurrentlyOnLargeVideo);
&& (isActiveParticipant || participantCurrentlyOnLargeVideo)
// skip showing tint for owner participants that are screensharing.
&& !virtualScreenshareParticipantOwnerIds.includes(id);
return {
_audioTrack,