// 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);
};
