# Copyright 2014 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("//build/config/features.gni") import("//media/cdm/library_cdm/cdm_paths.gni") import("//media/media_options.gni") loadable_module("clear_key_cdm") { output_dir = "$root_out_dir/$clearkey_cdm_path" output_name = "clearkeycdm" sources = [ "cdm_file_adapter.cc", "cdm_file_adapter.h", "cdm_file_io_test.cc", "cdm_file_io_test.h", "cdm_proxy_test.cc", "cdm_proxy_test.h", "cdm_video_decoder.cc", "cdm_video_decoder.h", "clear_key_cdm.cc", "clear_key_cdm.h", "clear_key_persistent_session_cdm.cc", "clear_key_persistent_session_cdm.h", ] # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] defines = [ "CDM_IMPLEMENTATION" ] deps = [ ":cdm_proxy_common", "//base", "//build/config:exe_and_shlib_deps", "//media", # For media::AudioTimestampHelper "//media:shared_memory_support", # For media::AudioBus. "//media/cdm:cdm_api", # For content_decryption_module.h "//media/cdm/library_cdm:cdm_host_proxy", "//url", ] if (media_use_ffmpeg) { sources += [ "ffmpeg_cdm_audio_decoder.cc", "ffmpeg_cdm_audio_decoder.h", "ffmpeg_cdm_video_decoder.cc", "ffmpeg_cdm_video_decoder.h", ] defines += [ "CLEAR_KEY_CDM_USE_FFMPEG_DECODER" ] deps += [ "//third_party/ffmpeg" ] } if (media_use_libvpx) { sources += [ "libvpx_cdm_video_decoder.cc", "libvpx_cdm_video_decoder.h", ] defines += [ "CLEAR_KEY_CDM_USE_LIBVPX_DECODER" ] deps += [ "//third_party/libvpx" ] } } source_set("clear_key_cdm_proxy") { sources = [ "clear_key_cdm_proxy.cc", "clear_key_cdm_proxy.h", ] deps = [ ":cdm_proxy_common", "//base", "//media", ] } source_set("cdm_proxy_common") { sources = [ "cdm_proxy_common.h", ] }