OLD | NEW |
| (Empty) |
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. | |
4 | |
5 { | |
6 'variables': { | |
7 'conditions': [ | |
8 ['OS == "android" or OS == "ios"', { | |
9 # Android and iOS don't use ffmpeg. | |
10 'use_ffmpeg%': 0, | |
11 }, { # 'OS != "android" and OS != "ios"' | |
12 'use_ffmpeg%': 1, | |
13 }], | |
14 ], | |
15 # Set |use_fake_video_decoder| to 1 to ignore input frames in |clearkeycdm|, | |
16 # and produce video frames filled with a solid color instead. | |
17 'use_fake_video_decoder%': 0, | |
18 # Set |use_libvpx| to 1 to use libvpx for VP8 decoding in |clearkeycdm|. | |
19 'use_libvpx%': 0, | |
20 }, | |
21 'targets': [ | |
22 { | |
23 'target_name': 'clearkeycdm', | |
24 'type': 'none', | |
25 # TODO(tomfinegan): Simplify this by unconditionally including all the | |
26 # decoders, and changing clearkeycdm to select which decoder to use | |
27 # based on environment variables. | |
28 'conditions': [ | |
29 ['use_fake_video_decoder == 1' , { | |
30 'defines': ['CLEAR_KEY_CDM_USE_FAKE_VIDEO_DECODER'], | |
31 'sources': [ | |
32 'crypto/ppapi/fake_cdm_video_decoder.cc', | |
33 'crypto/ppapi/fake_cdm_video_decoder.h', | |
34 ], | |
35 }], | |
36 ['use_ffmpeg == 1' , { | |
37 'defines': ['CLEAR_KEY_CDM_USE_FFMPEG_DECODER'], | |
38 'dependencies': [ | |
39 '<(DEPTH)/third_party/ffmpeg/ffmpeg.gyp:ffmpeg', | |
40 ], | |
41 'sources': [ | |
42 'crypto/ppapi/ffmpeg_cdm_audio_decoder.cc', | |
43 'crypto/ppapi/ffmpeg_cdm_audio_decoder.h', | |
44 ], | |
45 }], | |
46 ['use_ffmpeg == 1 and use_fake_video_decoder == 0' , { | |
47 'sources': [ | |
48 'crypto/ppapi/ffmpeg_cdm_video_decoder.cc', | |
49 'crypto/ppapi/ffmpeg_cdm_video_decoder.h', | |
50 ], | |
51 }], | |
52 ['use_libvpx == 1 and use_fake_video_decoder == 0' , { | |
53 'defines': ['CLEAR_KEY_CDM_USE_LIBVPX_DECODER'], | |
54 'dependencies': [ | |
55 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx', | |
56 ], | |
57 'sources': [ | |
58 'crypto/ppapi/libvpx_cdm_video_decoder.cc', | |
59 'crypto/ppapi/libvpx_cdm_video_decoder.h', | |
60 ], | |
61 }], | |
62 ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', { | |
63 'type': 'loadable_module', # Must be in PRODUCT_DIR for ASAN bots. | |
64 }], | |
65 ['(OS == "mac" or OS == "win") and enable_pepper_cdms==1', { | |
66 'type': 'shared_library', | |
67 }], | |
68 ['OS == "mac"', { | |
69 'xcode_settings': { | |
70 'DYLIB_INSTALL_NAME_BASE': '@loader_path', | |
71 }, | |
72 }] | |
73 ], | |
74 'defines': ['CDM_IMPLEMENTATION'], | |
75 'dependencies': [ | |
76 '<(DEPTH)/base/base.gyp:base', | |
77 '<(DEPTH)/media/media.gyp:media', | |
78 # Include the following for media::AudioBus. | |
79 '<(DEPTH)/media/media.gyp:shared_memory_support', | |
80 ], | |
81 'sources': [ | |
82 'crypto/ppapi/cdm_video_decoder.cc', | |
83 'crypto/ppapi/cdm_video_decoder.h', | |
84 'crypto/ppapi/clear_key_cdm.cc', | |
85 'crypto/ppapi/clear_key_cdm.h', | |
86 ], | |
87 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | |
88 'msvs_disabled_warnings': [ 4267, ], | |
89 }, | |
90 { | |
91 'target_name': 'clearkeycdmadapter', | |
92 'type': 'none', | |
93 # Check whether the plugin's origin URL is valid. | |
94 'defines': ['CHECK_DOCUMENT_URL'], | |
95 'dependencies': [ | |
96 '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp', | |
97 'clearkeycdm', | |
98 ], | |
99 'sources': [ | |
100 'crypto/ppapi/cdm_wrapper.cc', | |
101 'crypto/ppapi/cdm/content_decryption_module.h', | |
102 'crypto/ppapi/linked_ptr.h', | |
103 ], | |
104 'conditions': [ | |
105 ['os_posix == 1 and OS != "mac" and enable_pepper_cdms==1', { | |
106 'cflags': ['-fvisibility=hidden'], | |
107 'type': 'loadable_module', | |
108 # Allow the plugin wrapper to find the CDM in the same directory. | |
109 'ldflags': ['-Wl,-rpath=\$$ORIGIN'], | |
110 'libraries': [ | |
111 # Built by clearkeycdm. | |
112 '<(PRODUCT_DIR)/libclearkeycdm.so', | |
113 ], | |
114 }], | |
115 ['OS == "win" and enable_pepper_cdms==1', { | |
116 'type': 'shared_library', | |
117 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | |
118 'msvs_disabled_warnings': [ 4267, ], | |
119 }], | |
120 ['OS == "mac" and enable_pepper_cdms==1', { | |
121 'type': 'loadable_module', | |
122 'product_extension': 'plugin', | |
123 'xcode_settings': { | |
124 'OTHER_LDFLAGS': [ | |
125 # Not to strip important symbols by -Wl,-dead_strip. | |
126 '-Wl,-exported_symbol,_PPP_GetInterface', | |
127 '-Wl,-exported_symbol,_PPP_InitializeModule', | |
128 '-Wl,-exported_symbol,_PPP_ShutdownModule' | |
129 ], | |
130 'DYLIB_INSTALL_NAME_BASE': '@loader_path', | |
131 }, | |
132 }], | |
133 ], | |
134 } | |
135 ], | |
136 } | |
OLD | NEW |