chromium/media/cast/openscreen/BUILD.gn

# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

visibility = [
  ":*",
  "//components/cast_streaming/*",
  "//components/mirroring/service/*",
  "//media/remoting/*",
]

source_set("config_conversions") {
  public = [ "config_conversions.h" ]
  sources = [ "config_conversions.cc" ]
  public_deps = [
    "//media",
    "//third_party/openscreen/src/cast/streaming:streaming_configs",
  ]
  deps = [
    "//base",
    "//ui/gfx/geometry",
  ]
}

source_set("decoder_buffer_reader") {
  public = [ "decoder_buffer_reader.h" ]
  sources = [ "decoder_buffer_reader.cc" ]
  public_deps = [
    "//base",
    "//media/mojo/mojom",
    "//mojo/public/cpp/system",
  ]
  deps = [
    "//media",
    "//media/mojo/common",
    "//mojo/public/cpp/system",
  ]
}

source_set("remoting_utils") {
  public = [
    "remoting_message_factories.h",
    "remoting_proto_enum_utils.h",
    "remoting_proto_utils.h",
    "rpc_call_message_handler.h",
  ]
  sources = [
    "remoting_message_factories.cc",
    "remoting_proto_enum_utils.cc",
    "remoting_proto_utils.cc",
    "rpc_call_message_handler.cc",
  ]
  public_configs =
      [ "//third_party/openscreen/src/build_overrides:openscreen_include_dirs" ]
  public_deps = [
    "//base",
    "//media",
    "//third_party/openscreen/src/cast/streaming:common",
    "//third_party/openscreen/src/cast/streaming:remoting_proto",
  ]
  deps = [ "//components/openscreen_platform" ]
}

source_set("unit_tests") {
  visibility += [ "*" ]
  testonly = true
  public = []
  sources = [
    "config_conversions_unittest.cc",
    "decoder_buffer_reader_unittest.cc",
    "remoting_message_factories_unittest.cc",
    "remoting_proto_utils_unittest.cc",
    "rpc_call_message_handler_unittest.cc",
  ]
  deps = [
    ":config_conversions",
    ":decoder_buffer_reader",
    ":remoting_utils",
    "//base/test:test_support",
    "//media",
    "//media:test_support",
    "//media/mojo/common",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/openscreen/src/cast/streaming:remoting_proto",
    "//third_party/openscreen/src/cast/streaming:streaming_configs",
    "//ui/gfx/geometry",
  ]
}