blob: a6a4378f7f79f6101946fa9be64eb3e189e830ed [file] [log] [blame]
# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//media/media_options.gni")
source_set("cdm_api") {
sources = [ "api/content_decryption_module.h" ]
}
source_set("cdm_type_conversion") {
if (enable_library_cdms || is_win) {
# This target is a subcomponent.
visibility = [
":*",
"//media",
]
configs += [ "//media:subcomponent_config" ]
} else {
visibility = [ "//media/cdm/library_cdm/clear_key_cdm:clear_key_cdm" ]
}
sources = [
"cdm_type_conversion.cc",
"cdm_type_conversion.h",
]
deps = [
":cdm_api",
"//media/base",
]
}
source_set("cdm") {
# Do not expand the visibility here without double-checking with OWNERS, this
# is a roll-up target which is part of the //media component. Most other DEPs
# should be using //media and not directly DEP this roll-up target.
visibility = [
"//media",
# TODO(crbug.com/583067): These files should not be in //media/base.
"//media/base/android",
"//media/filters",
]
sources = [
"aes_cbc_crypto.cc",
"aes_cbc_crypto.h",
"aes_decryptor.cc",
"aes_decryptor.h",
"cbcs_decryptor.cc",
"cbcs_decryptor.h",
"cdm_capability.cc",
"cdm_capability.h",
"cdm_context_ref_impl.cc",
"cdm_context_ref_impl.h",
"cenc_decryptor.cc",
"cenc_decryptor.h",
"cenc_utils.cc",
"cenc_utils.h",
"default_cdm_factory.cc",
"default_cdm_factory.h",
"json_web_key.cc",
"json_web_key.h",
"supported_audio_codecs.cc",
"supported_audio_codecs.h",
]
public_deps = [
":cdm_type",
":clear_key_cdm_common",
]
deps = [
"//crypto",
"//media/base",
"//media/formats",
"//third_party/boringssl",
"//ui/gfx/geometry",
"//url",
]
configs += [ "//media:subcomponent_config" ]
if (enable_library_cdms) {
deps += [
":cdm_api",
":cdm_paths",
]
sources += [
"cdm_adapter.cc",
"cdm_adapter.h",
"cdm_adapter_factory.cc",
"cdm_adapter_factory.h",
"cdm_module.cc",
"cdm_module.h",
"cdm_wrapper.h",
"output_protection.h",
"supported_cdm_versions.cc",
"supported_cdm_versions.h",
]
if (enable_cdm_host_verification) {
sources += [
"cdm_host_file.cc",
"cdm_host_file.h",
"cdm_host_files.cc",
"cdm_host_files.h",
]
}
}
if (is_win || enable_library_cdms) {
sources += [
"cdm_allocator.cc",
"cdm_allocator.h",
"cdm_auxiliary_helper.cc",
"cdm_auxiliary_helper.h",
"cdm_document_service.h",
"cdm_helpers.cc",
"cdm_helpers.h",
"load_cdm_uma_helper.cc",
"load_cdm_uma_helper.h",
]
deps += [
":cdm_api",
":cdm_type_conversion",
]
public_deps += [ "//components/crash/core/common:crash_key" ]
}
if (is_win) {
sources += [
"media_foundation_cdm_data.cc",
"media_foundation_cdm_data.h",
"win/media_foundation_cdm.cc",
"win/media_foundation_cdm.h",
"win/media_foundation_cdm_factory.cc",
"win/media_foundation_cdm_factory.h",
"win/media_foundation_cdm_module.cc",
"win/media_foundation_cdm_module.h",
"win/media_foundation_cdm_session.cc",
"win/media_foundation_cdm_session.h",
"win/media_foundation_cdm_util.cc",
"win/media_foundation_cdm_util.h",
]
libs = [ "Propsys.lib" ]
deps += [
":cdm_paths",
"//media/base/win:media_foundation_util",
]
}
if (is_fuchsia) {
sources += [
"fuchsia/fuchsia_cdm.cc",
"fuchsia/fuchsia_cdm.h",
"fuchsia/fuchsia_cdm_context.h",
"fuchsia/fuchsia_cdm_factory.cc",
"fuchsia/fuchsia_cdm_factory.h",
"fuchsia/fuchsia_cdm_provider.h",
"fuchsia/fuchsia_decryptor.cc",
"fuchsia/fuchsia_decryptor.h",
"fuchsia/fuchsia_stream_decryptor.cc",
"fuchsia/fuchsia_stream_decryptor.h",
]
public_deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.media.drm:fuchsia.media.drm_hlcpp" ]
deps += [ "//media/fuchsia/common" ]
}
}
if (enable_library_cdms) {
static_library("cdm_paths") {
public = [ "cdm_paths.h" ]
sources = [ "cdm_paths.cc" ]
deps = [
"//base",
"//media:media_buildflags",
]
}
}
source_set("cdm_type") {
sources = [ "cdm_type.h" ]
deps = [ "//base" ]
}
source_set("clear_key_cdm_common") {
sources = [ "clear_key_cdm_common.h" ]
public_deps = [ ":cdm_type" ]
deps = [ "//media:media_buildflags" ]
}
source_set("unit_tests") {
testonly = true
sources = [
"aes_cbc_crypto_unittest.cc",
"aes_decryptor_unittest.cc",
"cbcs_decryptor_unittest.cc",
"cenc_decryptor_unittest.cc",
"json_web_key_unittest.cc",
]
deps = [
"//base/test:test_support",
"//build:chromeos_buildflags",
"//crypto",
"//media:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/boringssl",
"//ui/gfx:test_support",
"//url",
]
configs += [ "//media:media_config" ]
data_deps = []
if (enable_library_cdms) {
sources += [
"cdm_adapter_unittest.cc",
"cdm_paths_unittest.cc",
"external_clear_key_test_helper.cc",
"external_clear_key_test_helper.h",
"mock_helpers.cc",
"mock_helpers.h",
"simple_cdm_allocator.cc",
"simple_cdm_allocator.h",
"simple_cdm_allocator_unittest.cc",
"simple_cdm_buffer.cc",
"simple_cdm_buffer.h",
]
data_deps += [ "//media/cdm/library_cdm/clear_key_cdm" ]
deps += [
":cdm_api",
":cdm_paths",
"//media/cdm/library_cdm:cdm_host_proxy",
"//media/cdm/library_cdm:test_support",
]
}
if (proprietary_codecs) {
sources += [ "cenc_utils_unittest.cc" ]
}
if (is_win) {
sources += [
"win/media_foundation_cdm_factory_unittest.cc",
"win/media_foundation_cdm_session_unittest.cc",
"win/media_foundation_cdm_unittest.cc",
]
}
}