title: How to detect when `canvas.captureStream()` is not supported?
body: <p><a href="https://bugs.webkit.org/show_bug.cgi?id=181663" rel="nofollow noreferrer">It is known that iOS Safari does not support</a> <code>canvas.captureStream()</code> to (e.g.) pipe its content into a video element, see <a href="https://webrtc.github.io/samples/src/content/capture/canvas-video/" rel="nofollow noreferrer">this demo</a> not working in iOS Safari.</p>
  <p>However, <code>canvas.captureStream()</code> is a valid function in iOS Safari, and correctly returns a <code>CanvasCaptureMediaStreamTrack</code>, it just doesn't function as intended. In order to detect browsers that don't support <code>canvas.captureStream</code>, it would have been easy to do a test <code>typeof canvas.captureStream === 'function'</code>, but at least for iOS Safari, we can't rely on that. Neither can we rely on the type of the returned value.</p>
  <p>How do I write JavaScript that detects whether the current browser effectively supports <code>canvas.captureStream()</code>?</p>