// Copyright 2015 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/audio_decoder.mojom"; import "media/mojo/interfaces/content_decryption_module.mojom"; import "media/mojo/interfaces/renderer.mojom"; import "media/mojo/interfaces/video_decoder.mojom"; // A factory interface to create media services. Renderers can only access // ContentDecryptionModules created in the same factory. interface InterfaceFactory { // Creates an AudioDecoder service. CreateAudioDecoder(AudioDecoder& audio_decoder); // Creates a VideoDecoder service. CreateVideoDecoder(VideoDecoder& video_decoder); // Creates a Renderer service. // Audio stream will be played on device_id, which is defined in // media/audio/audio_device_description.h. If audio_device_id // is empty, kDefaultDeviceId will be used. CreateRenderer(string audio_device_id, Renderer& renderer); // Creates a ContentDecryptionModule service. CreateCdm(ContentDecryptionModule& cdm); };