title: ImageCapture API throwing Platform Error on takePhoto()
body: <p>I'm attempting to use the <a href="https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture/ImageCapture" rel="nofollow noreferrer">ImageCapture API</a> to capture a snapshot using a 4k <a href="https://www.logitech.com/en-gb/product/brio-stream-4k-hd-webcam?crid=34" rel="nofollow noreferrer">Logitech Brio Stream</a> webcam.</p>
  
  <p>All works well on my Mac's built in camera, or using the default video constraints with the web cam, though trying to capture in higher res fails with a pretty generic <code>platform error</code>. The only references I've found to this come in the source code, <a href="https://chromium.googlesource.com/chromium/src/+/6ef18cc67/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp#196" rel="nofollow noreferrer">here</a> and <a href="https://chromium.googlesource.com/chromium/src/+/66.0.3359.158/third_party/WebKit/Source/modules/imagecapture/ImageCapture.cpp#619" rel="nofollow noreferrer">here</a>. </p>
  
  <p>These links suggest either <code>capabilities.is_null()</code> or <code>photo_state.is_null()</code> respectively, though I've been unable to find what could potentially cause either of these.</p>
  
  <p>Here's my (slightly trimmed down) implementation:</p>
  
  <pre><code>// N.B. self is scoped within the code file, and works as it should
  
  const videoConstraints = {
    video: {
      width: { min: 1280, ideal: 3840, max: 3840 },
      height: { min: 720, ideal: 2160, max: 2160 }
    }
  }
  
  navigator.mediaDevices.getUserMedia(videoConstraints)         
    .then(function(stream) {
      self.imageCapture = new ImageCapture(stream.getVideoTracks()[0]);
    })
  
  
  self.imageCapture.takePhoto()
    .then(function(blob) { self.doSomethingWithThe(blob); }) // never gets here because...
    .catch(function(e) { console.log(e); }); // here the error is thrown
  </code></pre>
  
  <p>This works with the built in cam, while switching the video constraints to <code>{ video: true }</code> gets this working with the webcam, albeit with a lower res 720 x 1280 resolution (the minimum specified). No custom higher resolutions work for this.</p>
  
  <p>Using Chrome as the browser for this.</p>
  
  <p>Does anyone know how to get <code>takePhoto()</code> to work to capture a 4k image?</p>
  
  <p>I've found very little describing issues with the API, so any suggestions or help welcome. Let me know if there are any details missing from the question. Thanks in advance.</p>