1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//build/config/features.gni")
6 import("//chrome/version.gni") # TODO layering violation!
7 import("//media/cdm/ppapi/cdm_adapter.gni")
9 # Android doesn't use ffmpeg.
10 use_ffmpeg = !is_android
12 # The GYP version supports build flags "use_fake_video_decoder" and
13 # "use_vpx". These should be added here if necessary but its not clear if
14 # they are required any more.
15 shared_library("clearkeycdm") {
17 "cdm_file_io_test.cc",
19 "external_clear_key/cdm_video_decoder.cc",
20 "external_clear_key/cdm_video_decoder.h",
21 "external_clear_key/clear_key_cdm.cc",
22 "external_clear_key/clear_key_cdm.h",
23 "external_clear_key/clear_key_cdm_common.h",
26 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
27 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
29 defines = [ "CDM_IMPLEMENTATION" ]
33 "//build/config/sanitizers:deps",
34 "//media", # For media::AudioTimestampHelper
35 "//media:shared_memory_support", # For media::AudioBus.
41 "external_clear_key/ffmpeg_cdm_audio_decoder.cc",
42 "external_clear_key/ffmpeg_cdm_audio_decoder.h",
43 "external_clear_key/ffmpeg_cdm_video_decoder.cc",
44 "external_clear_key/ffmpeg_cdm_video_decoder.h",
46 defines += [ "CLEAR_KEY_CDM_USE_FFMPEG_DECODER" ]
47 deps += [ "//third_party/ffmpeg" ]
50 # TODO(GYP) on Mac: 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
53 process_version("clearkeycdmadapter_resources") {
55 template_file = chrome_version_rc_template
57 "//media/clearkeycdmadapter.ver",
58 "external_clear_key/BRANDING",
60 output = "$target_gen_dir/clearkeycdmadapter_version.rc"
63 cdm_adapter("clearkeycdmadapter") {
64 # Check whether the plugin's origin URL is valid.
65 defines = [ "CHECK_DOCUMENT_URL" ]
68 ":clearkeycdmadapter_resources",