Browse Source

fix(video-layout): Unpin SS when the screensharing participant leaves.

master
Jaya Allamsetty 4 years ago
parent
commit
c12c554138
1 changed files with 8 additions and 7 deletions
  1. 8
    7
      react/features/video-layout/subscriber.js

+ 8
- 7
react/features/video-layout/subscriber.js View File

97
 function _updateAutoPinnedParticipant({ dispatch, getState }) {
97
 function _updateAutoPinnedParticipant({ dispatch, getState }) {
98
     const state = getState();
98
     const state = getState();
99
     const remoteScreenShares = state['features/video-layout'].remoteScreenShares;
99
     const remoteScreenShares = state['features/video-layout'].remoteScreenShares;
100
+    const pinned = getPinnedParticipant(getState);
101
+
102
+    // Unpin the screenshare when the screensharing participant has left.
103
+    if (!remoteScreenShares?.length) {
104
+        const participantId = pinned ? pinned.id : null;
105
+
106
+        dispatch(pinParticipant(participantId));
100
 
107
 
101
-    if (!remoteScreenShares) {
102
         return;
108
         return;
103
     }
109
     }
104
 
110
 
105
-    const latestScreenshareParticipantId
106
-        = remoteScreenShares[remoteScreenShares.length - 1];
107
-
108
-    const pinned = getPinnedParticipant(getState);
111
+    const latestScreenshareParticipantId = remoteScreenShares[remoteScreenShares.length - 1];
109
 
112
 
110
     if (latestScreenshareParticipantId) {
113
     if (latestScreenshareParticipantId) {
111
         dispatch(pinParticipant(latestScreenshareParticipantId));
114
         dispatch(pinParticipant(latestScreenshareParticipantId));
112
-    } else if (pinned) {
113
-        dispatch(pinParticipant(null));
114
     }
115
     }
115
 }
116
 }

Loading…
Cancel
Save