layoutVideoTiles()

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);
        }
    }