blob: f39e778058116e5385f651c00ae9710c08aa1720 [file] [log] [blame]
# Copyright 2020 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.
import("//testing/test.gni")
source_set("receiver_session_public") {
deps = [
"//base",
"//mojo/public/cpp/system",
]
public_deps = [
"//components/cast_streaming/public/mojom",
"//third_party/openscreen/src/cast/streaming:receiver",
]
visibility = [ ":*" ]
sources = [ "public/receiver_session.h" ]
}
# MessagePort cannot be used on Windows due to intersection of its PostMessage
# method with a macro of the same name, so hide the targets that use it and all
# that depend on it behind a platform check.
if (!is_win) {
# TODO(crbug.com/1207718): Remove cast_message_port_impl code from this
# component and replace with a more general interface.
# TODO(crbug.com/1208195): Move code to correct place with respect to the
# /public folder to only expose publicly needed headers.
source_set("core") {
deps = [
"//base",
"//media",
]
public_deps = [
"//components/cast/message_port",
"//third_party/openscreen/src/cast/common:public",
"//third_party/openscreen/src/cast/streaming:common",
]
visibility = [ ":*" ]
sources = [
"cast_message_port_impl.cc",
"cast_message_port_impl.h",
"message_serialization.cc",
"message_serialization.h",
]
}
source_set("receiver_session") {
deps = [
":core",
":demuxer_stream_data_provider",
":network_context",
":receiver_session_public",
":streaming_initialization_info",
":streaming_session",
"//base",
"//media",
"//media/mojo/common",
"//media/mojo/mojom",
"//mojo/public/cpp/system",
]
public_deps = [
"//components/cast_streaming/public/mojom",
"//third_party/openscreen/src/cast/streaming:receiver",
]
visibility = [ ":*" ]
sources = [
"receiver_session_impl.cc",
"receiver_session_impl.h",
]
}
source_set("streaming_session") {
deps = [
":core",
":demuxer_stream_data_provider",
":receiver_session_public",
":renderer_controls",
":streaming_initialization_info",
"//base",
"//components/cast_streaming/public",
"//components/cast_streaming/public:config_conversions",
"//components/cast_streaming/public/mojom",
"//components/openscreen_platform",
"//media",
"//media/mojo/common",
"//media/mojo/mojom",
"//mojo/public/cpp/system",
"//third_party/openscreen/src/cast/common:public",
"//third_party/openscreen/src/cast/streaming:receiver",
]
public_deps = [ "//components/cast/message_port" ]
visibility = [ ":*" ]
sources = [
"cast_streaming_session.cc",
"cast_streaming_session.h",
"renderer_controller_config.cc",
"renderer_controller_config.h",
"stream_consumer.cc",
"stream_consumer.h",
]
}
# TODO(crbug.com/1207715): Move to /tests directory.
source_set("test_sender") {
testonly = true
deps = [
":core",
":streaming_initialization_info",
"//components/cast_streaming/public",
"//components/cast_streaming/public:config_conversions",
"//media/mojo/common",
"//media/mojo/mojom",
"//mojo/public/cpp/system",
"//third_party/openscreen/src/platform:api",
]
public_deps = [
"//base",
"//components/openscreen_platform",
"//media",
"//third_party/openscreen/src/cast/common:public",
"//third_party/openscreen/src/cast/streaming:sender",
]
sources = [
"test/cast_message_port_sender_impl.cc",
"test/cast_message_port_sender_impl.h",
"test/cast_streaming_test_sender.cc",
"test/cast_streaming_test_sender.h",
]
}
# TODO(crbug.com/1207715): Move to /tests directory.
source_set("test_receiver") {
testonly = true
deps = [
":streaming_session",
"//base",
"//components/cast_streaming/public",
"//components/cast_streaming/public:config_conversions",
"//components/openscreen_platform",
"//media",
"//media/mojo/common",
"//mojo/public/cpp/system",
"//third_party/openscreen/src/cast/common:public",
"//third_party/openscreen/src/cast/streaming:receiver",
"//third_party/openscreen/src/platform:api",
]
visibility = [ ":*" ]
sources = [
"test/cast_streaming_test_receiver.cc",
"test/cast_streaming_test_receiver.h",
]
}
# TODO(crbug.com/1207715): Move to /tests directory.
test("e2e_tests") {
deps = [
":core",
":streaming_session",
":test_receiver",
":test_sender",
"//base/test:test_support",
"//components/openscreen_platform:openscreen_platform_net",
"//media",
"//mojo/core/embedder",
"//testing/gtest",
"//third_party/openscreen/src/platform:api",
]
sources = [
"cast_streaming_session_unittest.cc",
"test/run_all_unittests.cc",
]
}
}
source_set("demuxer_stream_data_provider") {
deps = [
":demuxer_stream_client",
"//base",
"//components/cast_streaming/public/mojom",
"//media",
"//media/mojo/common",
"//media/mojo/mojom",
"//mojo/public/cpp/system",
]
visibility = [ ":*" ]
sources = [ "demuxer_stream_data_provider.h" ]
}
source_set("network_context") {
public = [ "public/network_context_getter.h" ]
deps = [
"//base",
"//components/openscreen_platform:openscreen_platform_network_service",
]
visibility = [ ":*" ]
sources = [ "network_context_getter.cc" ]
}
source_set("streaming_initialization_info") {
public_deps = [
":demuxer_stream_client",
"//media",
"//third_party/openscreen/src/cast/streaming:receiver",
]
visibility = [ ":*" ]
sources = [
"streaming_initialization_info.cc",
"streaming_initialization_info.h",
]
}
source_set("demuxer_stream_client") {
visibility = [ ":*" ]
sources = [ "demuxer_stream_client.h" ]
public_deps = [ "//base" ]
}
source_set("renderer_controls") {
public_deps = [
":demuxer_stream_client",
":streaming_initialization_info",
"//base",
"//components/cast_streaming/public:remoting_utils",
"//components/cast_streaming/public/mojom",
"//media",
"//media/mojo/common",
"//media/mojo/mojom",
"//mojo/public/cpp/system",
"//third_party/openscreen/src/cast/streaming:receiver",
]
visibility = [ ":*" ]
sources = [
"playback_command_dispatcher.cc",
"playback_command_dispatcher.h",
"remoting_session_client.h",
"renderer_control_multiplexer.cc",
"renderer_control_multiplexer.h",
"renderer_rpc_call_translator.cc",
"renderer_rpc_call_translator.h",
"rpc_demuxer_stream_handler.cc",
"rpc_demuxer_stream_handler.h",
"rpc_initialization_call_handler_base.cc",
"rpc_initialization_call_handler_base.h",
]
}
source_set("browser") {
public_deps = [
":network_context",
":receiver_session_public",
]
if (!is_win) {
deps = [ ":receiver_session" ]
}
}
# TODO(crbug.com/1207721): Add more unit tests for code in this directory.
source_set("unit_tests") {
testonly = true
deps = [
":browser",
":demuxer_stream_client",
":demuxer_stream_data_provider",
":renderer_controls",
"//base",
"//base/test:test_support",
"//components/cast_streaming/public:remoting_utils",
"//media",
"//testing/gtest",
]
sources = [
"demuxer_stream_data_provider_unittest.cc",
"rpc_demuxer_stream_handler_unittests.cc",
]
if (!is_win) {
deps += [
":core",
"//components/cast/message_port:test_message_port_receiver",
]
sources += [ "cast_message_port_impl_unittest.cc" ]
}
}