| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module media.mojom; |
| |
| import "media/mojo/mojom/frame_interface_factory.mojom"; |
| import "media/mojo/mojom/interface_factory.mojom"; |
| import "sandbox/policy/mojom/sandbox.mojom"; |
| |
| // Determined in BUILD.gn from //media/media_options.gni. |
| [EnableIf=mojo_media_in_browser] |
| const sandbox.mojom.Sandbox kMediaSandbox = sandbox.mojom.Sandbox.kNoSandbox; |
| [EnableIf=mojo_media_in_gpu] |
| const sandbox.mojom.Sandbox kMediaSandbox = sandbox.mojom.Sandbox.kGpu; |
| // This placeholder is required to allow compilation. |
| [EnableIf=mojo_media_service_unused] |
| const sandbox.mojom.Sandbox kMediaSandbox = sandbox.mojom.Sandbox.kService; |
| |
| // A service to provide media InterfaceFactory, typically to the media pipeline |
| // running in the renderer process. The service itself runs in the process |
| // specified by the |mojo_media_host| gn build flag. The service is always |
| // connected from the browser process. |
| [ServiceSandbox=kMediaSandbox] |
| interface MediaService { |
| // Requests an InterfaceFactory. |frame_interfaces| can optionally be used to |
| // provide interfaces hosted by the caller to the remote InterfaceFactory |
| // implementation. |
| CreateInterfaceFactory( |
| pending_receiver<InterfaceFactory> factory, |
| pending_remote<FrameInterfaceFactory> frame_interfaces); |
| }; |