1 # Copyright 2013 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.
7 'media_variables.gypi',
10 # Set |use_fake_video_decoder| to 1 to ignore input frames in |clearkeycdm|,
11 # and produce video frames filled with a solid color instead.
12 'use_fake_video_decoder%': 0,
13 # Set |use_libvpx_in_clear_key_cdm| to 1 to use libvpx for VP8 decoding in
15 'use_libvpx_in_clear_key_cdm%': 0,
18 ['enable_pepper_cdms==1', {
20 '../build/util/version.gypi',
24 # GN version: //media/cdm/ppapi:clearkeycdm
25 'target_name': 'clearkeycdm',
27 # TODO(tomfinegan): Simplify this by unconditionally including all the
28 # decoders, and changing clearkeycdm to select which decoder to use
29 # based on environment variables.
31 ['use_fake_video_decoder == 1' , {
32 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'],
34 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.cc',
35 'cdm/ppapi/external_clear_key/fake_cdm_video_decoder.h',
38 ['media_use_ffmpeg == 1' , {
39 'defines': ['CLEAR_KEY_CDM_USE_FFMPEG_DECODER'],
41 '<(DEPTH)/third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
44 'cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.cc',
45 'cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.h',
48 ['media_use_ffmpeg == 1 and use_fake_video_decoder == 0' , {
50 'cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.cc',
51 'cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.h',
54 ['use_libvpx_in_clear_key_cdm == 1 and use_fake_video_decoder == 0' , {
55 'defines': ['CLEAR_KEY_CDM_USE_LIBVPX_DECODER'],
57 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
60 'cdm/ppapi/external_clear_key/libvpx_cdm_video_decoder.cc',
61 'cdm/ppapi/external_clear_key/libvpx_cdm_video_decoder.h',
64 ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', {
65 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bot.
67 ['(OS == "mac" or OS == "win") and enable_pepper_cdms==1', {
68 'type': 'shared_library',
72 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
76 'defines': ['CDM_IMPLEMENTATION'],
79 '../url/url.gyp:url_lib',
80 # Include the following for media::AudioBus.
81 'shared_memory_support',
82 '<(DEPTH)/base/base.gyp:base',
85 'cdm/ppapi/cdm_file_io_test.cc',
86 'cdm/ppapi/cdm_file_io_test.h',
87 'cdm/ppapi/external_clear_key/cdm_video_decoder.cc',
88 'cdm/ppapi/external_clear_key/cdm_video_decoder.h',
89 'cdm/ppapi/external_clear_key/clear_key_cdm.cc',
90 'cdm/ppapi/external_clear_key/clear_key_cdm.h',
91 'cdm/ppapi/external_clear_key/clear_key_cdm_common.h',
93 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
94 'msvs_disabled_warnings': [ 4267, ],
97 # GN version: //media/cdm/ppapi:clearkeycdmadapter_resources
98 'target_name': 'clearkeycdmadapter_resources',
102 'branding_path': '../chrome/app/theme/<(branding_path_component)/BRANDING',
103 'template_input_path': '../chrome/app/chrome_version.rc.version',
104 'extra_variable_files_arguments':
105 [ '-f', 'cdm/ppapi/external_clear_key/BRANDING' ],
106 'extra_variable_files': [ 'cdm/ppapi/external_clear_key/BRANDING' ],
109 'clearkeycdmadapter.ver',
112 '../chrome/version_resource_rules.gypi',
116 # GN version: //media/cdm/ppapi:clearkeycdmadapter
117 'target_name': 'clearkeycdmadapter',
119 # Check whether the plugin's origin URL is valid.
120 'defines': ['CHECK_DOCUMENT_URL'],
122 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp',
123 'media_cdm_adapter.gyp:cdmadapter',
125 'clearkeycdmadapter_resources',
128 '<(SHARED_INTERMEDIATE_DIR)/clearkeycdmadapter_version.rc',
131 ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', {
132 # Because clearkeycdm has type 'loadable_module' (see comments),
133 # we must explicitly specify this dependency.
136 # Built by clearkeycdm.
137 '<(PRODUCT_DIR)/libclearkeycdm.so',