async setupCamera()

in src/js/client/camera.ts [58:84]


  async setupCamera() {
      const me = this;
      const stream = await navigator.mediaDevices.getUserMedia({
        'audio': false,
        'video': {deviceId: 'cam', facingMode: 'environment'}
      });
      (<any>window).stream = stream;
      this.videoElement.srcObject = stream;
      return new Promise((resolve, reject) => {

        me.cameraButton.addEventListener('click', function(e: any) {
          e.preventDefault();
          me.cameraButton.className = 'hidden';
          let img = me.snapshot();
          // fire event from window
          let event = new CustomEvent('cameraPhoto', {
            detail: img
          });
          window.dispatchEvent(event);
        });

        me.videoElement.onloadedmetadata = () => {
          resolve([me.videoElement.videoWidth,
              me.videoElement.videoHeight]);
        };
      });
  }