Async gUM no memory

by jib1

HTML

<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
<video id="video" width="160" height="120" autoplay controls></video><br>
<div id="div2"></div><div id="div"></div>

JavaScript

(async () => {
  try {
    const stream = await navigator.mediaDevices.getUserMedia({video: true, audio: true});
    video.srcObject = stream;
    const [vtrack] = stream.getVideoTracks();
    const [atrack] = stream.getAudioTracks();
    setInterval(() => update(`${info(vtrack)}<br>${info(atrack)}`), 500);
  } catch (e) {
    console.log(e);
  }
})();

const console = { log: msg => div.innerHTML += msg + "<br>" };
const update = msg => div2.innerHTML = msg;
const info = t => `${t.kind == "video" ? "Camera" : "Microphone"} (${t.readyState}): ${t.label}`;