Platform/Features/MPAPI: Difference between revisions

no edit summary
(Created page with "{{FeatureStatus |Feature name=Media Plugin API (MPAPI) |Feature stage=Planning |Feature status=In progress |Feature version=Firefox 15 or 16 (TBD) - Mobile only, by the end of Q2...")
 
No edit summary
Line 20: Line 20:


We may use this same approach to support certain codecs (like MP3) on desktop;  desktop support is still TBD.
We may use this same approach to support certain codecs (like MP3) on desktop;  desktop support is still TBD.
|Feature users and use cases=*App wishes to playback MP3 file on user's mobile device
|Feature users and use cases=*App wishes to playback MP3 file on user's mobile device
*App wishes to playback H.264 on user's mobile device (note: the H.264 video may use AAC to encode the audio track of the video)
*App wishes to playback H.264 on user's mobile device (note: the H.264 video may use AAC to encode the audio track of the video)
Line 26: Line 25:
|Feature requirements=* Playback performance on a device that has the necessary codecs installed must be snappy and appear seamless.  (If anyone needs more detail like how quickly playback should begin or what qualifies as seamless, please contact Maire.)
|Feature requirements=* Playback performance on a device that has the necessary codecs installed must be snappy and appear seamless.  (If anyone needs more detail like how quickly playback should begin or what qualifies as seamless, please contact Maire.)
* Audio/Video synchronization must be maintained
* Audio/Video synchronization must be maintained
|Feature non-goals=* Playback will not work if the user's device does not have the codec already installed.
|Feature non-goals=* Playback will not work if the user's device does not have the codec already installed.
* The user will not be prompted to download a codec in order to play a video/audio clip, if the codec is not available for playback.
* The user will not be prompted to download a codec in order to play a video/audio clip, if the codec is not available for playback.
|Feature functional spec=[https://bugzilla.mozilla.org/show_bug.cgi?id=714408 Bug 714408]
|Feature functional spec=[https://bugzilla.mozilla.org/show_bug.cgi?id=714408 Bug 714408]
|Feature implementation plan=== Phase 1 : Mobile ==
|Feature implementation plan==== Phase 1 : Mobile ===
1) Review, polish and land existing patches for using system codecs on
1) Review, polish and land existing patches for using system codecs on
Android/B2G ([https://bugzilla.mozilla.org/show_bug.cgi?id=714408 bug 714408]). Those patches create an "MPAPI" interface into which various codec libraries can be plugged. These libraries will be wrappers around libstagefright or other Android system codec interfaces --- different libraries customized for different Android versions and/or devices as required. Currently these patches only work on devices where we can get the decoded YUV data in main memory (MPAPI currently depends on this).  Chris Double is currently working on this. Some contributors are also involved.
Android/B2G ([https://bugzilla.mozilla.org/show_bug.cgi?id=714408 bug 714408]). Those patches create an "MPAPI" interface into which various codec libraries can be plugged. These libraries will be wrappers around libstagefright or other Android system codec interfaces --- different libraries customized for different Android versions and/or devices as required. Currently these patches only work on devices where we can get the decoded YUV data in main memory (MPAPI currently depends on this).  Chris Double is currently working on this. Some contributors are also involved.
Line 60: Line 58:
backends rather than wrap them in some other abstraction such as MPAPI, but
backends rather than wrap them in some other abstraction such as MPAPI, but
this may be revisited.
this may be revisited.
}}
}}
{{FeatureInfo
{{FeatureInfo
Confirmed users
654

edits