blob: 23fa08e037d3dff672d5e5edbdb68a5fcba1d26d [file] [log] [blame]
# Copyright 2021 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")
# Public target on which all external code requiring a resource_provider
# implementation should depend.
source_set("renderer") {
public_deps = [
":resource_provider",
":resource_provider_factory",
]
}
# Public target used by the //content code to inject the Renderer used for
# cast_streaming operations. This target is included in ALL chromium builds
# using the Chromium media pipeline, so be careful when adding new dependencies
# here.
source_set("wrapping_renderer_factory_selector") {
public = [ "public/wrapping_renderer_factory_selector.h" ]
sources = [ "wrapping_renderer_factory_selector.cc" ]
public_deps = [ "//media" ]
deps = [
":playback_command_forwarding_renderer",
":resource_provider",
"//base",
]
}
# This target is a dependency of :wrapping_renderer_factory_selector, which is
# included in ALL chromium builds using the Chromium media pipeline. Be careful
# when adding new dependencies here.
source_set("resource_provider") {
deps = [
"//base",
"//components/cast_streaming/public/mojom",
"//media",
"//media/mojo/common",
"//mojo/public/cpp/bindings",
]
public = [ "public/resource_provider.h" ]
sources = [ "resource_provider.cc" ]
}
source_set("resource_provider_factory") {
public = [ "public/resource_provider_factory.h" ]
deps = [ ":resource_provider_impl" ]
}
source_set("resource_provider_impl") {
public_deps = [ ":resource_provider" ]
deps = [
":decoder_buffer_reader",
"//base",
"//components/cast_streaming/public",
"//components/cast_streaming/public/mojom",
"//media",
"//media/mojo/common",
"//mojo/public/cpp/bindings",
]
sources = [
"cast_streaming_demuxer.cc",
"cast_streaming_demuxer.h",
"demuxer_connector.cc",
"demuxer_connector.h",
"renderer_controller_proxy.cc",
"renderer_controller_proxy.h",
"resource_provider_impl.cc",
"resource_provider_impl.h",
]
visibility = [ ":*" ]
}
source_set("decoder_buffer_reader") {
deps = [
"//base",
"//media",
"//media/mojo/common",
"//mojo/public/cpp/bindings",
]
sources = [
"decoder_buffer_reader.cc",
"decoder_buffer_reader.h",
]
visibility = [ ":*" ]
}
# This target is a dependency of :wrapping_renderer_factory_selector, which is
# included in ALL chromium builds using the Chromium media pipeline. Be careful
# when adding new dependencies here.
source_set("playback_command_forwarding_renderer") {
sources = [
"playback_command_forwarding_renderer.cc",
"playback_command_forwarding_renderer.h",
"playback_command_forwarding_renderer_factory.cc",
"playback_command_forwarding_renderer_factory.h",
]
deps = [
"//base",
"//media",
"//media/mojo/mojom",
"//mojo/public/cpp/bindings",
]
visibility = [ ":*" ]
}
source_set("unit_tests") {
testonly = true
sources = [
"decoder_buffer_reader_unittest.cc",
"playback_command_forwarding_renderer_factory_unittest.cc",
"playback_command_forwarding_renderer_unittest.cc",
]
deps = [
":decoder_buffer_reader",
":playback_command_forwarding_renderer",
":renderer",
":resource_provider_impl",
":wrapping_renderer_factory_selector",
"//base/test:test_support",
"//components/cast_streaming/public/mojom",
"//media:test_support",
"//media/mojo:test_support",
"//media/mojo/mojom",
"//mojo/public/cpp/test_support:test_utils",
"//testing/gmock",
"//testing/gtest",
]
}