// 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 ServiceFactory {
  // Creates an AudioDecoder service.
  CreateAudioDecoder(AudioDecoder& audio_decoder);

  // Creates a VideoDecoder service.
  CreateVideoDecoder(VideoDecoder& video_decoder);

  // Creates a Renderer service.
  CreateRenderer(Renderer& renderer);

  // Creates a ContentDecryptionModule service.
  CreateCdm(ContentDecryptionModule& cdm);
};
