# 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.

group("services") {
  testonly = true
  deps = [
    "//src/media/codec/bundles:codec_factory",
    "//src/media/codec/bundles:codec_sw_aac",
    "//src/media/codec/bundles:codec_sw_ffmpeg",
    "//src/media/codec/bundles:codec_sw_sbc",
  ]
}

group("tools") {
  testonly = true
  deps = []
}

group("examples") {
  testonly = true
  deps = []
}

group("config") {
  testonly = true
  deps = []
}

# The targets below are provided, because some configurations may not need all runners.
# In that case, the configuration should include :codec_factory and the desired runners.
# Configurations that require all the runners can use :services.

group("codec_factory") {
  public_deps = [ "//src/media/codec:codec_factory" ]
}

group("codec_sw_aac") {
  public_deps = [ "//src/media/codec:codec_runner_sw_aac" ]
}

group("codec_sw_sbc") {
  public_deps = [ "//src/media/codec:codec_runner_sw_sbc" ]
}

group("codec_sw_ffmpeg") {
  public_deps = [ "//src/media/codec:codec_runner_sw_ffmpeg" ]
}
