# Copyright 2019 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/components.gni")
import("//build/rust/rustc_library.gni")

rustc_library("fuchsia-stream-processors") {
  name = "fuchsia_stream_processors"
  version = "0.1.0"
  edition = "2021"
  with_unit_tests = true

  deps = [
    "//sdk/fidl/fuchsia.media:fuchsia.media_rust",
    "//src/lib/fidl_table_validation",
  ]

  sources = [
    "src/lib.rs",
    "src/types.rs",
  ]
}

fuchsia_unittest_package("fuchsia-stream-processors-tests") {
  deps = [ ":fuchsia-stream-processors_test" ]
}
