Media/getUserMedia: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "= getUserMedia Implementation Roadmap = == Goal == * Implement the getUserMedia specification on 3 platforms: Desktop, Android and B2G. * Includes the following uses of getUser...")
 
No edit summary
Line 18: Line 18:
* Implement image capture {picture:true} API
* Implement image capture {picture:true} API
** Android: {{bug|738528}} [Anant]
** 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.
* Define common abstraction "MediaEngine" for device access across multiple platforms.
Line 41: Line 38:
** B2G: bug ??? [Fabrice] (based on Gonk).
** B2G: bug ??? [Fabrice] (based on Gonk).
** Desktop: {{bug|691234}} [Anant] (based on webrtc.org code).
** Desktop: {{bug|691234}} [Anant] (based on webrtc.org code).
* Implement image capture {picture:true} API
** B2G: {{bug|749886}} [Fabrice]
** Desktop: {{bug|749887}} [???]
*** ({{bug|692955}} tracking <input> on Desktop, reuse possible. {{bug|748835}} tracking UI).


== Phase 3 ==
== Phase 3 ==

Revision as of 07:43, 7 May 2012

getUserMedia Implementation Roadmap

Goal

  • Implement the getUserMedia specification on 3 platforms: Desktop, Android and B2G.
  • Includes the following uses of getUserMedia:
  getUserMedia({picture:true}, onsuccess(Blob blob), onerror);
  getUserMedia({video:true,audio:true}, onsuccess(MediaStream stream), onerror);
  video.src = stream;
  audio.src = stream;
  • Appropriate permission, notification and status UIs.

Phase 1

  • Implement image capture {picture:true} API
  • Define common abstraction "MediaEngine" for device access across multiple platforms.
  • Implement a fallback backend for MediaEngine (when hardware support not available, returnMediaStream with white noise, for example).
  • Write DOM bindings for getUserMedia (backed with Fallback MediaEngine).

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.