Changes

Jump to: navigation, search

Media/getUserMedia

2,045 bytes added, 19:26, 6 May 2012
Created page with "= getUserMedia Implementation Roadmap = == Goal == * Implement the getUserMedia specification on 3 platforms: Desktop, Android and B2G. * Includes the following uses of getUser..."
= getUserMedia Implementation Roadmap =

== Goal ==
* Implement the getUserMedia specification on 3 platforms: Desktop, Android and B2G.

* Includes the following uses of getUserMedia:
<pre>
getUserMedia({picture:true}, onsuccess(Blob blob), onerror);
getUserMedia({video:true,audio:true}, onsuccess(MediaStream stream), onerror);
video.src = stream;
audio.src = stream;
</pre>

* Appropriate permission, notification and status UIs.

== Phase 1 ==

* Implement image capture {picture:true} API
** Android: {{bug|738528}} [Anant]
** B2G: {{bug|749886}} [Fabrice]
** Desktop: {{bug|749887}} [???]
*** ({{bug|692955}} tracking <input> on Desktop, reuse possible. {{bug|748835}} tracking UI).

* Define common abstraction "MediaEngine" for device access across multiple platforms.
** Cross-plaform: {{bug|750943}} [Suhas/Anant]
*** (crypt's version in {{bug|739566}})

* Define "chrome" extensions to MediaStreams for privileged JS code (and B2G's) use. This includes CameraControl features (https://wiki.mozilla.org/WebAPI/CameraControl).
** Cross-platform: {{bug|752352}} [Fabrice/Anant?]

* Implement a fallback backend for MediaEngine (when hardware support not available, returnMediaStream with white noise, for example).
** Cross-platform: {{bug|752351}} [???]

* Write DOM bindings for getUserMedia (backed with Fallback MediaEngine).
** Cross-platform: {{bug|752353}} [Anant]
*** (split code from {{bug|691234}} into this one)

== Phase 2 ==
* Implement MediaEngine backends:
** Android: bug ??? (either based on Android NDK/SDK, or, webrtc.org code).
** B2G: bug ??? [Fabrice] (based on Gonk).
** Desktop: {{bug|691234}} [Anant] (based on webrtc.org code).

== Phase 3 ==
* Implement permissions, notification & status UI
** Android: bug ???
** B2G: bug ???
** Desktop: {{bug|729522}} [???]

Once UI lands, getUserMedia may be pref'ed on.

== Phase 4 and beyond ==
* Implement file backend for MediaEngine.
* Refactor getUserMedia{picture:true} implementations to use MediaEngine + privileged MediaStreams and CameraControl APIs.
Confirm
188
edits

Navigation menu