diff options
Diffstat (limited to 'source/client/local_user.ts')
-rw-r--r-- | source/client/local_user.ts | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/client/local_user.ts b/source/client/local_user.ts index 2886a76..204f034 100644 --- a/source/client/local_user.ts +++ b/source/client/local_user.ts @@ -71,12 +71,12 @@ export class LocalUser extends User { async create_camera_track() { log("media", "requesting user media (camera)") const user_media = await window.navigator.mediaDevices.getUserMedia({ video: true }) - return new TrackHandle(user_media.getVideoTracks()[0]) + return new TrackHandle(user_media.getVideoTracks()[0], true) } async create_screen_track() { log("media", "requesting user media (screen)") const user_media = await window.navigator.mediaDevices.getDisplayMedia({ video: true }) - return new TrackHandle(user_media.getVideoTracks()[0]) + return new TrackHandle(user_media.getVideoTracks()[0], true) } async create_mic_track() { log("media", "requesting user media (audio)") @@ -106,9 +106,10 @@ export class LocalUser extends User { } gain.connect(destination) - const t = new TrackHandle(destination.stream.getAudioTracks()[0]) + const t = new TrackHandle(destination.stream.getAudioTracks()[0], true) t.addEventListener("ended", () => { + user_media.getTracks().forEach(t => t.stop()) source.disconnect() if (rnnoise) rnnoise.disconnect() gain.disconnect() |