Support hosting media mojo interfaces in different processes |
|||
Issue descriptionThe current structure make it impossible to support hosting different media services in different processes. For example, on desktop we may want to host a video decoder service in the GPU process, but host a CDM service in a utility process. For another example, on Android, we want to host the audio decoder and CDM service in the GPU process, but host a Renderer service in the browser process. This issue will track the design and implementation to solve this.
,
Jul 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1 commit bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1 Author: Xiaohan Wang <xhwang@chromium.org> Date: Fri Jul 14 23:55:16 2017 media: Support hosting mojo CDM in a standalone service Currently when mojo CDM is enabled it is hosted in the MediaService running in the process specified by "mojo_media_host". However, on some platforms we need to run mojo CDM and other mojo media services in different processes. For example, on desktop platforms, we want to run mojo video decoder in the GPU process, but run the mojo CDM in the utility process. This CL adds a new build flag "enable_standalone_cdm_service". When enabled, the mojo CDM service will be hosted in a standalone "cdm" service running in the utility process. All other mojo media services will sill be hosted in the "media" servie running in the process specified by "mojo_media_host". BUG= 664364 TEST=Encrypted media browser tests using mojo CDM is still working. Change-Id: I95be6e05adc9ebcff966b26958ef1d7becdfb487 Reviewed-on: https://chromium-review.googlesource.com/567172 Commit-Queue: Xiaohan Wang <xhwang@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Dan Sanders <sandersd@chromium.org> Cr-Commit-Position: refs/heads/master@{#486947} [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/content/browser/media/media_interface_proxy.cc [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/content/browser/media/media_interface_proxy.h [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/content/browser/service_manager/service_manager_context.cc [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/content/common/service_manager/service_manager_connection_impl.cc [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/content/public/app/BUILD.gn [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/content/public/app/mojo/content_browser_manifest.json [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/content/utility/utility_service_factory.cc [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/media/media_options.gni [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/media/mojo/BUILD.gn [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/media/mojo/interfaces/constants.mojom [modify] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/media/mojo/services/BUILD.gn [add] https://crrev.com/bc1f34b9be509f1404f0bb1ba1947614d5f0bcd1/media/mojo/services/cdm_manifest.json
,
Aug 17 2017
,
Sep 19 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by bugdroid1@chromium.org
, Dec 3 2016