in demo-website/src/meeting.js [900:922]
layoutVideoTiles() {
if (!this.meetingSession) {
return;
}
const selfAttendeeId = this.meetingSession.configuration.credentials.attendeeId;
const selfTileId = this.tileIdForAttendeeId(selfAttendeeId);
const visibleTileIndices = this.visibleTileIndices();
let activeTileId = this.activeTileId();
const selfIsVisible = visibleTileIndices.includes(this.tileIdToTileIndex[selfTileId]);
if (visibleTileIndices.length === 2 && selfIsVisible) {
activeTileId = this.tileIndexToTileId[
visibleTileIndices[0] === selfTileId ? visibleTileIndices[1] : visibleTileIndices[0]
];
}
const hasVisibleActiveSpeaker = visibleTileIndices.includes(
this.tileIdToTileIndex[activeTileId]
);
if (this.activeSpeakerLayout && hasVisibleActiveSpeaker) {
this.layoutVideoTilesActiveSpeaker(visibleTileIndices, activeTileId);
} else {
this.layoutVideoTilesGrid(visibleTileIndices);
}
}