1# Copyright (c) 2012 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 'chromium_code': 1, 8 # Override to dynamically link the cras (ChromeOS audio) library. 9 'use_cras%': 0, 10 # Option e.g. for Linux distributions to link pulseaudio directly 11 # (DT_NEEDED) instead of using dlopen. This helps with automated 12 # detection of ABI mismatches and prevents silent errors. 13 'linux_link_pulseaudio%': 0, 14 'conditions': [ 15 ['OS=="android" or OS=="ios"', { 16 # Android and iOS don't use ffmpeg or libvpx. 17 'media_use_ffmpeg%': 0, 18 'media_use_libvpx%': 0, 19 }, { # 'OS!="android" and OS!="ios"' 20 'media_use_ffmpeg%': 1, 21 'media_use_libvpx%': 1, 22 }], 23 # Enable ALSA and Pulse for runtime selection. 24 ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and (embedded!=1 or (chromecast==1 and target_arch!="arm"))', { 25 # ALSA is always needed for Web MIDI even if the cras is enabled. 26 'use_alsa%': 1, 27 'conditions': [ 28 ['use_cras==1', { 29 'use_pulseaudio%': 0, 30 }, { 31 'use_pulseaudio%': 1, 32 }], 33 ], 34 }, { 35 'use_alsa%': 0, 36 'use_pulseaudio%': 0, 37 }], 38 ['sysroot!=""', { 39 'pkg-config': '../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)" "<(system_libdir)"', 40 }, { 41 'pkg-config': 'pkg-config' 42 }], 43 ], 44 }, 45 'includes': [ 46 'media_cdm.gypi', 47 ], 48 'targets': [ 49 { 50 # GN version: //media 51 'target_name': 'media', 52 'type': '<(component)', 53 'dependencies': [ 54 '../base/base.gyp:base', 55 '../base/base.gyp:base_i18n', 56 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 57 '../crypto/crypto.gyp:crypto', 58 '../gpu/gpu.gyp:command_buffer_common', 59 '../skia/skia.gyp:skia', 60 '../third_party/libyuv/libyuv.gyp:libyuv', 61 '../third_party/opus/opus.gyp:opus', 62 '../ui/events/events.gyp:events_base', 63 '../ui/gfx/gfx.gyp:gfx', 64 '../ui/gfx/gfx.gyp:gfx_geometry', 65 '../url/url.gyp:url_lib', 66 'shared_memory_support', 67 ], 68 'defines': [ 69 'MEDIA_IMPLEMENTATION', 70 ], 71 'include_dirs': [ 72 '..', 73 ], 74 'sources': [ 75 'audio/agc_audio_stream.h', 76 'audio/alsa/alsa_input.cc', 77 'audio/alsa/alsa_input.h', 78 'audio/alsa/alsa_output.cc', 79 'audio/alsa/alsa_output.h', 80 'audio/alsa/alsa_util.cc', 81 'audio/alsa/alsa_util.h', 82 'audio/alsa/alsa_wrapper.cc', 83 'audio/alsa/alsa_wrapper.h', 84 'audio/alsa/audio_manager_alsa.cc', 85 'audio/alsa/audio_manager_alsa.h', 86 'audio/android/audio_manager_android.cc', 87 'audio/android/audio_manager_android.h', 88 'audio/android/audio_record_input.cc', 89 'audio/android/audio_record_input.h', 90 'audio/android/opensles_input.cc', 91 'audio/android/opensles_input.h', 92 'audio/android/opensles_output.cc', 93 'audio/android/opensles_output.h', 94 'audio/android/opensles_wrapper.cc', 95 'audio/audio_buffers_state.cc', 96 'audio/audio_buffers_state.h', 97 'audio/audio_device_name.cc', 98 'audio/audio_device_name.h', 99 'audio/audio_device_thread.cc', 100 'audio/audio_device_thread.h', 101 'audio/audio_input_controller.cc', 102 'audio/audio_input_controller.h', 103 'audio/audio_input_device.cc', 104 'audio/audio_input_device.h', 105 'audio/audio_input_ipc.cc', 106 'audio/audio_input_ipc.h', 107 'audio/audio_io.h', 108 'audio/audio_manager.cc', 109 'audio/audio_manager.h', 110 'audio/audio_manager_base.cc', 111 'audio/audio_manager_base.h', 112 'audio/audio_output_controller.cc', 113 'audio/audio_output_controller.h', 114 'audio/audio_output_device.cc', 115 'audio/audio_output_device.h', 116 'audio/audio_output_dispatcher.cc', 117 'audio/audio_output_dispatcher.h', 118 'audio/audio_output_dispatcher_impl.cc', 119 'audio/audio_output_dispatcher_impl.h', 120 'audio/audio_output_ipc.cc', 121 'audio/audio_output_ipc.h', 122 'audio/audio_output_proxy.cc', 123 'audio/audio_output_proxy.h', 124 'audio/audio_output_resampler.cc', 125 'audio/audio_output_resampler.h', 126 'audio/audio_power_monitor.cc', 127 'audio/audio_power_monitor.h', 128 'audio/audio_source_diverter.h', 129 'audio/clockless_audio_sink.cc', 130 'audio/clockless_audio_sink.h', 131 'audio/cras/audio_manager_cras.cc', 132 'audio/cras/audio_manager_cras.h', 133 'audio/cras/cras_input.cc', 134 'audio/cras/cras_input.h', 135 'audio/cras/cras_unified.cc', 136 'audio/cras/cras_unified.h', 137 'audio/fake_audio_consumer.cc', 138 'audio/fake_audio_consumer.h', 139 'audio/fake_audio_input_stream.cc', 140 'audio/fake_audio_input_stream.h', 141 'audio/fake_audio_log_factory.h', 142 'audio/fake_audio_log_factory.cc', 143 'audio/fake_audio_manager.cc', 144 'audio/fake_audio_manager.h', 145 'audio/fake_audio_output_stream.cc', 146 'audio/fake_audio_output_stream.h', 147 'audio/linux/audio_manager_linux.cc', 148 'audio/mac/audio_auhal_mac.cc', 149 'audio/mac/audio_auhal_mac.h', 150 'audio/mac/audio_device_listener_mac.cc', 151 'audio/mac/audio_device_listener_mac.h', 152 'audio/mac/audio_input_mac.cc', 153 'audio/mac/audio_input_mac.h', 154 'audio/mac/audio_low_latency_input_mac.cc', 155 'audio/mac/audio_low_latency_input_mac.h', 156 'audio/mac/audio_manager_mac.cc', 157 'audio/mac/audio_manager_mac.h', 158 'audio/null_audio_sink.cc', 159 'audio/null_audio_sink.h', 160 'audio/openbsd/audio_manager_openbsd.cc', 161 'audio/openbsd/audio_manager_openbsd.h', 162 'audio/pulse/audio_manager_pulse.cc', 163 'audio/pulse/audio_manager_pulse.h', 164 'audio/pulse/pulse_input.cc', 165 'audio/pulse/pulse_input.h', 166 'audio/pulse/pulse_output.cc', 167 'audio/pulse/pulse_output.h', 168 'audio/pulse/pulse_util.cc', 169 'audio/pulse/pulse_util.h', 170 'audio/sample_rates.cc', 171 'audio/sample_rates.h', 172 'audio/scoped_task_runner_observer.cc', 173 'audio/scoped_task_runner_observer.h', 174 'audio/simple_sources.cc', 175 'audio/simple_sources.h', 176 'audio/sounds/audio_stream_handler.cc', 177 'audio/sounds/audio_stream_handler.h', 178 'audio/sounds/sounds_manager.cc', 179 'audio/sounds/sounds_manager.h', 180 'audio/sounds/wav_audio_handler.cc', 181 'audio/sounds/wav_audio_handler.h', 182 'audio/virtual_audio_input_stream.cc', 183 'audio/virtual_audio_input_stream.h', 184 'audio/virtual_audio_output_stream.cc', 185 'audio/virtual_audio_output_stream.h', 186 'audio/win/audio_device_listener_win.cc', 187 'audio/win/audio_device_listener_win.h', 188 'audio/win/audio_low_latency_input_win.cc', 189 'audio/win/audio_low_latency_input_win.h', 190 'audio/win/audio_low_latency_output_win.cc', 191 'audio/win/audio_low_latency_output_win.h', 192 'audio/win/audio_manager_win.cc', 193 'audio/win/audio_manager_win.h', 194 'audio/win/avrt_wrapper_win.cc', 195 'audio/win/avrt_wrapper_win.h', 196 'audio/win/core_audio_util_win.cc', 197 'audio/win/core_audio_util_win.h', 198 'audio/win/device_enumeration_win.cc', 199 'audio/win/device_enumeration_win.h', 200 'audio/win/wavein_input_win.cc', 201 'audio/win/wavein_input_win.h', 202 'audio/win/waveout_output_win.cc', 203 'audio/win/waveout_output_win.h', 204 'base/android/demuxer_android.h', 205 'base/android/demuxer_stream_player_params.cc', 206 'base/android/demuxer_stream_player_params.h', 207 'base/android/media_player_manager.h', 208 'base/android/media_resource_getter.cc', 209 'base/android/media_resource_getter.h', 210 'base/audio_block_fifo.cc', 211 'base/audio_block_fifo.h', 212 'base/audio_buffer.cc', 213 'base/audio_buffer.h', 214 'base/audio_buffer_queue.cc', 215 'base/audio_buffer_queue.h', 216 'base/audio_buffer_converter.cc', 217 'base/audio_buffer_converter.h', 218 'base/audio_capturer_source.h', 219 'base/audio_converter.cc', 220 'base/audio_converter.h', 221 'base/audio_decoder.cc', 222 'base/audio_decoder.h', 223 'base/audio_decoder_config.cc', 224 'base/audio_decoder_config.h', 225 'base/audio_discard_helper.cc', 226 'base/audio_discard_helper.h', 227 'base/audio_fifo.cc', 228 'base/audio_fifo.h', 229 'base/audio_hardware_config.cc', 230 'base/audio_hardware_config.h', 231 'base/audio_hash.cc', 232 'base/audio_hash.h', 233 'base/audio_pull_fifo.cc', 234 'base/audio_pull_fifo.h', 235 'base/audio_renderer.cc', 236 'base/audio_renderer.h', 237 'base/audio_renderer_mixer.cc', 238 'base/audio_renderer_mixer.h', 239 'base/audio_renderer_mixer_input.cc', 240 'base/audio_renderer_mixer_input.h', 241 'base/audio_renderer_sink.h', 242 'base/audio_splicer.cc', 243 'base/audio_splicer.h', 244 'base/audio_timestamp_helper.cc', 245 'base/audio_timestamp_helper.h', 246 'base/audio_video_metadata_extractor.cc', 247 'base/audio_video_metadata_extractor.h', 248 'base/bind_to_current_loop.h', 249 'base/bit_reader.cc', 250 'base/bit_reader.h', 251 'base/bit_reader_core.cc', 252 'base/bit_reader_core.h', 253 'base/bitstream_buffer.h', 254 'base/buffering_state.h', 255 'base/buffers.h', 256 'base/byte_queue.cc', 257 'base/byte_queue.h', 258 'base/cdm_promise.cc', 259 'base/cdm_promise.h', 260 'base/channel_mixer.cc', 261 'base/channel_mixer.h', 262 'base/container_names.cc', 263 'base/container_names.h', 264 'base/data_buffer.cc', 265 'base/data_buffer.h', 266 'base/data_source.cc', 267 'base/data_source.h', 268 'base/decoder_buffer.cc', 269 'base/decoder_buffer.h', 270 'base/decoder_buffer_queue.cc', 271 'base/decoder_buffer_queue.h', 272 'base/decrypt_config.cc', 273 'base/decrypt_config.h', 274 'base/decryptor.cc', 275 'base/decryptor.h', 276 'base/demuxer.cc', 277 'base/demuxer.h', 278 'base/demuxer_stream.cc', 279 'base/demuxer_stream.h', 280 'base/demuxer_stream_provider.cc', 281 'base/demuxer_stream_provider.h', 282 'base/djb2.cc', 283 'base/djb2.h', 284 'base/keyboard_event_counter.cc', 285 'base/keyboard_event_counter.h', 286 'base/mac/avfoundation_glue.h', 287 'base/mac/avfoundation_glue.mm', 288 'base/mac/coremedia_glue.h', 289 'base/mac/coremedia_glue.mm', 290 'base/mac/corevideo_glue.h', 291 'base/mac/videotoolbox_glue.h', 292 'base/mac/videotoolbox_glue.mm', 293 'base/media.cc', 294 'base/media.h', 295 'base/media_file_checker.cc', 296 'base/media_file_checker.h', 297 'base/media_keys.cc', 298 'base/media_keys.h', 299 'base/media_log.cc', 300 'base/media_log.h', 301 'base/media_log_event.h', 302 'base/media_posix.cc', 303 'base/media_switches.cc', 304 'base/media_switches.h', 305 'base/media_win.cc', 306 'base/multi_channel_resampler.cc', 307 'base/multi_channel_resampler.h', 308 'base/pipeline.cc', 309 'base/pipeline.h', 310 'base/pipeline_status.h', 311 'base/player_tracker.cc', 312 'base/player_tracker.h', 313 'base/ranges.cc', 314 'base/ranges.h', 315 'base/renderer.cc', 316 'base/renderer.h', 317 'base/sample_format.cc', 318 'base/sample_format.h', 319 'base/scoped_histogram_timer.h', 320 'base/seekable_buffer.cc', 321 'base/seekable_buffer.h', 322 'base/serial_runner.cc', 323 'base/serial_runner.h', 324 'base/simd/convert_rgb_to_yuv.h', 325 'base/simd/convert_rgb_to_yuv_c.cc', 326 'base/simd/convert_yuv_to_rgb.h', 327 'base/simd/convert_yuv_to_rgb_c.cc', 328 'base/simd/filter_yuv.h', 329 'base/simd/filter_yuv_c.cc', 330 'base/simd/yuv_to_rgb_table.cc', 331 'base/simd/yuv_to_rgb_table.h', 332 'base/sinc_resampler.cc', 333 'base/sinc_resampler.h', 334 'base/stream_parser.cc', 335 'base/stream_parser.h', 336 'base/stream_parser_buffer.cc', 337 'base/stream_parser_buffer.h', 338 'base/text_cue.cc', 339 'base/text_cue.h', 340 'base/text_ranges.cc', 341 'base/text_ranges.h', 342 'base/text_renderer.cc', 343 'base/text_renderer.h', 344 'base/text_track.h', 345 'base/text_track_config.cc', 346 'base/text_track_config.h', 347 'base/time_delta_interpolator.cc', 348 'base/time_delta_interpolator.h', 349 'base/time_source.h', 350 'base/user_input_monitor.cc', 351 'base/user_input_monitor.h', 352 'base/user_input_monitor_linux.cc', 353 'base/user_input_monitor_mac.cc', 354 'base/user_input_monitor_win.cc', 355 'base/video_decoder.cc', 356 'base/video_decoder.h', 357 'base/video_decoder_config.cc', 358 'base/video_decoder_config.h', 359 'base/video_frame.cc', 360 'base/video_frame.h', 361 'base/video_frame_pool.cc', 362 'base/video_frame_pool.h', 363 'base/video_renderer.cc', 364 'base/video_renderer.h', 365 'base/video_rotation.h', 366 'base/video_util.cc', 367 'base/video_util.h', 368 'base/yuv_convert.cc', 369 'base/yuv_convert.h', 370 'base/wall_clock_time_source.cc', 371 'base/wall_clock_time_source.h', 372 'cdm/aes_decryptor.cc', 373 'cdm/aes_decryptor.h', 374 'cdm/json_web_key.cc', 375 'cdm/json_web_key.h', 376 'cdm/key_system_names.cc', 377 'cdm/key_system_names.h', 378 'cdm/player_tracker_impl.cc', 379 'cdm/player_tracker_impl.h', 380 'ffmpeg/ffmpeg_common.cc', 381 'ffmpeg/ffmpeg_common.h', 382 'ffmpeg/ffmpeg_deleters.h', 383 'filters/audio_clock.cc', 384 'filters/audio_clock.h', 385 'filters/audio_file_reader.cc', 386 'filters/audio_file_reader.h', 387 'filters/audio_renderer_algorithm.cc', 388 'filters/audio_renderer_algorithm.h', 389 'filters/audio_renderer_impl.cc', 390 'filters/audio_renderer_impl.h', 391 'filters/blocking_url_protocol.cc', 392 'filters/blocking_url_protocol.h', 393 'filters/chunk_demuxer.cc', 394 'filters/chunk_demuxer.h', 395 'filters/decoder_selector.cc', 396 'filters/decoder_selector.h', 397 'filters/decoder_stream.cc', 398 'filters/decoder_stream.h', 399 'filters/decoder_stream_traits.cc', 400 'filters/decoder_stream_traits.h', 401 'filters/decrypting_audio_decoder.cc', 402 'filters/decrypting_audio_decoder.h', 403 'filters/decrypting_demuxer_stream.cc', 404 'filters/decrypting_demuxer_stream.h', 405 'filters/decrypting_video_decoder.cc', 406 'filters/decrypting_video_decoder.h', 407 'filters/ffmpeg_audio_decoder.cc', 408 'filters/ffmpeg_audio_decoder.h', 409 'filters/ffmpeg_demuxer.cc', 410 'filters/ffmpeg_demuxer.h', 411 'filters/ffmpeg_glue.cc', 412 'filters/ffmpeg_glue.h', 413 'filters/ffmpeg_video_decoder.cc', 414 'filters/ffmpeg_video_decoder.h', 415 'filters/file_data_source.cc', 416 'filters/file_data_source.h', 417 'filters/frame_processor.cc', 418 'filters/frame_processor.h', 419 'filters/gpu_video_accelerator_factories.cc', 420 'filters/gpu_video_accelerator_factories.h', 421 'filters/gpu_video_decoder.cc', 422 'filters/gpu_video_decoder.h', 423 'filters/h264_bit_reader.cc', 424 'filters/h264_bit_reader.h', 425 'filters/h264_parser.cc', 426 'filters/h264_parser.h', 427 'filters/in_memory_url_protocol.cc', 428 'filters/in_memory_url_protocol.h', 429 'filters/opus_audio_decoder.cc', 430 'filters/opus_audio_decoder.h', 431 'filters/renderer_impl.cc', 432 'filters/renderer_impl.h', 433 'filters/skcanvas_video_renderer.cc', 434 'filters/skcanvas_video_renderer.h', 435 'filters/source_buffer_platform.cc', 436 'filters/source_buffer_platform.h', 437 'filters/source_buffer_range.cc', 438 'filters/source_buffer_range.h', 439 'filters/source_buffer_stream.cc', 440 'filters/source_buffer_stream.h', 441 'filters/stream_parser_factory.cc', 442 'filters/stream_parser_factory.h', 443 'filters/video_frame_scheduler.h', 444 'filters/video_frame_scheduler_impl.cc', 445 'filters/video_frame_scheduler_impl.h', 446 'filters/video_frame_scheduler_proxy.cc', 447 'filters/video_frame_scheduler_proxy.h', 448 'filters/video_renderer_impl.cc', 449 'filters/video_renderer_impl.h', 450 'filters/vpx_video_decoder.cc', 451 'filters/vpx_video_decoder.h', 452 'filters/webvtt_util.h', 453 'filters/wsola_internals.cc', 454 'filters/wsola_internals.h', 455 'midi/midi_manager.cc', 456 'midi/midi_manager.h', 457 'midi/midi_manager_alsa.cc', 458 'midi/midi_manager_alsa.h', 459 'midi/midi_manager_android.cc', 460 'midi/midi_manager_mac.cc', 461 'midi/midi_manager_mac.h', 462 'midi/midi_manager_usb.cc', 463 'midi/midi_manager_usb.h', 464 'midi/midi_manager_win.cc', 465 'midi/midi_manager_win.h', 466 'midi/midi_message_queue.cc', 467 'midi/midi_message_queue.h', 468 'midi/midi_message_util.cc', 469 'midi/midi_message_util.h', 470 'midi/midi_port_info.cc', 471 'midi/midi_port_info.h', 472 'midi/usb_midi_descriptor_parser.cc', 473 'midi/usb_midi_descriptor_parser.h', 474 'midi/usb_midi_device.h', 475 'midi/usb_midi_device_android.cc', 476 'midi/usb_midi_device_android.h', 477 'midi/usb_midi_device_factory_android.cc', 478 'midi/usb_midi_device_factory_android.h', 479 'midi/usb_midi_input_stream.cc', 480 'midi/usb_midi_input_stream.h', 481 'midi/usb_midi_jack.h', 482 'midi/usb_midi_output_stream.cc', 483 'midi/usb_midi_output_stream.h', 484 'ozone/media_ozone_platform.cc', 485 'ozone/media_ozone_platform.h', 486 'video/capture/android/video_capture_device_android.cc', 487 'video/capture/android/video_capture_device_android.h', 488 'video/capture/android/video_capture_device_factory_android.cc', 489 'video/capture/android/video_capture_device_factory_android.h', 490 'video/capture/fake_video_capture_device.cc', 491 'video/capture/fake_video_capture_device.h', 492 'video/capture/fake_video_capture_device_factory.h', 493 'video/capture/fake_video_capture_device_factory.cc', 494 'video/capture/file_video_capture_device.cc', 495 'video/capture/file_video_capture_device.h', 496 'video/capture/file_video_capture_device_factory.h', 497 'video/capture/file_video_capture_device_factory.cc', 498 'video/capture/linux/video_capture_device_factory_linux.cc', 499 'video/capture/linux/video_capture_device_factory_linux.h', 500 'video/capture/linux/video_capture_device_linux.cc', 501 'video/capture/linux/video_capture_device_linux.h', 502 'video/capture/linux/video_capture_device_chromeos.cc', 503 'video/capture/linux/video_capture_device_chromeos.h', 504 'video/capture/mac/platform_video_capturing_mac.h', 505 'video/capture/mac/video_capture_device_avfoundation_mac.h', 506 'video/capture/mac/video_capture_device_avfoundation_mac.mm', 507 'video/capture/mac/video_capture_device_decklink_mac.h', 508 'video/capture/mac/video_capture_device_decklink_mac.mm', 509 'video/capture/mac/video_capture_device_factory_mac.h', 510 'video/capture/mac/video_capture_device_factory_mac.mm', 511 'video/capture/mac/video_capture_device_mac.h', 512 'video/capture/mac/video_capture_device_mac.mm', 513 'video/capture/mac/video_capture_device_qtkit_mac.h', 514 'video/capture/mac/video_capture_device_qtkit_mac.mm', 515 'video/capture/video_capture_device.cc', 516 'video/capture/video_capture_device.h', 517 'video/capture/video_capture_device_factory.cc', 518 'video/capture/video_capture_device_factory.h', 519 'video/capture/video_capture_types.cc', 520 'video/capture/video_capture_types.h', 521 'video/capture/win/capability_list_win.cc', 522 'video/capture/win/capability_list_win.h', 523 'video/capture/win/filter_base_win.cc', 524 'video/capture/win/filter_base_win.h', 525 'video/capture/win/pin_base_win.cc', 526 'video/capture/win/pin_base_win.h', 527 'video/capture/win/sink_filter_observer_win.h', 528 'video/capture/win/sink_filter_win.cc', 529 'video/capture/win/sink_filter_win.h', 530 'video/capture/win/sink_input_pin_win.cc', 531 'video/capture/win/sink_input_pin_win.h', 532 'video/capture/win/video_capture_device_factory_win.cc', 533 'video/capture/win/video_capture_device_factory_win.h', 534 'video/capture/win/video_capture_device_mf_win.cc', 535 'video/capture/win/video_capture_device_mf_win.h', 536 'video/capture/win/video_capture_device_win.cc', 537 'video/capture/win/video_capture_device_win.h', 538 'video/picture.cc', 539 'video/picture.h', 540 'video/video_decode_accelerator.cc', 541 'video/video_decode_accelerator.h', 542 'video/video_encode_accelerator.cc', 543 'video/video_encode_accelerator.h', 544 'formats/common/offset_byte_queue.cc', 545 'formats/common/offset_byte_queue.h', 546 'formats/webm/webm_audio_client.cc', 547 'formats/webm/webm_audio_client.h', 548 'formats/webm/webm_cluster_parser.cc', 549 'formats/webm/webm_cluster_parser.h', 550 'formats/webm/webm_constants.cc', 551 'formats/webm/webm_constants.h', 552 'formats/webm/webm_content_encodings.cc', 553 'formats/webm/webm_content_encodings.h', 554 'formats/webm/webm_content_encodings_client.cc', 555 'formats/webm/webm_content_encodings_client.h', 556 'formats/webm/webm_crypto_helpers.cc', 557 'formats/webm/webm_crypto_helpers.h', 558 'formats/webm/webm_info_parser.cc', 559 'formats/webm/webm_info_parser.h', 560 'formats/webm/webm_parser.cc', 561 'formats/webm/webm_parser.h', 562 'formats/webm/webm_stream_parser.cc', 563 'formats/webm/webm_stream_parser.h', 564 'formats/webm/webm_tracks_parser.cc', 565 'formats/webm/webm_tracks_parser.h', 566 'formats/webm/webm_video_client.cc', 567 'formats/webm/webm_video_client.h', 568 'formats/webm/webm_webvtt_parser.cc', 569 'formats/webm/webm_webvtt_parser.h' 570 ], 571 'direct_dependent_settings': { 572 'include_dirs': [ 573 '..', 574 ], 575 }, 576 'conditions': [ 577 ['arm_neon==1', { 578 'defines': [ 579 'USE_NEON' 580 ], 581 }], 582 ['media_use_ffmpeg==1', { 583 'dependencies': [ 584 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg', 585 ], 586 }, { # media_use_ffmpeg==0 587 # Exclude the sources that depend on ffmpeg. 588 'sources!': [ 589 'base/audio_video_metadata_extractor.cc', 590 'base/audio_video_metadata_extractor.h', 591 'base/container_names.cc', 592 'base/container_names.h', 593 'base/media_file_checker.cc', 594 'base/media_file_checker.h', 595 'base/media_posix.cc', 596 'ffmpeg/ffmpeg_common.cc', 597 'ffmpeg/ffmpeg_common.h', 598 'filters/audio_file_reader.cc', 599 'filters/audio_file_reader.h', 600 'filters/blocking_url_protocol.cc', 601 'filters/blocking_url_protocol.h', 602 'filters/ffmpeg_audio_decoder.cc', 603 'filters/ffmpeg_audio_decoder.h', 604 'filters/ffmpeg_demuxer.cc', 605 'filters/ffmpeg_demuxer.h', 606 'filters/ffmpeg_glue.cc', 607 'filters/ffmpeg_glue.h', 608 'filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc', 609 'filters/ffmpeg_h264_to_annex_b_bitstream_converter.h', 610 'filters/ffmpeg_video_decoder.cc', 611 'filters/ffmpeg_video_decoder.h', 612 'filters/in_memory_url_protocol.cc', 613 'filters/in_memory_url_protocol.h', 614 ], 615 }], 616 ['media_use_libvpx==1', { 617 'dependencies': [ 618 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx', 619 ], 620 }, { # media_use_libvpx==0 621 'direct_dependent_settings': { 622 'defines': [ 623 'MEDIA_DISABLE_LIBVPX', 624 ], 625 }, 626 # Exclude the sources that depend on libvpx. 627 'sources!': [ 628 'filters/vpx_video_decoder.cc', 629 'filters/vpx_video_decoder.h', 630 ], 631 }], 632 ['enable_browser_cdms==1', { 633 'sources': [ 634 'base/browser_cdm.cc', 635 'base/browser_cdm.h', 636 'base/browser_cdm_factory.h', 637 ], 638 }], 639 ['OS=="android"', { 640 'dependencies': [ 641 'media_android_jni_headers', 642 'player_android', 643 'video_capture_android_jni_headers', 644 ], 645 'sources': [ 646 'base/media.cc', 647 'base/media.h', 648 'base/media_stub.cc', 649 ], 650 'sources!': [ 651 'filters/opus_audio_decoder.cc', 652 'filters/opus_audio_decoder.h', 653 ], 654 'conditions': [ 655 ['android_webview_build==0', { 656 'dependencies': [ 657 'media_java', 658 ], 659 }], 660 ], 661 'defines': [ 662 'DISABLE_USER_INPUT_MONITOR', 663 ], 664 }], 665 # For VaapiVideoEncodeAccelerator. 666 ['target_arch != "arm" and chromeos == 1 and use_x11 == 1', { 667 'sources': [ 668 'filters/h264_bitstream_buffer.cc', 669 'filters/h264_bitstream_buffer.h', 670 ], 671 }], 672 ['use_alsa==1', { 673 'link_settings': { 674 'libraries': [ 675 '-lasound', 676 ], 677 }, 678 'defines': [ 679 'USE_ALSA', 680 ], 681 }, { # use_alsa==0 682 'sources/': [ 683 ['exclude', '(^|/)alsa/'], 684 ['exclude', '_alsa\\.(h|cc)$'], 685 ], 686 }], 687 ['OS!="openbsd"', { 688 'sources!': [ 689 'audio/openbsd/audio_manager_openbsd.cc', 690 'audio/openbsd/audio_manager_openbsd.h', 691 ], 692 }], 693 ['OS=="linux"', { 694 'conditions': [ 695 ['use_x11==1', { 696 'dependencies': [ 697 '../build/linux/system.gyp:x11', 698 '../build/linux/system.gyp:xdamage', 699 '../build/linux/system.gyp:xext', 700 '../build/linux/system.gyp:xfixes', 701 '../build/linux/system.gyp:xtst', 702 ], 703 }, { # else: use_x11==0 704 'sources!': [ 705 'base/user_input_monitor_linux.cc', 706 ], 707 'defines': [ 708 'DISABLE_USER_INPUT_MONITOR', 709 ], 710 }], 711 ['use_cras==1', { 712 'cflags': [ 713 '<!@(<(pkg-config) --cflags libcras)', 714 ], 715 'link_settings': { 716 'libraries': [ 717 '<!@(<(pkg-config) --libs libcras)', 718 ], 719 }, 720 'defines': [ 721 'USE_CRAS', 722 ], 723 }, { # else: use_cras==0 724 'sources!': [ 725 'audio/cras/audio_manager_cras.cc', 726 'audio/cras/audio_manager_cras.h', 727 'audio/cras/cras_input.cc', 728 'audio/cras/cras_input.h', 729 'audio/cras/cras_unified.cc', 730 'audio/cras/cras_unified.h', 731 ], 732 }], 733 ], 734 }], 735 ['use_ozone==1', { 736 'variables': { 737 'platform_list_txt_file': '<(SHARED_INTERMEDIATE_DIR)/ui/ozone/platform_list.txt', 738 'constructor_list_cc_file': '<(INTERMEDIATE_DIR)/media/ozone/constructor_list.cc', 739 }, 740 'include_dirs': [ 741 # Used for the generated listing header (ui/ozone/platform_list.h) 742 '<(SHARED_INTERMEDIATE_DIR)', 743 ], 744 'sources': [ 745 '<(constructor_list_cc_file)', 746 ], 747 'dependencies': [ 748 '../ui/ozone/ozone.gyp:ozone', 749 ], 750 'actions': [ 751 { 752 # Ozone platform objects are auto-generated using similar 753 # patterns for naming and classes constructors. Here we build the 754 # object MediaOzonePlatform. 755 'action_name': 'generate_constructor_list', 756 'variables': { 757 'generator_path': '../ui/ozone/generate_constructor_list.py', 758 }, 759 'inputs': [ 760 '<(generator_path)', 761 '<(platform_list_txt_file)', 762 ], 763 'outputs': [ 764 '<(constructor_list_cc_file)', 765 ], 766 'action': [ 767 'python', 768 '<(generator_path)', 769 '--platform_list=<(platform_list_txt_file)', 770 '--output_cc=<(constructor_list_cc_file)', 771 '--namespace=media', 772 '--typename=MediaOzonePlatform', 773 '--include="media/ozone/media_ozone_platform.h"' 774 ], 775 }, 776 ] 777 }, { 778 'sources!': [ 779 'ozone/media_ozone_platform.cc', 780 'ozone/media_ozone_platform.h', 781 ] 782 }], 783 ['OS!="linux"', { 784 'sources!': [ 785 'audio/cras/audio_manager_cras.cc', 786 'audio/cras/audio_manager_cras.h', 787 'audio/cras/cras_input.cc', 788 'audio/cras/cras_input.h', 789 'audio/cras/cras_unified.cc', 790 'audio/cras/cras_unified.h', 791 ], 792 }], 793 ['use_pulseaudio==1', { 794 'cflags': [ 795 '<!@(<(pkg-config) --cflags libpulse)', 796 ], 797 'defines': [ 798 'USE_PULSEAUDIO', 799 ], 800 'conditions': [ 801 ['linux_link_pulseaudio==0', { 802 'defines': [ 803 'DLOPEN_PULSEAUDIO', 804 ], 805 'variables': { 806 'generate_stubs_script': '../tools/generate_stubs/generate_stubs.py', 807 'extra_header': 'audio/pulse/pulse_stub_header.fragment', 808 'sig_files': ['audio/pulse/pulse.sigs'], 809 'outfile_type': 'posix_stubs', 810 'stubs_filename_root': 'pulse_stubs', 811 'project_path': 'media/audio/pulse', 812 'intermediate_dir': '<(INTERMEDIATE_DIR)', 813 'output_root': '<(SHARED_INTERMEDIATE_DIR)/pulse', 814 }, 815 'include_dirs': [ 816 '<(output_root)', 817 ], 818 'actions': [ 819 { 820 'action_name': 'generate_stubs', 821 'inputs': [ 822 '<(generate_stubs_script)', 823 '<(extra_header)', 824 '<@(sig_files)', 825 ], 826 'outputs': [ 827 '<(intermediate_dir)/<(stubs_filename_root).cc', 828 '<(output_root)/<(project_path)/<(stubs_filename_root).h', 829 ], 830 'action': ['python', 831 '<(generate_stubs_script)', 832 '-i', '<(intermediate_dir)', 833 '-o', '<(output_root)/<(project_path)', 834 '-t', '<(outfile_type)', 835 '-e', '<(extra_header)', 836 '-s', '<(stubs_filename_root)', 837 '-p', '<(project_path)', 838 '<@(_inputs)', 839 ], 840 'process_outputs_as_sources': 1, 841 'message': 'Generating Pulse stubs for dynamic loading', 842 }, 843 ], 844 'conditions': [ 845 # Linux/Solaris need libdl for dlopen() and friends. 846 ['OS=="linux" or OS=="solaris"', { 847 'link_settings': { 848 'libraries': [ 849 '-ldl', 850 ], 851 }, 852 }], 853 ], 854 }, { # else: linux_link_pulseaudio==0 855 'link_settings': { 856 'ldflags': [ 857 '<!@(<(pkg-config) --libs-only-L --libs-only-other libpulse)', 858 ], 859 'libraries': [ 860 '<!@(<(pkg-config) --libs-only-l libpulse)', 861 ], 862 }, 863 }], 864 ], 865 }, { # else: use_pulseaudio==0 866 'sources!': [ 867 'audio/pulse/audio_manager_pulse.cc', 868 'audio/pulse/audio_manager_pulse.h', 869 'audio/pulse/pulse_input.cc', 870 'audio/pulse/pulse_input.h', 871 'audio/pulse/pulse_output.cc', 872 'audio/pulse/pulse_output.h', 873 'audio/pulse/pulse_util.cc', 874 'audio/pulse/pulse_util.h', 875 ], 876 }], 877 ['OS=="mac"', { 878 'dependencies': [ 879 '../third_party/decklink/decklink.gyp:decklink', 880 ], 881 'link_settings': { 882 'libraries': [ 883 '$(SDKROOT)/System/Library/Frameworks/AudioToolbox.framework', 884 '$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework', 885 '$(SDKROOT)/System/Library/Frameworks/CoreAudio.framework', 886 '$(SDKROOT)/System/Library/Frameworks/CoreMIDI.framework', 887 '$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework', 888 '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework', 889 '$(SDKROOT)/System/Library/Frameworks/QTKit.framework', 890 ], 891 }, 892 }], 893 ['OS=="win"', { 894 'link_settings': { 895 'libraries': [ 896 '-lmf.lib', 897 '-lmfplat.lib', 898 '-lmfreadwrite.lib', 899 '-lmfuuid.lib', 900 ], 901 }, 902 # Specify delayload for media.dll. 903 'msvs_settings': { 904 'VCLinkerTool': { 905 'DelayLoadDLLs': [ 906 'mf.dll', 907 'mfplat.dll', 908 'mfreadwrite.dll', 909 ], 910 }, 911 }, 912 # Specify delayload for components that link with media.lib. 913 'all_dependent_settings': { 914 'msvs_settings': { 915 'VCLinkerTool': { 916 'DelayLoadDLLs': [ 917 'mf.dll', 918 'mfplat.dll', 919 'mfreadwrite.dll', 920 ], 921 }, 922 }, 923 }, 924 # TODO(wolenetz): Fix size_t to int truncations in win64. See 925 # http://crbug.com/171009 926 'conditions': [ 927 ['target_arch=="x64"', { 928 'msvs_disabled_warnings': [ 4267, ], 929 }], 930 ], 931 }], 932 ['proprietary_codecs==1', { 933 'sources': [ 934 'filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc', 935 'filters/ffmpeg_h264_to_annex_b_bitstream_converter.h', 936 'filters/h264_to_annex_b_bitstream_converter.cc', 937 'filters/h264_to_annex_b_bitstream_converter.h', 938 'formats/mp2t/es_adapter_video.cc', 939 'formats/mp2t/es_adapter_video.h', 940 'formats/mp2t/es_parser.cc', 941 'formats/mp2t/es_parser.h', 942 'formats/mp2t/es_parser_adts.cc', 943 'formats/mp2t/es_parser_adts.h', 944 'formats/mp2t/es_parser_h264.cc', 945 'formats/mp2t/es_parser_h264.h', 946 'formats/mp2t/es_parser_mpeg1audio.cc', 947 'formats/mp2t/es_parser_mpeg1audio.h', 948 'formats/mp2t/mp2t_common.h', 949 'formats/mp2t/mp2t_stream_parser.cc', 950 'formats/mp2t/mp2t_stream_parser.h', 951 'formats/mp2t/timestamp_unroller.cc', 952 'formats/mp2t/timestamp_unroller.h', 953 'formats/mp2t/ts_packet.cc', 954 'formats/mp2t/ts_packet.h', 955 'formats/mp2t/ts_section.h', 956 'formats/mp2t/ts_section_pat.cc', 957 'formats/mp2t/ts_section_pat.h', 958 'formats/mp2t/ts_section_pes.cc', 959 'formats/mp2t/ts_section_pes.h', 960 'formats/mp2t/ts_section_pmt.cc', 961 'formats/mp2t/ts_section_pmt.h', 962 'formats/mp2t/ts_section_psi.cc', 963 'formats/mp2t/ts_section_psi.h', 964 'formats/mp4/aac.cc', 965 'formats/mp4/aac.h', 966 'formats/mp4/avc.cc', 967 'formats/mp4/avc.h', 968 'formats/mp4/box_definitions.cc', 969 'formats/mp4/box_definitions.h', 970 'formats/mp4/box_reader.cc', 971 'formats/mp4/box_reader.h', 972 'formats/mp4/cenc.cc', 973 'formats/mp4/cenc.h', 974 'formats/mp4/es_descriptor.cc', 975 'formats/mp4/es_descriptor.h', 976 'formats/mp4/mp4_stream_parser.cc', 977 'formats/mp4/mp4_stream_parser.h', 978 'formats/mp4/sample_to_group_iterator.cc', 979 'formats/mp4/sample_to_group_iterator.h', 980 'formats/mp4/track_run_iterator.cc', 981 'formats/mp4/track_run_iterator.h', 982 'formats/mpeg/adts_constants.cc', 983 'formats/mpeg/adts_constants.h', 984 'formats/mpeg/adts_stream_parser.cc', 985 'formats/mpeg/adts_stream_parser.h', 986 'formats/mpeg/mpeg_audio_stream_parser_base.cc', 987 'formats/mpeg/mpeg_audio_stream_parser_base.h', 988 'formats/mpeg/mpeg1_audio_stream_parser.cc', 989 'formats/mpeg/mpeg1_audio_stream_parser.h', 990 ], 991 }], 992 ['target_arch=="ia32" or target_arch=="x64"', { 993 'dependencies': [ 994 'media_asm', 995 'media_sse2', 996 ], 997 'sources': [ 998 'base/simd/convert_yuv_to_rgb_x86.cc', 999 ], 1000 }], 1001 ['OS!="linux" and OS!="win"', { 1002 'sources!': [ 1003 'base/keyboard_event_counter.cc', 1004 'base/keyboard_event_counter.h', 1005 ], 1006 }], 1007 ], # conditions 1008 'target_conditions': [ 1009 ['OS == "ios" and _toolset != "host"', { 1010 'sources/': [ 1011 # Pull in specific Mac files for iOS (which have been filtered out 1012 # by file name rules). 1013 ['include', '^base/mac/coremedia_glue\\.h$'], 1014 ['include', '^base/mac/coremedia_glue\\.mm$'], 1015 ['include', '^base/mac/corevideo_glue\\.h$'], 1016 ['include', '^base/mac/videotoolbox_glue\\.h$'], 1017 ['include', '^base/mac/videotoolbox_glue\\.mm$'], 1018 ], 1019 }], 1020 ], # target_conditions 1021 }, 1022 { 1023 # GN version: //media/mojo/interfaces 1024 'target_name': 'media_mojo_bindings', 1025 'type': 'static_library', 1026 'sources': [ 1027 'mojo/interfaces/media_types.mojom', 1028 'mojo/interfaces/media_renderer.mojom', 1029 'mojo/interfaces/demuxer_stream.mojom', 1030 ], 1031 'includes': [ 1032 '../mojo/public/tools/bindings/mojom_bindings_generator.gypi' 1033 ], 1034 'export_dependent_settings': [ 1035 '../mojo/mojo_base.gyp:mojo_cpp_bindings', 1036 ], 1037 'dependencies': [ 1038 '../mojo/mojo_base.gyp:mojo_cpp_bindings', 1039 ], 1040 }, 1041 { 1042 'target_name': 'media_mojo_lib', 1043 'type': 'static_library', 1044 'includes': [ 1045 '../mojo/mojo_variables.gypi', 1046 ], 1047 'dependencies': [ 1048 'media', 1049 'media_mojo_bindings', 1050 '../base/base.gyp:base', 1051 '../mojo/mojo_base.gyp:mojo_application_base', 1052 '../mojo/mojo_base.gyp:mojo_application_bindings', 1053 '../mojo/mojo_base.gyp:mojo_environment_chromium', 1054 '<(mojo_system_for_component)', 1055 ], 1056 'export_dependent_settings': [ 1057 'media_mojo_bindings', 1058 ], 1059 'sources': [ 1060 'mojo/services/media_type_converters.cc', 1061 'mojo/services/media_type_converters.h', 1062 'mojo/services/mojo_demuxer_stream_impl.cc', 1063 'mojo/services/mojo_demuxer_stream_impl.h', 1064 'mojo/services/mojo_renderer_impl.cc', 1065 'mojo/services/mojo_renderer_impl.h', 1066 ], 1067 }, 1068 { 1069 'target_name': 'media_mojo_renderer_app', 1070 'type': 'loadable_module', 1071 'includes': [ 1072 '../mojo/mojo_variables.gypi', 1073 ], 1074 'dependencies': [ 1075 '../base/base.gyp:base', 1076 '../mojo/mojo_base.gyp:mojo_application_chromium', 1077 '<(mojo_system_for_loadable_module)', 1078 'media_mojo_lib', 1079 'shared_memory_support', 1080 ], 1081 'sources': [ 1082 'mojo/services/mojo_demuxer_stream_adapter.cc', 1083 'mojo/services/mojo_demuxer_stream_adapter.h', 1084 'mojo/services/mojo_renderer_service.cc', 1085 'mojo/services/mojo_renderer_service.h', 1086 ], 1087 }, 1088 { 1089 'target_name': 'media_mojo_lib_unittests', 1090 'type': '<(gtest_target_type)', 1091 'dependencies': [ 1092 'media', 1093 'media_mojo_bindings', 1094 'media_mojo_lib', 1095 '../base/base.gyp:base', 1096 '../base/base.gyp:test_support_base', 1097 '../testing/gtest.gyp:gtest', 1098 '../mojo/mojo_base.gyp:mojo_environment_chromium', 1099 '../mojo/mojo_base.gyp:mojo_run_all_unittests', 1100 ], 1101 'sources': [ 1102 'mojo/services/media_type_converters_unittest.cc', 1103 ], 1104 }, 1105 { 1106 'target_name': 'media_mojo_renderer_apptest', 1107 'type': 'loadable_module', 1108 'includes': [ 1109 '../mojo/mojo_variables.gypi', 1110 ], 1111 'dependencies': [ 1112 'media', 1113 'media_mojo_bindings', 1114 'media_mojo_lib', 1115 'media_mojo_renderer_app', 1116 'media_test_support', 1117 '../base/base.gyp:base', 1118 '../base/base.gyp:test_support_base', 1119 '../testing/gtest.gyp:gtest', 1120 '../mojo/mojo_base.gyp:mojo_application_chromium', 1121 '<(mojo_system_for_loadable_module)', 1122 ], 1123 'sources': [ 1124 'mojo/services/renderer_unittest.cc', 1125 ], 1126 }, 1127 { 1128 'target_name': 'media_mojo', 1129 'type': 'none', 1130 'dependencies': [ 1131 'media_mojo_lib', 1132 'media_mojo_lib_unittests', 1133 'media_mojo_renderer_app', 1134 'media_mojo_renderer_apptest', 1135 ] 1136 }, 1137 { 1138 # GN version: //media:media_unittests 1139 'target_name': 'media_unittests', 1140 'type': '<(gtest_target_type)', 1141 'dependencies': [ 1142 'media', 1143 'media_test_support', 1144 'shared_memory_support', 1145 '../base/base.gyp:base', 1146 '../base/base.gyp:base_i18n', 1147 '../base/base.gyp:test_support_base', 1148 '../gpu/gpu.gyp:command_buffer_common', 1149 '../skia/skia.gyp:skia', 1150 '../testing/gmock.gyp:gmock', 1151 '../testing/gtest.gyp:gtest', 1152 '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h', 1153 '../ui/gfx/gfx.gyp:gfx', 1154 '../ui/gfx/gfx.gyp:gfx_geometry', 1155 '../ui/gfx/gfx.gyp:gfx_test_support', 1156 '../url/url.gyp:url_lib', 1157 ], 1158 'sources': [ 1159 'audio/android/audio_android_unittest.cc', 1160 'audio/alsa/alsa_output_unittest.cc', 1161 'audio/audio_input_controller_unittest.cc', 1162 'audio/audio_input_unittest.cc', 1163 'audio/audio_input_volume_unittest.cc', 1164 'audio/audio_low_latency_input_output_unittest.cc', 1165 'audio/audio_manager_unittest.cc', 1166 'audio/audio_output_controller_unittest.cc', 1167 'audio/audio_output_device_unittest.cc', 1168 'audio/audio_output_proxy_unittest.cc', 1169 'audio/audio_parameters_unittest.cc', 1170 'audio/audio_power_monitor_unittest.cc', 1171 'audio/fake_audio_consumer_unittest.cc', 1172 'audio/mac/audio_auhal_mac_unittest.cc', 1173 'audio/mac/audio_device_listener_mac_unittest.cc', 1174 'audio/mac/audio_low_latency_input_mac_unittest.cc', 1175 'audio/simple_sources_unittest.cc', 1176 'audio/sounds/audio_stream_handler_unittest.cc', 1177 'audio/sounds/sounds_manager_unittest.cc', 1178 'audio/sounds/test_data.cc', 1179 'audio/sounds/test_data.h', 1180 'audio/sounds/wav_audio_handler_unittest.cc', 1181 'audio/virtual_audio_input_stream_unittest.cc', 1182 'audio/virtual_audio_output_stream_unittest.cc', 1183 'audio/win/audio_device_listener_win_unittest.cc', 1184 'audio/win/audio_low_latency_input_win_unittest.cc', 1185 'audio/win/audio_low_latency_output_win_unittest.cc', 1186 'audio/win/audio_output_win_unittest.cc', 1187 'audio/win/core_audio_util_win_unittest.cc', 1188 'base/android/media_codec_bridge_unittest.cc', 1189 'base/android/media_drm_bridge_unittest.cc', 1190 'base/android/media_source_player_unittest.cc', 1191 'base/audio_block_fifo_unittest.cc', 1192 'base/audio_buffer_converter_unittest.cc', 1193 'base/audio_buffer_unittest.cc', 1194 'base/audio_buffer_queue_unittest.cc', 1195 'base/audio_bus_unittest.cc', 1196 'base/audio_converter_unittest.cc', 1197 'base/audio_discard_helper_unittest.cc', 1198 'base/audio_fifo_unittest.cc', 1199 'base/audio_hardware_config_unittest.cc', 1200 'base/audio_hash_unittest.cc', 1201 'base/audio_pull_fifo_unittest.cc', 1202 'base/audio_renderer_mixer_input_unittest.cc', 1203 'base/audio_renderer_mixer_unittest.cc', 1204 'base/audio_splicer_unittest.cc', 1205 'base/audio_timestamp_helper_unittest.cc', 1206 'base/audio_video_metadata_extractor_unittest.cc', 1207 'base/bind_to_current_loop_unittest.cc', 1208 'base/bit_reader_unittest.cc', 1209 'base/callback_holder.h', 1210 'base/callback_holder_unittest.cc', 1211 'base/channel_mixer_unittest.cc', 1212 'base/container_names_unittest.cc', 1213 'base/data_buffer_unittest.cc', 1214 'base/decoder_buffer_queue_unittest.cc', 1215 'base/decoder_buffer_unittest.cc', 1216 'base/djb2_unittest.cc', 1217 'base/gmock_callback_support_unittest.cc', 1218 'base/media_file_checker_unittest.cc', 1219 'base/multi_channel_resampler_unittest.cc', 1220 'base/pipeline_unittest.cc', 1221 'base/ranges_unittest.cc', 1222 'base/run_all_unittests.cc', 1223 'base/scoped_histogram_timer_unittest.cc', 1224 'base/serial_runner_unittest.cc', 1225 'base/seekable_buffer_unittest.cc', 1226 'base/sinc_resampler_unittest.cc', 1227 'base/stream_parser_unittest.cc', 1228 'base/text_ranges_unittest.cc', 1229 'base/text_renderer_unittest.cc', 1230 'base/time_delta_interpolator_unittest.cc', 1231 'base/user_input_monitor_unittest.cc', 1232 'base/vector_math_testing.h', 1233 'base/vector_math_unittest.cc', 1234 'base/video_frame_unittest.cc', 1235 'base/video_frame_pool_unittest.cc', 1236 'base/video_util_unittest.cc', 1237 'base/wall_clock_time_source_unittest.cc', 1238 'base/yuv_convert_unittest.cc', 1239 'cdm/aes_decryptor_unittest.cc', 1240 'cdm/json_web_key_unittest.cc', 1241 'ffmpeg/ffmpeg_common_unittest.cc', 1242 'filters/audio_clock_unittest.cc', 1243 'filters/audio_decoder_unittest.cc', 1244 'filters/audio_decoder_selector_unittest.cc', 1245 'filters/audio_file_reader_unittest.cc', 1246 'filters/audio_renderer_algorithm_unittest.cc', 1247 'filters/audio_renderer_impl_unittest.cc', 1248 'filters/blocking_url_protocol_unittest.cc', 1249 'filters/chunk_demuxer_unittest.cc', 1250 'filters/decrypting_audio_decoder_unittest.cc', 1251 'filters/decrypting_demuxer_stream_unittest.cc', 1252 'filters/decrypting_video_decoder_unittest.cc', 1253 'filters/fake_demuxer_stream.cc', 1254 'filters/fake_demuxer_stream.h', 1255 'filters/fake_demuxer_stream_unittest.cc', 1256 'filters/fake_video_decoder.cc', 1257 'filters/fake_video_decoder.h', 1258 'filters/fake_video_decoder_unittest.cc', 1259 'filters/ffmpeg_demuxer_unittest.cc', 1260 'filters/ffmpeg_glue_unittest.cc', 1261 'filters/ffmpeg_video_decoder_unittest.cc', 1262 'filters/file_data_source_unittest.cc', 1263 'filters/frame_processor_unittest.cc', 1264 'filters/h264_bit_reader_unittest.cc', 1265 'filters/h264_parser_unittest.cc', 1266 'filters/in_memory_url_protocol_unittest.cc', 1267 'filters/pipeline_integration_test.cc', 1268 'filters/pipeline_integration_test_base.cc', 1269 'filters/renderer_impl_unittest.cc', 1270 'filters/skcanvas_video_renderer_unittest.cc', 1271 'filters/source_buffer_stream_unittest.cc', 1272 'filters/video_decoder_selector_unittest.cc', 1273 'filters/video_frame_scheduler_impl_unittest.cc', 1274 'filters/video_frame_scheduler_unittest.cc', 1275 'filters/video_frame_stream_unittest.cc', 1276 'filters/video_renderer_impl_unittest.cc', 1277 'midi/midi_manager_unittest.cc', 1278 'midi/midi_manager_usb_unittest.cc', 1279 'midi/midi_message_queue_unittest.cc', 1280 'midi/midi_message_util_unittest.cc', 1281 'midi/usb_midi_descriptor_parser_unittest.cc', 1282 'midi/usb_midi_input_stream_unittest.cc', 1283 'midi/usb_midi_output_stream_unittest.cc', 1284 'video/capture/fake_video_capture_device_unittest.cc', 1285 'video/capture/video_capture_device_unittest.cc', 1286 'formats/common/offset_byte_queue_unittest.cc', 1287 'formats/webm/cluster_builder.cc', 1288 'formats/webm/cluster_builder.h', 1289 'formats/webm/tracks_builder.cc', 1290 'formats/webm/tracks_builder.h', 1291 'formats/webm/webm_cluster_parser_unittest.cc', 1292 'formats/webm/webm_content_encodings_client_unittest.cc', 1293 'formats/webm/webm_parser_unittest.cc', 1294 'formats/webm/webm_tracks_parser_unittest.cc', 1295 'formats/webm/webm_webvtt_parser_unittest.cc', 1296 ], 1297 'include_dirs': [ 1298 # Needed by media_drm_bridge.cc. 1299 '<(SHARED_INTERMEDIATE_DIR)', 1300 ], 1301 'conditions': [ 1302 ['arm_neon==1', { 1303 'defines': [ 1304 'USE_NEON' 1305 ], 1306 }], 1307 ['media_use_ffmpeg==1', { 1308 'dependencies': [ 1309 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg', 1310 ], 1311 }, { # media_use_ffmpeg== 0 1312 'sources!': [ 1313 'base/audio_video_metadata_extractor_unittest.cc', 1314 'base/container_names_unittest.cc', 1315 'base/media_file_checker_unittest.cc', 1316 'ffmpeg/ffmpeg_common_unittest.cc', 1317 'filters/audio_decoder_unittest.cc', 1318 'filters/audio_file_reader_unittest.cc', 1319 'filters/blocking_url_protocol_unittest.cc', 1320 'filters/ffmpeg_demuxer_unittest.cc', 1321 'filters/ffmpeg_glue_unittest.cc', 1322 'filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc', 1323 'filters/ffmpeg_video_decoder_unittest.cc', 1324 'filters/in_memory_url_protocol_unittest.cc', 1325 'filters/pipeline_integration_test.cc', 1326 'filters/pipeline_integration_test_base.cc', 1327 ], 1328 }], 1329 ['use_alsa==1', { 1330 'defines': [ 1331 'USE_ALSA', 1332 ], 1333 }], 1334 ['use_pulseaudio==1', { 1335 'defines': [ 1336 'USE_PULSEAUDIO', 1337 ], 1338 }], 1339 ['os_posix==1 and OS!="mac"', { 1340 'conditions': [ 1341 ['use_allocator!="none"', { 1342 'dependencies': [ 1343 '../base/allocator/allocator.gyp:allocator', 1344 ], 1345 }], 1346 ], 1347 }], 1348 ['OS=="android"', { 1349 'sources!': [ 1350 'audio/audio_input_volume_unittest.cc', 1351 ], 1352 'dependencies': [ 1353 '../testing/android/native_test.gyp:native_test_native_code', 1354 'player_android', 1355 ], 1356 }], 1357 ['OS=="linux"', { 1358 'conditions': [ 1359 ['use_cras==1', { 1360 'sources': [ 1361 'audio/cras/cras_input_unittest.cc', 1362 'audio/cras/cras_unified_unittest.cc', 1363 ], 1364 'defines': [ 1365 'USE_CRAS', 1366 ], 1367 }], 1368 ], 1369 }], 1370 ['target_arch != "arm" and chromeos == 1 and use_x11 == 1', { 1371 'sources': [ 1372 'filters/h264_bitstream_buffer_unittest.cc', 1373 ], 1374 }], 1375 ['use_alsa==0', { 1376 'sources!': [ 1377 'audio/alsa/alsa_output_unittest.cc', 1378 'audio/audio_low_latency_input_output_unittest.cc', 1379 ], 1380 }], 1381 ['target_arch=="ia32" or target_arch=="x64"', { 1382 'sources': [ 1383 'base/simd/convert_rgb_to_yuv_unittest.cc', 1384 ], 1385 }], 1386 ['proprietary_codecs==1', { 1387 'sources': [ 1388 'filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc', 1389 'filters/h264_to_annex_b_bitstream_converter_unittest.cc', 1390 'formats/common/stream_parser_test_base.cc', 1391 'formats/common/stream_parser_test_base.h', 1392 'formats/mp2t/es_adapter_video_unittest.cc', 1393 'formats/mp2t/es_parser_adts_unittest.cc', 1394 'formats/mp2t/es_parser_h264_unittest.cc', 1395 'formats/mp2t/es_parser_mpeg1audio_unittest.cc', 1396 'formats/mp2t/es_parser_test_base.cc', 1397 'formats/mp2t/es_parser_test_base.h', 1398 'formats/mp2t/mp2t_stream_parser_unittest.cc', 1399 'formats/mp2t/timestamp_unroller_unittest.cc', 1400 'formats/mp4/aac_unittest.cc', 1401 'formats/mp4/avc_unittest.cc', 1402 'formats/mp4/box_reader_unittest.cc', 1403 'formats/mp4/es_descriptor_unittest.cc', 1404 'formats/mp4/mp4_stream_parser_unittest.cc', 1405 'formats/mp4/sample_to_group_iterator_unittest.cc', 1406 'formats/mp4/track_run_iterator_unittest.cc', 1407 'formats/mpeg/adts_stream_parser_unittest.cc', 1408 'formats/mpeg/mpeg1_audio_stream_parser_unittest.cc', 1409 ], 1410 }], 1411 # TODO(wolenetz): Fix size_t to int truncations in win64. See 1412 # http://crbug.com/171009 1413 ['OS=="win" and target_arch=="x64"', { 1414 'msvs_disabled_warnings': [ 4267, ], 1415 }], 1416 ['OS=="mac"', { 1417 'sources': [ 1418 'video/capture/mac/video_capture_device_factory_mac_unittest.mm', 1419 ] 1420 }], 1421 ], 1422 }, 1423 { 1424 # GN version: //media:media_perftests 1425 'target_name': 'media_perftests', 1426 'type': '<(gtest_target_type)', 1427 'dependencies': [ 1428 '../base/base.gyp:test_support_base', 1429 '../testing/gmock.gyp:gmock', 1430 '../testing/gtest.gyp:gtest', 1431 '../testing/perf/perf_test.gyp:perf_test', 1432 '../ui/gfx/gfx.gyp:gfx', 1433 '../ui/gfx/gfx.gyp:gfx_test_support', 1434 '../ui/gfx/gfx.gyp:gfx_geometry', 1435 'media', 1436 'media_test_support', 1437 'shared_memory_support', 1438 ], 1439 'sources': [ 1440 'base/audio_bus_perftest.cc', 1441 'base/audio_converter_perftest.cc', 1442 'base/demuxer_perftest.cc', 1443 'base/run_all_perftests.cc', 1444 'base/sinc_resampler_perftest.cc', 1445 'base/vector_math_perftest.cc', 1446 'base/yuv_convert_perftest.cc', 1447 'filters/pipeline_integration_perftest.cc', 1448 'filters/pipeline_integration_test_base.cc', 1449 ], 1450 'conditions': [ 1451 ['arm_neon==1', { 1452 'defines': [ 1453 'USE_NEON' 1454 ], 1455 }], 1456 ['OS=="android"', { 1457 'dependencies': [ 1458 '../testing/android/native_test.gyp:native_test_native_code', 1459 '../ui/gl/gl.gyp:gl', 1460 ], 1461 }], 1462 ['media_use_ffmpeg==1', { 1463 'dependencies': [ 1464 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg', 1465 ], 1466 }, { # media_use_ffmpeg==0 1467 'sources!': [ 1468 'base/demuxer_perftest.cc', 1469 'filters/pipeline_integration_perftest.cc', 1470 'filters/pipeline_integration_test_base.cc', 1471 ], 1472 }], 1473 ], 1474 }, 1475 { 1476 # GN version: //media:test_support 1477 'target_name': 'media_test_support', 1478 'type': 'static_library', 1479 'dependencies': [ 1480 'media', 1481 'shared_memory_support', 1482 '../base/base.gyp:base', 1483 '../skia/skia.gyp:skia', 1484 '../testing/gmock.gyp:gmock', 1485 '../testing/gtest.gyp:gtest', 1486 ], 1487 'sources': [ 1488 'audio/mock_audio_manager.cc', 1489 'audio/mock_audio_manager.h', 1490 'audio/mock_audio_source_callback.cc', 1491 'audio/mock_audio_source_callback.h', 1492 'audio/test_audio_input_controller_factory.cc', 1493 'audio/test_audio_input_controller_factory.h', 1494 'base/fake_audio_render_callback.cc', 1495 'base/fake_audio_render_callback.h', 1496 'base/fake_audio_renderer_sink.cc', 1497 'base/fake_audio_renderer_sink.h', 1498 'base/fake_text_track_stream.cc', 1499 'base/fake_text_track_stream.h', 1500 'base/gmock_callback_support.h', 1501 'base/mock_audio_renderer_sink.cc', 1502 'base/mock_audio_renderer_sink.h', 1503 'base/mock_demuxer_host.cc', 1504 'base/mock_demuxer_host.h', 1505 'base/mock_filters.cc', 1506 'base/mock_filters.h', 1507 'base/test_data_util.cc', 1508 'base/test_data_util.h', 1509 'base/test_helpers.cc', 1510 'base/test_helpers.h', 1511 'filters/clockless_video_frame_scheduler.cc', 1512 'filters/clockless_video_frame_scheduler.h', 1513 'filters/mock_gpu_video_accelerator_factories.cc', 1514 'filters/mock_gpu_video_accelerator_factories.h', 1515 'filters/test_video_frame_scheduler.cc', 1516 'filters/test_video_frame_scheduler.h', 1517 'video/mock_video_decode_accelerator.cc', 1518 'video/mock_video_decode_accelerator.h', 1519 ], 1520 }, 1521 { 1522 # Minimal target for NaCl and other renderer side media clients which 1523 # only need to send audio data across the shared memory to the browser 1524 # process. 1525 # GN version: //media:shared_memory_support 1526 'target_name': 'shared_memory_support', 1527 'type': '<(component)', 1528 'dependencies': [ 1529 '../base/base.gyp:base', 1530 ], 1531 'defines': [ 1532 'MEDIA_IMPLEMENTATION', 1533 ], 1534 'include_dirs': [ 1535 '..', 1536 ], 1537 'includes': [ 1538 'shared_memory_support.gypi', 1539 ], 1540 'sources': [ 1541 '<@(shared_memory_support_sources)', 1542 ], 1543 'conditions': [ 1544 ['arm_neon==1', { 1545 'defines': [ 1546 'USE_NEON' 1547 ], 1548 }], 1549 ], 1550 }, 1551 ], 1552 'conditions': [ 1553 ['target_arch!="arm"', { 1554 'targets': [ 1555 { 1556 'target_name': 'media_asm', 1557 'type': 'static_library', 1558 'sources': [ 1559 'base/simd/convert_rgb_to_yuv_ssse3.asm', 1560 'base/simd/convert_yuv_to_rgb_sse.asm', 1561 'base/simd/convert_yuva_to_argb_mmx.asm', 1562 'base/simd/empty_register_state_mmx.asm', 1563 'base/simd/linear_scale_yuv_to_rgb_mmx.asm', 1564 'base/simd/linear_scale_yuv_to_rgb_sse.asm', 1565 'base/simd/scale_yuv_to_rgb_mmx.asm', 1566 'base/simd/scale_yuv_to_rgb_sse.asm', 1567 ], 1568 'conditions': [ 1569 ['component=="shared_library"', { 1570 'variables': { 1571 'yasm_flags': ['-DEXPORT_SYMBOLS'], 1572 }, 1573 }], 1574 ['target_arch=="x64"', { 1575 # Source files optimized for X64 systems. 1576 'sources': [ 1577 'base/simd/linear_scale_yuv_to_rgb_mmx_x64.asm', 1578 'base/simd/scale_yuv_to_rgb_sse2_x64.asm', 1579 ], 1580 'variables': { 1581 'yasm_flags': ['-DARCH_X86_64'], 1582 }, 1583 }], 1584 ['OS=="mac" or OS=="ios"', { 1585 'variables': { 1586 'yasm_flags': [ 1587 '-DPREFIX', 1588 '-DMACHO', 1589 ], 1590 }, 1591 'sources': [ 1592 # XCode doesn't want to link a pure assembly target and will 1593 # fail to link when it creates an empty file list. So add a 1594 # dummy file keep the linker happy. See http://crbug.com/157073 1595 'base/simd/xcode_hack.c', 1596 ], 1597 }], 1598 ['os_posix==1 and OS!="mac"', { 1599 'variables': { 1600 'conditions': [ 1601 ['target_arch=="ia32"', { 1602 'yasm_flags': [ 1603 '-DARCH_X86_32', 1604 '-DELF', 1605 ], 1606 }, { # target_arch=="x64" 1607 'yasm_flags': [ 1608 '-DARCH_X86_64', 1609 '-DELF', 1610 '-DPIC', 1611 ], 1612 }], 1613 ], 1614 }, 1615 }], 1616 ], 1617 'variables': { 1618 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/media', 1619 'yasm_flags': [ 1620 '-DCHROMIUM', 1621 # In addition to the same path as source asm, let yasm %include 1622 # search path be relative to src/ per Chromium policy. 1623 '-I..', 1624 ], 1625 'yasm_includes': [ 1626 '../third_party/x86inc/x86inc.asm', 1627 'base/simd/convert_rgb_to_yuv_ssse3.inc', 1628 'base/simd/convert_yuv_to_rgb_mmx.inc', 1629 'base/simd/convert_yuva_to_argb_mmx.inc', 1630 'base/simd/linear_scale_yuv_to_rgb_mmx.inc', 1631 'base/simd/media_export.asm', 1632 'base/simd/scale_yuv_to_rgb_mmx.inc', 1633 ], 1634 }, 1635 'msvs_2010_disable_uldi_when_referenced': 1, 1636 'includes': [ 1637 '../third_party/yasm/yasm_compile.gypi', 1638 ], 1639 }, 1640 { 1641 'target_name': 'media_sse2', 1642 'type': 'static_library', 1643 'cflags': [ 1644 '-msse2', 1645 ], 1646 'defines': [ 1647 'MEDIA_IMPLEMENTATION', 1648 ], 1649 'include_dirs': [ 1650 '..', 1651 ], 1652 'sources': [ 1653 'base/simd/convert_rgb_to_yuv_sse2.cc', 1654 'base/simd/convert_rgb_to_yuv_ssse3.cc', 1655 'base/simd/filter_yuv_sse2.cc', 1656 ], 1657 }, 1658 ], # targets 1659 }], 1660 ['use_x11==1', { 1661 'targets': [ 1662 { 1663 'target_name': 'player_x11', 1664 'type': 'executable', 1665 'dependencies': [ 1666 'media', 1667 'shared_memory_support', 1668 '../base/base.gyp:base', 1669 '../ui/gl/gl.gyp:gl', 1670 '../ui/gfx/gfx.gyp:gfx', 1671 '../ui/gfx/gfx.gyp:gfx_geometry', 1672 '../build/linux/system.gyp:x11', 1673 '../build/linux/system.gyp:xext', 1674 '../build/linux/system.gyp:xrender', 1675 ], 1676 'conditions': [ 1677 # Linux/Solaris need libdl for dlopen() and friends. 1678 ['OS=="linux" or OS=="solaris"', { 1679 'link_settings': { 1680 'libraries': [ 1681 '-ldl', 1682 ], 1683 }, 1684 }], 1685 ], 1686 'sources': [ 1687 'tools/player_x11/data_source_logger.cc', 1688 'tools/player_x11/data_source_logger.h', 1689 'tools/player_x11/gl_video_renderer.cc', 1690 'tools/player_x11/gl_video_renderer.h', 1691 'tools/player_x11/player_x11.cc', 1692 'tools/player_x11/x11_video_renderer.cc', 1693 'tools/player_x11/x11_video_renderer.h', 1694 ], 1695 }, 1696 ], 1697 }], 1698 ['OS=="android"', { 1699 'targets': [ 1700 { 1701 # TODO(GN) 1702 'target_name': 'media_unittests_apk', 1703 'type': 'none', 1704 'dependencies': [ 1705 'media_java', 1706 'media_unittests', 1707 ], 1708 'variables': { 1709 'test_suite_name': 'media_unittests', 1710 }, 1711 'includes': ['../build/apk_test.gypi'], 1712 }, 1713 { 1714 # TODO(GN) 1715 'target_name': 'media_perftests_apk', 1716 'type': 'none', 1717 'dependencies': [ 1718 'media_java', 1719 'media_perftests', 1720 ], 1721 'variables': { 1722 'test_suite_name': 'media_perftests', 1723 }, 1724 'includes': ['../build/apk_test.gypi'], 1725 }, 1726 { 1727 # GN: //media/base/android:media_android_jni_headers 1728 'target_name': 'media_android_jni_headers', 1729 'type': 'none', 1730 'sources': [ 1731 'base/android/java/src/org/chromium/media/AudioManagerAndroid.java', 1732 'base/android/java/src/org/chromium/media/AudioRecordInput.java', 1733 'base/android/java/src/org/chromium/media/MediaCodecBridge.java', 1734 'base/android/java/src/org/chromium/media/MediaDrmBridge.java', 1735 'base/android/java/src/org/chromium/media/MediaPlayerBridge.java', 1736 'base/android/java/src/org/chromium/media/MediaPlayerListener.java', 1737 'base/android/java/src/org/chromium/media/UsbMidiDeviceAndroid.java', 1738 'base/android/java/src/org/chromium/media/UsbMidiDeviceFactoryAndroid.java', 1739 'base/android/java/src/org/chromium/media/WebAudioMediaCodecBridge.java', 1740 ], 1741 'variables': { 1742 'jni_gen_package': 'media', 1743 }, 1744 'includes': ['../build/jni_generator.gypi'], 1745 }, 1746 { 1747 # GN: //media/base/android:video_capture_android_jni_headers 1748 'target_name': 'video_capture_android_jni_headers', 1749 'type': 'none', 1750 'sources': [ 1751 'base/android/java/src/org/chromium/media/VideoCapture.java', 1752 'base/android/java/src/org/chromium/media/VideoCaptureFactory.java', 1753 ], 1754 'variables': { 1755 'jni_gen_package': 'media', 1756 }, 1757 'includes': ['../build/jni_generator.gypi'], 1758 }, 1759 { 1760 # GN: //media/base/android:android 1761 'target_name': 'player_android', 1762 'type': 'static_library', 1763 'sources': [ 1764 'base/android/audio_decoder_job.cc', 1765 'base/android/audio_decoder_job.h', 1766 'base/android/browser_cdm_factory_android.cc', 1767 'base/android/media_codec_bridge.cc', 1768 'base/android/media_codec_bridge.h', 1769 'base/android/media_common_android.h', 1770 'base/android/media_decoder_job.cc', 1771 'base/android/media_decoder_job.h', 1772 'base/android/media_drm_bridge.cc', 1773 'base/android/media_drm_bridge.h', 1774 'base/android/media_jni_registrar.cc', 1775 'base/android/media_jni_registrar.h', 1776 'base/android/media_player_android.cc', 1777 'base/android/media_player_android.h', 1778 'base/android/media_player_bridge.cc', 1779 'base/android/media_player_bridge.h', 1780 'base/android/media_player_listener.cc', 1781 'base/android/media_player_listener.h', 1782 'base/android/media_source_player.cc', 1783 'base/android/media_source_player.h', 1784 'base/android/media_url_interceptor.h', 1785 'base/android/video_decoder_job.cc', 1786 'base/android/video_decoder_job.h', 1787 'base/android/webaudio_media_codec_bridge.cc', 1788 'base/android/webaudio_media_codec_bridge.h', 1789 'base/android/webaudio_media_codec_info.h', 1790 ], 1791 'dependencies': [ 1792 '../base/base.gyp:base', 1793 '../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h', 1794 '../ui/gl/gl.gyp:gl', 1795 '../url/url.gyp:url_lib', 1796 'media_android_jni_headers', 1797 ], 1798 'include_dirs': [ 1799 # Needed by media_drm_bridge.cc. 1800 '<(SHARED_INTERMEDIATE_DIR)', 1801 ], 1802 'defines': [ 1803 'MEDIA_IMPLEMENTATION', 1804 ], 1805 }, 1806 { 1807 # GN: //media/base/android:media_java 1808 'target_name': 'media_java', 1809 'type': 'none', 1810 'dependencies': [ 1811 '../base/base.gyp:base', 1812 'media_android_imageformat_list', 1813 ], 1814 'export_dependent_settings': [ 1815 '../base/base.gyp:base', 1816 ], 1817 'variables': { 1818 'java_in_dir': 'base/android/java', 1819 }, 1820 'includes': ['../build/java.gypi'], 1821 }, 1822 { 1823 # GN: //media/base/android:media_android_imageformat_list 1824 'target_name': 'media_android_imageformat_list', 1825 'type': 'none', 1826 'sources': [ 1827 'base/android/java/src/org/chromium/media/ImageFormat.template', 1828 ], 1829 'variables': { 1830 'package_name': 'org/chromium/media', 1831 'template_deps': ['video/capture/android/imageformat_list.h'], 1832 }, 1833 'includes': [ '../build/android/java_cpp_template.gypi' ], 1834 }, 1835 ], 1836 }], 1837 ['media_use_ffmpeg==1', { 1838 'targets': [ 1839 { 1840 # GN version: //media:ffmpeg_unittests 1841 'target_name': 'ffmpeg_unittests', 1842 'type': 'executable', 1843 'dependencies': [ 1844 '../base/base.gyp:base', 1845 '../base/base.gyp:base_i18n', 1846 '../base/base.gyp:test_support_base', 1847 '../testing/gtest.gyp:gtest', 1848 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg', 1849 'media', 1850 'media_test_support', 1851 ], 1852 'sources': [ 1853 'ffmpeg/ffmpeg_unittest.cc', 1854 ], 1855 }, 1856 { 1857 # GN version: //media:ffmpeg_regression_tests 1858 'target_name': 'ffmpeg_regression_tests', 1859 'type': 'executable', 1860 'dependencies': [ 1861 '../base/base.gyp:test_support_base', 1862 '../testing/gmock.gyp:gmock', 1863 '../testing/gtest.gyp:gtest', 1864 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg', 1865 '../ui/gfx/gfx.gyp:gfx_geometry', 1866 'media', 1867 'media_test_support', 1868 ], 1869 'sources': [ 1870 'base/run_all_unittests.cc', 1871 'ffmpeg/ffmpeg_regression_tests.cc', 1872 'filters/pipeline_integration_test_base.cc', 1873 ], 1874 'conditions': [ 1875 ['os_posix==1 and OS!="mac"', { 1876 'conditions': [ 1877 ['use_allocator!="none"', { 1878 'dependencies': [ 1879 '../base/allocator/allocator.gyp:allocator', 1880 ], 1881 }], 1882 ], 1883 }], 1884 ], 1885 }, 1886 ], 1887 }], 1888 ['OS=="ios"', { 1889 'targets': [ 1890 { 1891 # Minimal media component for media/cast on iOS. 1892 # GN version: //media:media_for_cast_ios 1893 'target_name': 'media_for_cast_ios', 1894 'type': '<(component)', 1895 'dependencies': [ 1896 '../base/base.gyp:base', 1897 '../ui/gfx/gfx.gyp:gfx_geometry', 1898 'shared_memory_support', 1899 ], 1900 'defines': [ 1901 'MEDIA_IMPLEMENTATION', 1902 'MEDIA_FOR_CAST_IOS', 1903 ], 1904 'direct_dependent_settings': { 1905 'include_dirs': [ 1906 '..', 1907 ], 1908 }, 1909 'include_dirs': [ 1910 '..', 1911 ], 1912 'sources': [ 1913 'base/mac/coremedia_glue.h', 1914 'base/mac/coremedia_glue.mm', 1915 'base/mac/corevideo_glue.h', 1916 'base/mac/videotoolbox_glue.h', 1917 'base/mac/videotoolbox_glue.mm', 1918 'base/video_frame.cc', 1919 'base/video_frame.h', 1920 ], 1921 'link_settings': { 1922 'libraries': [ 1923 '$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework', 1924 ], 1925 }, 1926 'conditions': [ 1927 ['arm_neon==1', { 1928 'defines': [ 1929 'USE_NEON' 1930 ], 1931 }], 1932 ], # conditions 1933 'target_conditions': [ 1934 ['OS == "ios" and _toolset != "host"', { 1935 'sources/': [ 1936 # Pull in specific Mac files for iOS (which have been filtered 1937 # out by file name rules). 1938 ['include', '^base/mac/coremedia_glue\\.h$'], 1939 ['include', '^base/mac/coremedia_glue\\.mm$'], 1940 ['include', '^base/mac/corevideo_glue\\.h$'], 1941 ['include', '^base/mac/videotoolbox_glue\\.h$'], 1942 ['include', '^base/mac/videotoolbox_glue\\.mm$'], 1943 ], 1944 }], 1945 ], # target_conditions 1946 }, 1947 ], 1948 }], 1949 ], 1950} 1951