From 3b87805d50bef3e73e857dd8025a4383e5f6651d Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 2 Apr 2024 12:16:51 +0200 Subject: get rid of trackhandle and use mediastream everwhere --- client-web/source/track_handle.ts | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 client-web/source/track_handle.ts (limited to 'client-web/source/track_handle.ts') diff --git a/client-web/source/track_handle.ts b/client-web/source/track_handle.ts deleted file mode 100644 index b680949..0000000 --- a/client-web/source/track_handle.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - This file is part of keks-meet (https://codeberg.org/metamuffin/keks-meet) - which is licensed under the GNU Affero General Public License (version 3); see /COPYING. - Copyright (C) 2023 metamuffin -*/ -/// - -/// We need this to adjust the way events are fired -export class TrackHandle extends EventTarget { - stream: MediaStream // this is used to create an id that is persistent across clients - - constructor( - public track: MediaStreamTrack, - public local = false - ) { - super() - track.onended = () => this.dispatchEvent(new CustomEvent("ended")) - // TODO research how onmute and onunmute behave - track.onmute = () => this.dispatchEvent(new CustomEvent("ended")) // onmute seems to be called when the remote ends the track - track.onunmute = () => this.dispatchEvent(new CustomEvent("started")) - - this.addEventListener("ended", () => { - // drop all references to help gc - track.onunmute = track.onmute = track.onended = null - }) - - this.stream = new MediaStream([track]) - } - - get kind() { return this.track.kind } - get label() { return this.track.label } - get muted() { return this.track.muted } - get id() { return this.stream.id } //!! - - end() { this.track.stop(); this.dispatchEvent(new CustomEvent("ended")) } -} -- cgit v1.2.3-70-g09d2