OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/features.gni") | 5 import("//build/config/features.gni") |
6 import("//build/config/ui.gni") | 6 import("//build/config/ui.gni") |
7 import("//content/common/common.gni") | 7 import("//media/gpu/args.gni") |
8 import("//media/media_options.gni") | 8 import("//media/media_options.gni") |
9 import("//mojo/public/tools/bindings/mojom.gni") | 9 import("//testing/test.gni") |
| 10 |
10 if (is_mac) { | 11 if (is_mac) { |
11 import("//build/config/mac/mac_sdk.gni") | 12 import("//build/config/mac/mac_sdk.gni") |
12 } | 13 } |
13 | 14 |
14 if (is_chromeos && current_cpu != "arm") { | 15 if (is_chromeos && current_cpu != "arm") { |
15 action("libva_generate_stubs") { | 16 action("libva_generate_stubs") { |
16 extra_header = "gpu/media/va_stub_header.fragment" | 17 extra_header = "va_stub_header.fragment" |
17 | 18 |
18 script = "../../tools/generate_stubs/generate_stubs.py" | 19 script = "../../tools/generate_stubs/generate_stubs.py" |
19 sources = [ | 20 sources = [ |
20 "gpu/media/va.sigs", | 21 "va.sigs", |
21 ] | 22 ] |
22 inputs = [ | 23 inputs = [ |
23 extra_header, | 24 extra_header, |
24 ] | 25 ] |
25 if (use_x11) { | 26 if (use_x11) { |
26 sources += [ "gpu/media/va_x11.sigs" ] | 27 sources += [ "va_x11.sigs" ] |
27 } | 28 } |
28 if (use_ozone) { | 29 if (use_ozone) { |
29 sources += [ "gpu/media/va_drm.sigs" ] | 30 sources += [ "va_drm.sigs" ] |
30 } | 31 } |
31 stubs_filename_root = "va_stubs" | 32 stubs_filename_root = "va_stubs" |
32 | 33 |
33 outputs = [ | 34 outputs = [ |
34 "$target_gen_dir/gpu/media/$stubs_filename_root.cc", | 35 "$target_gen_dir/$stubs_filename_root.cc", |
35 "$target_gen_dir/gpu/media/$stubs_filename_root.h", | 36 "$target_gen_dir/$stubs_filename_root.h", |
36 ] | 37 ] |
37 args = [ | 38 args = [ |
38 "-i", | 39 "-i", |
39 rebase_path("$target_gen_dir/gpu/media", root_build_dir), | 40 rebase_path("$target_gen_dir", root_build_dir), |
40 "-o", | 41 "-o", |
41 rebase_path("$target_gen_dir/gpu/media", root_build_dir), | 42 rebase_path("$target_gen_dir", root_build_dir), |
42 "-t", | 43 "-t", |
43 "posix_stubs", | 44 "posix_stubs", |
44 "-e", | 45 "-e", |
45 rebase_path(extra_header, root_build_dir), | 46 rebase_path(extra_header, root_build_dir), |
46 "-s", | 47 "-s", |
47 stubs_filename_root, | 48 stubs_filename_root, |
48 "-p", | 49 "-p", |
49 "content/common/gpu/media", | 50 "media/gpu", |
50 ] | 51 ] |
51 | 52 |
52 args += rebase_path(sources, root_build_dir) | 53 args += rebase_path(sources, root_build_dir) |
53 } | 54 } |
54 } | 55 } |
55 | 56 |
56 if (is_chromeos && use_v4lplugin) { | 57 if (is_chromeos && use_v4lplugin) { |
57 action("libv4l2_generate_stubs") { | 58 action("libv4l2_generate_stubs") { |
58 extra_header = "gpu/media/v4l2_stub_header.fragment" | 59 extra_header = "v4l2_stub_header.fragment" |
59 | 60 |
60 script = "../../tools/generate_stubs/generate_stubs.py" | 61 script = "../../tools/generate_stubs/generate_stubs.py" |
61 sources = [ | 62 sources = [ |
62 "gpu/media/v4l2.sig", | 63 "v4l2.sig", |
63 ] | 64 ] |
64 inputs = [ | 65 inputs = [ |
65 extra_header, | 66 extra_header, |
66 ] | 67 ] |
67 stubs_filename_root = "v4l2_stubs" | 68 stubs_filename_root = "v4l2_stubs" |
68 | 69 |
69 outputs = [ | 70 outputs = [ |
70 "$target_gen_dir/gpu/media/$stubs_filename_root.cc", | 71 "$target_gen_dir/$stubs_filename_root.cc", |
71 "$target_gen_dir/gpu/media/$stubs_filename_root.h", | 72 "$target_gen_dir/$stubs_filename_root.h", |
72 ] | 73 ] |
73 args = [ | 74 args = [ |
74 "-i", | 75 "-i", |
75 rebase_path("$target_gen_dir/gpu/media", root_build_dir), | 76 rebase_path("$target_gen_dir", root_build_dir), |
76 "-o", | 77 "-o", |
77 rebase_path("$target_gen_dir/gpu/media", root_build_dir), | 78 rebase_path("$target_gen_dir", root_build_dir), |
78 "-t", | 79 "-t", |
79 "posix_stubs", | 80 "posix_stubs", |
80 "-e", | 81 "-e", |
81 rebase_path(extra_header, root_build_dir), | 82 rebase_path(extra_header, root_build_dir), |
82 "-s", | 83 "-s", |
83 stubs_filename_root, | 84 stubs_filename_root, |
84 "-p", | 85 "-p", |
85 "content/common/gpu/media", | 86 "media/gpu", |
86 ] | 87 ] |
87 | 88 |
88 args += rebase_path(sources, root_build_dir) | 89 args += rebase_path(sources, root_build_dir) |
89 } | 90 } |
90 } | 91 } |
91 | 92 |
92 if (is_mac) { | 93 if (is_mac) { |
93 action("libvt_generate_stubs") { | 94 action("libvt_generate_stubs") { |
94 extra_header = "gpu/media/vt_stubs_header.fragment" | 95 extra_header = "vt_stubs_header.fragment" |
95 | 96 |
96 script = "../../tools/generate_stubs/generate_stubs.py" | 97 script = "../../tools/generate_stubs/generate_stubs.py" |
97 sources = [ | 98 sources = [ |
98 "gpu/media/vt.sig", | 99 "vt.sig", |
99 ] | 100 ] |
100 inputs = [ | 101 inputs = [ |
101 extra_header, | 102 extra_header, |
102 ] | 103 ] |
103 stubs_filename_root = "vt_stubs" | 104 stubs_filename_root = "vt_stubs" |
104 | 105 |
105 outputs = [ | 106 outputs = [ |
106 "$target_gen_dir/gpu/media/$stubs_filename_root.cc", | 107 "$target_gen_dir/$stubs_filename_root.cc", |
107 "$target_gen_dir/gpu/media/$stubs_filename_root.h", | 108 "$target_gen_dir/$stubs_filename_root.h", |
108 ] | 109 ] |
109 args = [ | 110 args = [ |
110 "-i", | 111 "-i", |
111 rebase_path("$target_gen_dir/gpu/media", root_build_dir), | 112 rebase_path("$target_gen_dir", root_build_dir), |
112 "-o", | 113 "-o", |
113 rebase_path("$target_gen_dir/gpu/media", root_build_dir), | 114 rebase_path("$target_gen_dir", root_build_dir), |
114 "-t", | 115 "-t", |
115 "posix_stubs", | 116 "posix_stubs", |
116 "-e", | 117 "-e", |
117 rebase_path(extra_header, root_build_dir), | 118 rebase_path(extra_header, root_build_dir), |
118 "-s", | 119 "-s", |
119 stubs_filename_root, | 120 stubs_filename_root, |
120 "-p", | 121 "-p", |
121 "content/common/gpu/media", | 122 "media/gpu", |
122 ] | 123 ] |
123 | 124 |
124 args += rebase_path(sources, root_build_dir) | 125 args += rebase_path(sources, root_build_dir) |
125 } | 126 } |
126 } | 127 } |
127 | 128 |
128 source_set("common") { | 129 component("gpu") { |
129 # Targets external to content should always link to the public API. | 130 output_name = "media_gpu" |
130 # In addition, targets outside of the content component (shell and tests) | |
131 # must not link to this because it will duplicate the code in the component | |
132 # build. | |
133 visibility = [ "//content/*" ] | |
134 | 131 |
135 sources = rebase_path(content_common_gypi_values.private_common_sources, | 132 # Only GPU service code in the media layer should access //media/gpu. |
136 ".", | 133 visibility = [ "//media/gpu/ipc/service" ] |
137 "//content") | |
138 | 134 |
139 configs += [ | 135 defines = [ "MEDIA_GPU_IMPLEMENTATION" ] |
140 "//content:content_implementation", | 136 |
141 "//build/config:precompiled_headers", | 137 sources = [ |
142 "//build/config/compiler:no_size_t_to_int_warning", | 138 "fake_video_decode_accelerator.cc", |
| 139 "fake_video_decode_accelerator.h", |
| 140 "gpu_video_decode_accelerator_helpers.h", |
| 141 "shared_memory_region.cc", |
| 142 "shared_memory_region.h", |
143 ] | 143 ] |
144 | 144 |
145 public_deps = [ | 145 public_deps = [ |
146 ":mojo_bindings", | 146 "//base", |
147 "//gpu/command_buffer/common", | 147 "//gpu", |
148 "//ipc", | 148 "//media", |
149 "//third_party/WebKit/public:blink_headers", | 149 "//ui/gfx/geometry", |
150 ] | 150 ] |
151 deps = [ | 151 deps = [ |
152 "//base", | 152 "//ui/display/types", |
153 "//base/third_party/dynamic_annotations", | |
154 "//build/util:webkit_version", | |
155 "//cc", | |
156 "//cc/blink", | |
157 "//cc/surfaces", | |
158 "//components/mus/public/interfaces", | |
159 "//components/tracing", | |
160 "//components/tracing:startup_tracing", | |
161 "//device/bluetooth", | |
162 | |
163 # TODO: the dependency on gl_in_process_context should be decoupled from | |
164 # content and moved to android_webview. See crbug.com/365797. | |
165 "//gpu", | |
166 "//gpu/blink", | |
167 "//gpu/command_buffer/client:gl_in_process_context", | |
168 "//gpu/command_buffer/client:gles2_c_lib", | |
169 "//gpu/command_buffer/client:gles2_cmd_helper", | |
170 "//gpu/command_buffer/client:gles2_implementation", | |
171 "//gpu/command_buffer/client:gles2_interface", | |
172 "//gpu/command_buffer/common:gles2_utils", | |
173 "//gpu/command_buffer/service", | |
174 "//gpu/ipc/client", | |
175 "//gpu/ipc/common", | |
176 | |
177 # TODO(markdittmer): This should be removed once content/common/gpu/media | |
178 # is refactored into media/ipc. | |
179 "//gpu/ipc/service", | |
180 "//gpu/skia_bindings", | |
181 "//ipc", | |
182 "//ipc/mojo", | |
183 "//media", | |
184 "//media:shared_memory_support", | |
185 "//media/gpu/ipc/client", | |
186 "//media/gpu/ipc/common", | |
187 "//media/midi", | |
188 "//mojo/common:common_base", | |
189 "//mojo/edk/system", | |
190 "//net", | |
191 "//sandbox", | |
192 "//services/shell", | |
193 "//services/shell/public/cpp", | |
194 "//services/shell/public/interfaces", | |
195 "//services/shell/runner/common", | |
196 "//skia", | |
197 "//storage/common", | |
198 "//third_party/WebKit/public:blink", | |
199 "//third_party/boringssl", | |
200 "//third_party/icu", | |
201 "//third_party/libjingle", | |
202 "//third_party/webrtc/base:rtc_base", | |
203 "//ui/accessibility", | |
204 "//ui/base", | |
205 "//ui/base/ime", | |
206 "//ui/gfx", | |
207 "//ui/gfx/geometry", | |
208 "//ui/gfx/ipc", | |
209 "//ui/gfx/ipc/skia", | |
210 "//ui/gl", | 153 "//ui/gl", |
211 "//ui/latency_info/ipc", | 154 "//ui/platform_window", |
212 "//ui/shell_dialogs", | |
213 "//url", | |
214 "//url/ipc:url_ipc", | |
215 ] | 155 ] |
216 | |
217 defines = [] | |
218 include_dirs = [] | |
219 libs = [] | 156 libs = [] |
220 ldflags = [] | 157 ldflags = [] |
221 | 158 |
222 if (is_android && use_seccomp_bpf) { | |
223 set_sources_assignment_filter([]) | |
224 sources += [ | |
225 "sandbox_linux/sandbox_bpf_base_policy_linux.cc", | |
226 "sandbox_linux/sandbox_bpf_base_policy_linux.h", | |
227 ] | |
228 set_sources_assignment_filter(sources_assignment_filter) | |
229 } | |
230 | |
231 if (is_mac) { | 159 if (is_mac) { |
232 sources += [ | 160 sources += [ |
233 "gpu/media/vt_mac.h", | 161 "vt_mac.h", |
234 "gpu/media/vt_video_decode_accelerator_mac.cc", | 162 "vt_video_decode_accelerator_mac.cc", |
235 "gpu/media/vt_video_decode_accelerator_mac.h", | 163 "vt_video_decode_accelerator_mac.h", |
236 "gpu/media/vt_video_encode_accelerator_mac.cc", | 164 "vt_video_encode_accelerator_mac.cc", |
237 "gpu/media/vt_video_encode_accelerator_mac.h", | 165 "vt_video_encode_accelerator_mac.h", |
238 ] + get_target_outputs(":libvt_generate_stubs") | 166 ] + get_target_outputs(":libvt_generate_stubs") |
| 167 deps += [ ":libvt_generate_stubs" ] |
| 168 lib_dirs = [ "$mac_sdk_path/usr/lib" ] |
239 | 169 |
240 deps += [ | 170 # TODO(markdittmer): Determine which libs are needed here. |
241 ":libvt_generate_stubs", | |
242 "//content:resources", | |
243 "//content/app/resources", | |
244 "//sandbox/mac:seatbelt", | |
245 "//third_party/WebKit/public:image_resources", | |
246 "//third_party/WebKit/public:resources", | |
247 "//ui/accelerated_widget_mac", | |
248 ] | |
249 lib_dirs = [ "$mac_sdk_path/usr/lib" ] | |
250 libs += [ | 171 libs += [ |
251 "AVFoundation.framework", | 172 # "AVFoundation.framework", |
252 "CoreMedia.framework", | 173 # "CoreMedia.framework", |
253 "CoreVideo.framework", | 174 # "CoreVideo.framework", |
254 "IOSurface.framework", | 175 # "IOSurface.framework", |
255 "OpenGL.framework", | 176 # "OpenGL.framework", |
256 "QuartzCore.framework", | 177 # "QuartzCore.framework", |
257 "sandbox", | 178 # "sandbox", |
258 ] | |
259 } | |
260 | |
261 if (is_android) { | |
262 deps += [ | |
263 "//content/public/android:common_aidl", | |
264 "//content/public/android:jni", | |
265 ] | |
266 | |
267 libs += [ "android" ] | |
268 } | |
269 | |
270 if (is_debug && !is_component_build && enable_plugins) { | |
271 # Content depends on the PPAPI message logging stuff; if this isn't here, | |
272 # some unit test binaries won't compile. This only worked in release mode | |
273 # because logging is disabled there. | |
274 deps += [ "//ppapi/proxy:ipc_sources" ] | |
275 } | |
276 | |
277 if (use_ozone) { | |
278 deps += [ "//ui/ozone" ] | |
279 } else { | |
280 sources -= [ | |
281 "cursors/webcursor_ozone.cc", | |
282 "font_list_ozone.cc", | |
283 ] | |
284 } | |
285 | |
286 if (!use_aura || is_android) { | |
287 sources -= [ "cursors/webcursor_aura.cc" ] | |
288 } | |
289 | |
290 if (!use_aura || !use_x11) { | |
291 sources -= [ "cursors/webcursor_aurax11.cc" ] | |
292 } | |
293 | |
294 if (use_pango) { | |
295 configs += [ "//build/config/linux:pangocairo" ] | |
296 if (use_ozone) { | |
297 # If we're using pango, never use this ozone file (it was removed in all | |
298 # non-ozone cases above). | |
299 sources -= [ "font_list_ozone.cc" ] | |
300 } | |
301 } else { | |
302 sources -= [ "font_list_pango.cc" ] | |
303 } | |
304 | |
305 if (enable_plugins) { | |
306 deps += [ "//ppapi/shared_impl" ] | |
307 } else { | |
308 sources -= [ | |
309 "pepper_file_util.cc", | |
310 "pepper_file_util.h", | |
311 "pepper_messages.h", | |
312 "pepper_plugin_list.cc", | |
313 "pepper_plugin_list.h", | |
314 "pepper_renderer_instance_data.cc", | |
315 "pepper_renderer_instance_data.h", | |
316 "plugin_list.cc", | |
317 "plugin_list.h", | |
318 ] | 179 ] |
319 } | 180 } |
320 | 181 |
321 if (is_android) { | 182 if (is_android) { |
322 sources += [ | 183 sources += [ |
323 "gpu/media/android_copying_backing_strategy.cc", | 184 "android_copying_backing_strategy.cc", |
324 "gpu/media/android_copying_backing_strategy.h", | 185 "android_copying_backing_strategy.h", |
325 "gpu/media/android_deferred_rendering_backing_strategy.cc", | 186 "android_deferred_rendering_backing_strategy.cc", |
326 "gpu/media/android_deferred_rendering_backing_strategy.h", | 187 "android_deferred_rendering_backing_strategy.h", |
327 "gpu/media/android_video_decode_accelerator.cc", | 188 "android_video_decode_accelerator.cc", |
328 "gpu/media/android_video_decode_accelerator.h", | 189 "android_video_decode_accelerator.h", |
329 "gpu/media/avda_codec_image.cc", | 190 "avda_codec_image.cc", |
330 "gpu/media/avda_codec_image.h", | 191 "avda_codec_image.h", |
331 "gpu/media/avda_return_on_failure.h", | 192 "avda_return_on_failure.h", |
332 "gpu/media/avda_shared_state.cc", | 193 "avda_shared_state.cc", |
333 "gpu/media/avda_shared_state.h", | 194 "avda_shared_state.h", |
334 "gpu/media/avda_state_provider.h", | 195 "avda_state_provider.h", |
335 ] | 196 ] |
336 | 197 |
337 if (enable_webrtc) { | 198 if (enable_webrtc) { |
338 deps += [ "//third_party/libyuv" ] | 199 deps += [ "//third_party/libyuv" ] |
339 sources += [ | 200 sources += [ |
340 "gpu/media/android_video_encode_accelerator.cc", | 201 "android_video_encode_accelerator.cc", |
341 "gpu/media/android_video_encode_accelerator.h", | 202 "android_video_encode_accelerator.h", |
342 ] | 203 ] |
343 } | 204 } |
344 | 205 |
345 if (mojo_media_host == "gpu") { | 206 if (mojo_media_host == "gpu") { |
346 deps += [ "//media/mojo/services:cdm_service" ] | 207 deps += [ "//media/mojo/services:cdm_service" ] |
347 } | 208 } |
348 } | 209 } |
349 | 210 |
350 if (is_chromeos) { | 211 if (is_chromeos) { |
351 sources += [ | 212 sources += [ |
352 "gpu/media/accelerated_video_decoder.h", | 213 "accelerated_video_decoder.h", |
353 "gpu/media/h264_decoder.cc", | 214 "h264_decoder.cc", |
354 "gpu/media/h264_decoder.h", | 215 "h264_decoder.h", |
355 "gpu/media/h264_dpb.cc", | 216 "h264_dpb.cc", |
356 "gpu/media/h264_dpb.h", | 217 "h264_dpb.h", |
357 "gpu/media/vp8_decoder.cc", | 218 "vp8_decoder.cc", |
358 "gpu/media/vp8_decoder.h", | 219 "vp8_decoder.h", |
359 "gpu/media/vp8_picture.cc", | 220 "vp8_picture.cc", |
360 "gpu/media/vp8_picture.h", | 221 "vp8_picture.h", |
361 "gpu/media/vp9_decoder.cc", | 222 "vp9_decoder.cc", |
362 "gpu/media/vp9_decoder.h", | 223 "vp9_decoder.h", |
363 "gpu/media/vp9_picture.cc", | 224 "vp9_picture.cc", |
364 "gpu/media/vp9_picture.h", | 225 "vp9_picture.h", |
365 ] | 226 ] |
366 if (use_v4lplugin) { | 227 if (use_v4lplugin) { |
367 defines += [ "USE_LIBV4L2" ] | 228 defines += [ "USE_LIBV4L2" ] |
368 sources += get_target_outputs(":libv4l2_generate_stubs") | 229 sources += get_target_outputs(":libv4l2_generate_stubs") |
369 deps += [ ":libv4l2_generate_stubs" ] | 230 deps += [ ":libv4l2_generate_stubs" ] |
370 } | 231 } |
371 if (use_v4l2_codec) { | 232 if (use_v4l2_codec) { |
372 defines += [ "USE_V4L2_CODEC" ] | 233 defines += [ "USE_V4L2_CODEC" ] |
373 deps += [ "//third_party/libyuv" ] | 234 deps += [ "//third_party/libyuv" ] |
374 sources += [ | 235 sources += [ |
375 "gpu/media/generic_v4l2_device.cc", | 236 "generic_v4l2_device.cc", |
376 "gpu/media/generic_v4l2_device.h", | 237 "generic_v4l2_device.h", |
377 "gpu/media/v4l2_device.cc", | 238 "v4l2_device.cc", |
378 "gpu/media/v4l2_device.h", | 239 "v4l2_device.h", |
379 "gpu/media/v4l2_image_processor.cc", | 240 "v4l2_image_processor.cc", |
380 "gpu/media/v4l2_image_processor.h", | 241 "v4l2_image_processor.h", |
381 "gpu/media/v4l2_jpeg_decode_accelerator.cc", | 242 "v4l2_jpeg_decode_accelerator.cc", |
382 "gpu/media/v4l2_jpeg_decode_accelerator.h", | 243 "v4l2_jpeg_decode_accelerator.h", |
383 "gpu/media/v4l2_slice_video_decode_accelerator.cc", | 244 "v4l2_slice_video_decode_accelerator.cc", |
384 "gpu/media/v4l2_slice_video_decode_accelerator.h", | 245 "v4l2_slice_video_decode_accelerator.h", |
385 "gpu/media/v4l2_video_decode_accelerator.cc", | 246 "v4l2_video_decode_accelerator.cc", |
386 "gpu/media/v4l2_video_decode_accelerator.h", | 247 "v4l2_video_decode_accelerator.h", |
387 "gpu/media/v4l2_video_encode_accelerator.cc", | 248 "v4l2_video_encode_accelerator.cc", |
388 "gpu/media/v4l2_video_encode_accelerator.h", | 249 "v4l2_video_encode_accelerator.h", |
389 ] | 250 ] |
390 libs = [ | 251 libs = [ |
391 "EGL", | 252 "EGL", |
392 "GLESv2", | 253 "GLESv2", |
393 ] | 254 ] |
394 } | 255 } |
395 if (current_cpu == "arm") { | 256 if (current_cpu == "arm") { |
396 sources += [ | 257 sources += [ |
397 "gpu/media/tegra_v4l2_device.cc", | 258 "tegra_v4l2_device.cc", |
398 "gpu/media/tegra_v4l2_device.h", | 259 "tegra_v4l2_device.h", |
399 ] | 260 ] |
400 } | 261 } |
401 if (current_cpu != "arm") { | 262 if (current_cpu != "arm") { |
402 sources += [ | 263 sources += [ |
403 "gpu/media/va_surface.h", | 264 "va_surface.h", |
404 "gpu/media/vaapi_jpeg_decode_accelerator.cc", | 265 "vaapi_jpeg_decode_accelerator.cc", |
405 "gpu/media/vaapi_jpeg_decode_accelerator.h", | 266 "vaapi_jpeg_decode_accelerator.h", |
406 "gpu/media/vaapi_jpeg_decoder.cc", | 267 "vaapi_jpeg_decoder.cc", |
407 "gpu/media/vaapi_jpeg_decoder.h", | 268 "vaapi_jpeg_decoder.h", |
408 "gpu/media/vaapi_picture.cc", | 269 "vaapi_picture.cc", |
409 "gpu/media/vaapi_picture.h", | 270 "vaapi_picture.h", |
410 "gpu/media/vaapi_video_decode_accelerator.cc", | 271 "vaapi_video_decode_accelerator.cc", |
411 "gpu/media/vaapi_video_decode_accelerator.h", | 272 "vaapi_video_decode_accelerator.h", |
412 "gpu/media/vaapi_video_encode_accelerator.cc", | 273 "vaapi_video_encode_accelerator.cc", |
413 "gpu/media/vaapi_video_encode_accelerator.h", | 274 "vaapi_video_encode_accelerator.h", |
414 "gpu/media/vaapi_wrapper.cc", | 275 "vaapi_wrapper.cc", |
415 "gpu/media/vaapi_wrapper.h", | 276 "vaapi_wrapper.h", |
416 ] + get_target_outputs(":libva_generate_stubs") | 277 ] + get_target_outputs(":libva_generate_stubs") |
417 configs += [ | 278 configs += [ |
418 "//third_party/libva:libva_config", | 279 "//third_party/libva:libva_config", |
419 "//third_party/libyuv:libyuv_config", | 280 "//third_party/libyuv:libyuv_config", |
420 ] | 281 ] |
421 deps += [ | 282 deps += [ |
422 ":libva_generate_stubs", | 283 ":libva_generate_stubs", |
423 "//media", | 284 "//media", |
424 "//third_party/libyuv", | 285 "//third_party/libyuv", |
425 ] | 286 ] |
426 if (use_x11) { | 287 if (use_x11) { |
427 sources += [ | 288 sources += [ |
428 "gpu/media/vaapi_tfp_picture.cc", | 289 "vaapi_tfp_picture.cc", |
429 "gpu/media/vaapi_tfp_picture.h", | 290 "vaapi_tfp_picture.h", |
430 ] | 291 ] |
431 } | 292 } |
432 if (use_ozone) { | 293 if (use_ozone) { |
433 sources += [ | 294 sources += [ |
434 "gpu/media/vaapi_drm_picture.cc", | 295 "vaapi_drm_picture.cc", |
435 "gpu/media/vaapi_drm_picture.h", | 296 "vaapi_drm_picture.h", |
436 ] | 297 ] |
437 } | 298 } |
438 } | 299 } |
439 } | 300 } |
440 | 301 |
441 if (is_win) { | 302 if (is_win) { |
442 sources += [ | 303 sources += [ |
443 "gpu/media/dxva_video_decode_accelerator_win.cc", | 304 "dxva_video_decode_accelerator_win.cc", |
444 "gpu/media/dxva_video_decode_accelerator_win.h", | 305 "dxva_video_decode_accelerator_win.h", |
445 ] | 306 ] |
446 configs += [ "//third_party/khronos:khronos_headers" ] | 307 configs += [ |
| 308 "//build/config/compiler:no_size_t_to_int_warning", |
| 309 "//third_party/khronos:khronos_headers", |
| 310 ] |
447 deps += [ "//ui/gl" ] | 311 deps += [ "//ui/gl" ] |
448 libs += [ | 312 libs += [ |
449 "d3d9.lib", | 313 "d3d9.lib", |
450 "d3d11.lib", | 314 "d3d11.lib", |
451 "dxva2.lib", | 315 "dxva2.lib", |
452 "strmiids.lib", | 316 "strmiids.lib", |
453 "mf.lib", | 317 "mf.lib", |
454 "mfplat.lib", | 318 "mfplat.lib", |
455 "mfuuid.lib", | 319 "mfuuid.lib", |
456 ] | 320 ] |
457 ldflags += [ | 321 ldflags += [ |
458 "/DELAYLOAD:d3d9.dll", | 322 "/DELAYLOAD:d3d9.dll", |
459 "/DELAYLOAD:d3d11.dll", | 323 "/DELAYLOAD:d3d11.dll", |
460 "/DELAYLOAD:dxva2.dll", | 324 "/DELAYLOAD:dxva2.dll", |
461 "/DELAYLOAD:mf.dll", | 325 "/DELAYLOAD:mf.dll", |
462 "/DELAYLOAD:mfplat.dll", | 326 "/DELAYLOAD:mfplat.dll", |
463 ] | 327 ] |
464 | 328 |
465 # TODO(GYP): extract_xinput action. | 329 # TODO(GYP): extract_xinput action. |
466 } | 330 } |
467 | 331 |
468 if (!is_win || !use_aura) { | 332 if (use_x11) { |
469 sources -= [ "cursors/webcursor_aurawin.cc" ] | 333 deps += [ "//ui/gfx/x" ] |
470 } | 334 } |
| 335 } |
471 | 336 |
472 if (use_seccomp_bpf) { | 337 if (is_android) { |
473 defines += [ "USE_SECCOMP_BPF" ] | 338 # TODO(GYP): Port Windows and ChromeOS logic. |
474 } else { | 339 test("video_decode_accelerator_unittest") { |
475 if (is_linux) { | 340 deps = [ |
476 sources -= [ | 341 "//base", |
477 "sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc", | 342 "//media", |
478 "sandbox_linux/bpf_cros_arm_gpu_policy_linux.h", | 343 "//testing/gtest", |
479 "sandbox_linux/bpf_gpu_policy_linux.cc", | 344 "//ui/base", |
480 "sandbox_linux/bpf_gpu_policy_linux.h", | 345 "//ui/gfx", |
481 "sandbox_linux/bpf_ppapi_policy_linux.cc", | 346 "//ui/gfx:test_support", |
482 "sandbox_linux/bpf_ppapi_policy_linux.h", | 347 "//ui/gfx/geometry", |
483 "sandbox_linux/bpf_renderer_policy_linux.cc", | 348 "//ui/gl", |
484 "sandbox_linux/bpf_renderer_policy_linux.h", | 349 "//ui/gl:test_support", |
485 "sandbox_linux/bpf_utility_policy_linux.cc", | 350 ] |
486 "sandbox_linux/bpf_utility_policy_linux.h", | 351 configs += [ "//third_party/khronos:khronos_headers" ] |
487 "sandbox_linux/sandbox_bpf_base_policy_linux.cc", | 352 sources = [ |
488 "sandbox_linux/sandbox_bpf_base_policy_linux.h", | 353 "video_accelerator_unittest_helpers.h", |
| 354 ] |
| 355 if (is_android) { |
| 356 sources += [ "android_video_decode_accelerator_unittest.cc" ] |
| 357 } else { |
| 358 sources += [ |
| 359 "rendering_helper.cc", |
| 360 "rendering_helper.h", |
| 361 "video_decode_accelerator_unittest.cc", |
489 ] | 362 ] |
490 } | 363 } |
| 364 |
491 if (is_android) { | 365 if (is_android) { |
492 sources -= [ | 366 deps += [ |
493 "sandbox_linux/android/sandbox_bpf_base_policy_android.cc", | 367 "//gpu:test_support", |
494 "sandbox_linux/android/sandbox_bpf_base_policy_android.h", | 368 "//media/base/android", |
| 369 "//media/base/android:media_java", |
| 370 "//media/capture/video/android:capture_java", |
| 371 "//testing/gmock", |
| 372 "//ui/android:ui_java", |
495 ] | 373 ] |
496 } | 374 } |
497 } | 375 } |
498 } | 376 } |
499 | |
500 # See comment at the top of //content/BUILD.gn for how this works. | |
501 group("for_content_tests") { | |
502 visibility = [ "//content/test/*" ] | |
503 if (!is_component_build) { | |
504 public_deps = [ | |
505 ":common", | |
506 ] | |
507 } | |
508 } | |
509 | |
510 mojom("mojo_bindings") { | |
511 # This interface is internal to content. However, this is not exported from | |
512 # the content component shared library. Code in content but outside of the | |
513 # content component (content/test or content/shell) should link to this | |
514 # directly. | |
515 visibility = [ "//content/*" ] | |
516 | |
517 sources = [ | |
518 "application_setup.mojom", | |
519 "background_sync_service.mojom", | |
520 "image_downloader/image_downloader.mojom", | |
521 "leveldb_wrapper.mojom", | |
522 "presentation/presentation_service.mojom", | |
523 "process_control.mojom", | |
524 "render_frame_setup.mojom", | |
525 "render_widget_window_tree_client_factory.mojom", | |
526 "service_worker/embedded_worker_setup.mojom", | |
527 "storage_partition_service.mojom", | |
528 "vr_service.mojom", | |
529 ] | |
530 | |
531 import_dirs = [ "//mojo/services" ] | |
532 | |
533 typemaps = [ "//url/mojo/origin.typemap" ] | |
534 | |
535 public_deps = [ | |
536 "//components/leveldb/public/interfaces", | |
537 "//components/mus/public/interfaces", | |
538 "//content/public/common:mojo_bindings", | |
539 "//services/shell/public/interfaces", | |
540 "//skia/public/interfaces", | |
541 "//third_party/WebKit/public:mojo_bindings", | |
542 "//ui/mojo/geometry:interfaces", | |
543 "//url/mojo:url_mojom_origin", | |
544 ] | |
545 } | |
OLD | NEW |