From 70999e7d5c52911cf7f41965cb7e288a1f3097e9 Mon Sep 17 00:00:00 2001 From: James Hush Date: Tue, 1 Oct 2024 16:32:57 +0800 Subject: [PATCH] fix: update local camera Revert rollup Update tsconfig.json --- src/VCSWebRenderer.ts | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/VCSWebRenderer.ts b/src/VCSWebRenderer.ts index e5e5e66..6dda2c2 100644 --- a/src/VCSWebRenderer.ts +++ b/src/VCSWebRenderer.ts @@ -645,11 +645,23 @@ export default class DailyVCSWebRenderer { } else { videoEl = document.createElement('video'); this.placeVideoSourceInDOM(videoEl, video.track.id); + videoEl.setAttribute('autoplay', 'true'); + videoEl.setAttribute('playsinline', 'true'); + videoEl.setAttribute('controls', 'false'); } - videoEl.srcObject = mediaStream; - videoEl.setAttribute('autoplay', 'true'); - videoEl.setAttribute('playsinline', 'true'); - videoEl.setAttribute('controls', 'false'); + + if (!videoEl.srcObject) { + videoEl.srcObject = mediaStream; + } + + const srcObject = videoEl.srcObject as MediaStream; + const currentVideoTrack = srcObject.getTracks()[0]; + + if (currentVideoTrack.id !== video.track.id) { + srcObject.removeTrack(currentVideoTrack); + srcObject.addTrack(video.track); + } + //console.log('created video el for %s', video.id); }