FIX: being in a silent zone new forces mediaConstraints to false

This commit is contained in:
Kharhamel 2021-10-06 17:59:20 +02:00
parent 2db446889b
commit 9dd3e8ff85
2 changed files with 15 additions and 10 deletions

View File

@ -15,6 +15,7 @@
import {onDestroy} from "svelte";
function screenSharingClick(): void {
if (isSilent) return;
if ($requestedScreenSharingState === true) {
requestedScreenSharingState.disableScreenSharing();
} else {
@ -23,6 +24,7 @@
}
function cameraClick(): void {
if (isSilent) return;
if ($requestedCameraState === true) {
requestedCameraState.disableWebcam();
} else {
@ -31,6 +33,7 @@
}
function microphoneClick(): void {
if (isSilent) return;
if ($requestedMicrophoneState === true) {
requestedMicrophoneState.disableMicrophone();
} else {

View File

@ -177,6 +177,11 @@ function createVideoConstraintStore() {
};
}
/**
* A store containing if user is silent, so if he is in silent zone. This permit to show et hide camera of user
*/
export const isSilentStore = writable(false);
export const videoConstraintStore = createVideoConstraintStore();
/**
@ -234,6 +239,7 @@ export const mediaStreamConstraintsStore = derived(
audioConstraintStore,
privacyShutdownStore,
cameraEnergySavingStore,
isSilentStore,
],
(
[
@ -245,6 +251,7 @@ export const mediaStreamConstraintsStore = derived(
$audioConstraintStore,
$privacyShutdownStore,
$cameraEnergySavingStore,
$isSilentStore,
],
set
) => {
@ -294,6 +301,11 @@ export const mediaStreamConstraintsStore = derived(
//currentAudioConstraint = false;
}
if ($isSilentStore === true) {
currentVideoConstraint = false;
currentAudioConstraint = false;
}
// Let's make the changes only if the new value is different from the old one.
if (
previousComputedVideoConstraint != currentVideoConstraint ||
@ -607,13 +619,3 @@ localStreamStore.subscribe((streamResult) => {
}
}
});
/**
* A store containing the real active media is mobile
*/
export const obtainedMediaConstraintIsMobileStore = writable(false);
/**
* A store containing if user is silent, so if he is in silent zone. This permit to show et hide camera of user
*/
export const isSilentStore = writable(false);