1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
media / mojo / mojom / media_service.mojom [blame]
// Copyright 2016 The Chromium Authors
// 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);
};