conference: don't pin participants on the JVB
When a participant is pinned in the UI we then proceed to mark it as selected on the JVB. This will make the participant part of the last N set and will receive the highest (or configured highest) video quality. Pinning a participant at the JVB level just makes sure it will be part of the last N set. Since only one participant can be pinned in the UI, there is no point in pinning it at the JVB level, since selecting it already achieved the same result.
This commit is contained in:
parent
8c7d6da5d5
commit
5261f61110
|
@ -14,7 +14,6 @@ import { CONNECTION_ESTABLISHED, CONNECTION_FAILED } from '../connection';
|
||||||
import { JitsiConferenceErrors } from '../lib-jitsi-meet';
|
import { JitsiConferenceErrors } from '../lib-jitsi-meet';
|
||||||
import { setVideoMuted, VIDEO_MUTISM_AUTHORITY } from '../media';
|
import { setVideoMuted, VIDEO_MUTISM_AUTHORITY } from '../media';
|
||||||
import {
|
import {
|
||||||
getLocalParticipant,
|
|
||||||
getParticipantById,
|
getParticipantById,
|
||||||
getPinnedParticipant,
|
getPinnedParticipant,
|
||||||
PARTICIPANT_UPDATED,
|
PARTICIPANT_UPDATED,
|
||||||
|
@ -46,7 +45,6 @@ import {
|
||||||
_addLocalTracksToConference,
|
_addLocalTracksToConference,
|
||||||
forEachConference,
|
forEachConference,
|
||||||
getCurrentConference,
|
getCurrentConference,
|
||||||
_handleParticipantError,
|
|
||||||
_removeLocalTracksFromConference
|
_removeLocalTracksFromConference
|
||||||
} from './functions';
|
} from './functions';
|
||||||
|
|
||||||
|
@ -462,30 +460,6 @@ function _pinParticipant({ getState }, next, action) {
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
// The following condition prevents signaling to pin local participant and
|
|
||||||
// shared videos. The logic is:
|
|
||||||
// - If we have an ID, we check if the participant identified by that ID is
|
|
||||||
// local or a bot/fake participant (such as with shared video).
|
|
||||||
// - If we don't have an ID (i.e. no participant identified by an ID), we
|
|
||||||
// check for local participant. If she's currently pinned, then this
|
|
||||||
// action will unpin her and that's why we won't signal here too.
|
|
||||||
let pin;
|
|
||||||
|
|
||||||
if (participantById) {
|
|
||||||
pin = !participantById.local && !participantById.isFakeParticipant;
|
|
||||||
} else {
|
|
||||||
const localParticipant = getLocalParticipant(participants);
|
|
||||||
|
|
||||||
pin = !localParticipant || !localParticipant.pinned;
|
|
||||||
}
|
|
||||||
if (pin) {
|
|
||||||
try {
|
|
||||||
conference.pinParticipant(id);
|
|
||||||
} catch (err) {
|
|
||||||
_handleParticipantError(err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return next(action);
|
return next(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue