mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-17 14:25:49 +00:00
![Jamie Nicol](/assets/img/avatar_default.png)
On Android we use SurfaceTextures and Surfaces to render video and webgl. These are allocated by content processes using the SurfaceAllocator, which connects to a SurfaceAllocatorService running in the parent process. The content process renders in to the Surface (by attaching it to a media codec, or creating a GL context with it for webgl), and the compositor renders the output SurfaceTexture in the parent process. With the GPU process this poses a difficulty, as we need to allocate SurfaceTextures in either the parent process or GPU process, depending on whether the GPU process is enabled. Additionally, we don't want to run extra android Services in child processes such as the GPU process, as process management is tricky and we want to contain it to a single place. This patch makes it so that SurfaceAllocatorService is not really an android Service any more, just an singleton object which implements the ISurfaceAllocator interface. It is renamed to RemoteSurfaceAllocator to reflect that. A new method getProcessManager() is added to the IProcessManager interface, which child processes can use to fetch the surface allocator. It returns either the parent process instance, or fetches the instance from the GPU process using IChildProcess.getSurfaceAllocator(). Differential Revision: https://phabricator.services.mozilla.com/D133107
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
An explanation of the Firefox Source Code Directory Structure and links to project pages with documentation can be found at: https://firefox-source-docs.mozilla.org/contributing/directory_structure.html For information on how to build Firefox from the source code and create the patch see: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html If you have a question about developing Firefox, and can't find the solution on https://firefox-source-docs.mozilla.org/, you can try asking your question on Matrix at chat.mozilla.org in `Introduction` (https://chat.mozilla.org/#/room/#introduction:mozilla.org) channel. Nightly development builds can be downloaded from: https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/ - or - https://www.mozilla.org/firefox/channel/desktop/#nightly Keep in mind that nightly builds, which are used by Firefox developers for testing, may be buggy.
Description
Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Languages
JavaScript
32.3%
C++
25.4%
HTML
21%
C
10.8%
Python
2.8%
Other
7.2%