diff options
author | metamuffin <metamuffin@disroot.org> | 2022-09-16 17:16:38 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-09-16 17:16:38 +0200 |
commit | 969444b32101a45d5917a3947b94bb09c3fc01a1 (patch) | |
tree | ac6d17ad6f3a1535c619aef9eba83179cd4c0878 /client-web/source/user/mod.ts | |
parent | ff2329cac03703a10ce8b3793d707131403318b4 (diff) | |
download | keks-meet-969444b32101a45d5917a3947b94bb09c3fc01a1.tar keks-meet-969444b32101a45d5917a3947b94bb09c3fc01a1.tar.bz2 keks-meet-969444b32101a45d5917a3947b94bb09c3fc01a1.tar.zst |
optional channels (1)
Diffstat (limited to 'client-web/source/user/mod.ts')
-rw-r--r-- | client-web/source/user/mod.ts | 49 |
1 files changed, 2 insertions, 47 deletions
diff --git a/client-web/source/user/mod.ts b/client-web/source/user/mod.ts index 581ac7e..59c58b7 100644 --- a/client-web/source/user/mod.ts +++ b/client-web/source/user/mod.ts @@ -2,15 +2,13 @@ import { epre, espan } from "../helper.ts"; import { ROOM_CONTAINER } from "../index.ts"; -import { log } from "../logger.ts" +import { Resource } from "../resource/mod.ts"; import { Room } from "../room.ts" -import { TrackHandle } from "../track_handle.ts"; - export abstract class User { protected el: HTMLElement public local = false - public tracks: Set<TrackHandle> = new Set() + public resources: Map<string, Resource> = new Map() private name_el = espan("") protected stats_el = epre("", { class: "stats" }) @@ -31,21 +29,6 @@ export abstract class User { this.room.users.delete(this.id) } - add_track(t: TrackHandle) { - this.tracks.add(t) - this.create_track_element(t) - t.addEventListener("ended", () => { - log("media", "track ended", t) - this.tracks.delete(t) - }) - t.addEventListener("mute", () => { - log("media", "track muted", t) - }) - t.addEventListener("unmute", () => { - log("media", "track unmuted", t) - }) - } - setup_view() { const info_el = document.createElement("div") info_el.classList.add("info") @@ -54,32 +37,4 @@ export abstract class User { info_el.append(this.name_el, this.stats_el) this.el.append(info_el) } - - create_track_element(t: TrackHandle) { - const is_video = t.kind == "video" - const media_el = is_video ? document.createElement("video") : document.createElement("audio") - const stream = new MediaStream([t.track]) - media_el.srcObject = stream - media_el.classList.add("media") - media_el.autoplay = true - media_el.controls = true - - if (this.local) media_el.muted = true - - const el = document.createElement("div") - if (t.local) { - const end_button = document.createElement("button") - end_button.textContent = "End" - end_button.addEventListener("click", () => { - t.end() - }) - el.append(end_button) - } - el.append(media_el) - this.el.append(el) - t.addEventListener("ended", () => { - media_el.srcObject = null - el.remove() - }) - } }
\ No newline at end of file |