Async gUM getSettings width height

by Abhijeet Kandalkar

HTML

<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
<div id="div">
  <div id="videodata">
  </div>
</div>
<video id="video" autoplay></video>

JavaScript

var console = { log: msg => div.innerHTML += msg + "<br>" };

function displayVideoDimensions() {
   var console = { log: msg => videodata.innerHTML = msg + "<br>" };
   console.log(`Video dimensions: ${video.videoWidth}x${video.videoHeight}`);
}

(async () => {
  try {
    let constraints = {video: {width: 9999}};
    video.srcObject = await navigator.mediaDevices.getUserMedia(constraints);
    let track = video.srcObject.getTracks()[0];
    if (track.getSettings) {
      let {width, height, frameRate} = track.getSettings();
      console.log(`Track Settings : ${width}x${height}x${frameRate}`);
    }
    await new Promise(resolve => video.onloadedmetadata = resolve);
    setInterval(displayVideoDimensions, 1000);
  } catch(e) {
    console.log(e);
  }
})();