// 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/interfaces/interface_factory.mojom"; import "mojo/common/file_path.mojom"; import "services/service_manager/public/interfaces/interface_provider.mojom"; // 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, or in the utility process // when this service runs as an standalone CDM service (see gn build flag // |enable_standalone_cdm_service| for details). The service is always connected // from the browser process. // TODO(crbug.com/771791): Separate CdmService from MediaService. interface MediaService { // Loads the CDM at |cdm_path| into the process. // Since the client will not know whether LoadCdm() has been called by a // previous MediaService instance, the client should always call it after // interface connection. If the CDM is already loaded, this will be a no-op. LoadCdm(mojo.common.mojom.FilePath cdm_path); // Requests an InterfaceFactory. |host_interfaces| can optionally be used to // provide interfaces hosted by the caller to the remote InterfaceFactory // implementation. CreateInterfaceFactory( InterfaceFactory& factory, service_manager.mojom.InterfaceProvider? host_interfaces); };