# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/fidl/fidl.gni")

fidl("fuchsia.media") {
  sdk_category = "partner"

  sources = [
    "audio.fidl",
    "audio_capturer.fidl",
    "audio_core.fidl",
    "audio_device_enumerator.fidl",
    "audio_renderer.fidl",
    "metadata.fidl",
    "stream.fidl",
    "stream_common.fidl",
    "stream_processor.fidl",
    "stream_type.fidl",
    "timeline_function.fidl",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.images",
    "//sdk/fidl/fuchsia.media.audio",
    "//zircon/public/fidl/fuchsia-sysmem",
  ]
}
