aboutsummaryrefslogtreecommitdiff
path: root/client-web/source/local_user.ts
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-09-08 17:03:56 +0200
committermetamuffin <metamuffin@disroot.org>2022-09-08 17:03:56 +0200
commit922149f0cd84c9aa5753d5b3bc62901c94b9b5e3 (patch)
tree4f79ec6e43973dff62d952b584775af615c38d58 /client-web/source/local_user.ts
parentcd733e846d6e5921d97843ac895d45e8b22e79b4 (diff)
downloadkeks-meet-922149f0cd84c9aa5753d5b3bc62901c94b9b5e3.tar
keks-meet-922149f0cd84c9aa5753d5b3bc62901c94b9b5e3.tar.bz2
keks-meet-922149f0cd84c9aa5753d5b3bc62901c94b9b5e3.tar.zst
lots of changes, new prefs
Diffstat (limited to 'client-web/source/local_user.ts')
-rw-r--r--client-web/source/local_user.ts30
1 files changed, 17 insertions, 13 deletions
diff --git a/client-web/source/local_user.ts b/client-web/source/local_user.ts
index b3d5692..85a2a23 100644
--- a/client-web/source/local_user.ts
+++ b/client-web/source/local_user.ts
@@ -1,7 +1,7 @@
/// <reference lib="dom" />
-import { parameter_bool, parameter_number } from "./helper.ts";
import { log } from "./logger.ts";
+import { PREFS } from "./preferences.ts";
import { RemoteUser } from "./remote_user.ts";
import { get_rnnoise_node } from "./rnnoise.ts";
import { Room } from "./room.ts";
@@ -10,7 +10,7 @@ import { User } from "./user.ts";
export class LocalUser extends User {
mic_gain?: GainNode
- default_gain: number = parameter_number("mic_gain", 1)
+ default_gain: number = PREFS.microphone_gain
constructor(room: Room, id: number, name: string) {
super(room, id, name)
@@ -22,9 +22,9 @@ export class LocalUser extends User {
}
async add_initial_tracks() {
- if (parameter_bool("mic_enabled", false)) this.publish_track(await this.create_mic_track())
- if (parameter_bool("camera_enabled", false)) this.publish_track(await this.create_camera_track())
- if (parameter_bool("screen_enabled", false)) this.publish_track(await this.create_screen_track())
+ if (PREFS.microphone_enabled) this.publish_track(await this.create_mic_track())
+ if (PREFS.camera_enabled) this.publish_track(await this.create_camera_track())
+ if (PREFS.screencast_enabled) this.publish_track(await this.create_screencast_track())
}
publish_track(t: TrackHandle) {
@@ -50,7 +50,7 @@ export class LocalUser extends User {
mic_toggle.type = camera_toggle.type = screen_toggle.type = "button"
mic_toggle.value = "Microphone"
camera_toggle.value = "Camera"
- screen_toggle.value = "Screen"
+ screen_toggle.value = "Screencast"
const create = async (_e: HTMLElement, tp: Promise<TrackHandle>) => {
log("media", "awaiting track")
@@ -61,7 +61,7 @@ export class LocalUser extends User {
mic_toggle.addEventListener("click", () => create(mic_toggle, this.create_mic_track()))
camera_toggle.addEventListener("click", () => create(camera_toggle, this.create_camera_track()))
- screen_toggle.addEventListener("click", () => create(screen_toggle, this.create_screen_track()))
+ screen_toggle.addEventListener("click", () => create(screen_toggle, this.create_screencast_track()))
const el = document.createElement("div")
el.classList.add("local-controls")
@@ -75,20 +75,24 @@ export class LocalUser extends User {
const user_media = await window.navigator.mediaDevices.getUserMedia({ video: true })
return new TrackHandle(user_media.getVideoTracks()[0], true)
}
- async create_screen_track() {
+ async create_screencast_track() {
log("media", "requesting user media (screen)")
const user_media = await window.navigator.mediaDevices.getDisplayMedia({ video: true })
return new TrackHandle(user_media.getVideoTracks()[0], true)
}
async create_mic_track() {
log("media", "requesting user media (audio)")
- const use_rnnoise = parameter_bool("rnnoise", true)
- const audio_contraints = use_rnnoise ? {
+ const audio_contraints = PREFS.rnnoise ? {
channelCount: { ideal: 1 },
noiseSuppression: { ideal: false },
echoCancellation: { ideal: true },
- autoGainControl: { ideal: false },
- } : true;
+ autoGainControl: { ideal: true },
+ } : {
+ channelCount: { ideal: 1 },
+ noiseSuppression: { ideal: false },
+ echoCancellation: { ideal: true },
+ autoGainControl: { ideal: true },
+ };
const user_media = await window.navigator.mediaDevices.getUserMedia({ audio: audio_contraints })
const context = new AudioContext()
@@ -99,7 +103,7 @@ export class LocalUser extends User {
this.mic_gain = gain
let rnnoise: RNNoiseNode;
- if (use_rnnoise) {
+ if (PREFS.rnnoise) {
rnnoise = await get_rnnoise_node(context)
source.connect(rnnoise)
rnnoise.connect(gain)