- From: Anant Narayanan <anant@mozilla.com>
- Date: Mon, 30 Apr 2012 10:57:38 -0700
- To: "public-media-capture@w3.org" <public-media-capture@w3.org>
Hi all, As we try to resolve the <video> assignment issue, I'd like begin the <canvas> discussion in parallel. I propose that we allow direct assignment of a MediaStream to a <canvas> object, like so: let stream = [MediaStream obtained by some means] let ctx = document.getElementById('canvas').getContext('2d'); ctx.stream = stream; If we decide to go with the URL approach for <video> we can change this API to match. The key point though, is to allow a <canvas> to be a *direct* recipient of video data from a MediaStream. It is possible to do this without explicit support from the getUserMedia spec: let canvas, video; [DOM objects preset] canvas.getContext('2d').drawImage(video, x, y, w, h, offsets...); However, the developer will have to call drawImage on a DOM timer. It is much more efficient and cleaner for the MediaStream to manipulate the <canvas> directly. It is a little weird to have a canvas in the DOM changing constantly (at the frame rate of the MediaStream), but I think the benefits outweigh the drawbacks. Look forward to your feedback! Regards, -Anant
Received on Monday, 30 April 2012 17:57:52 UTC