OLD | NEW |
(Empty) | |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 import("//build/config/arm.gni") |
| 6 import("//build/config/ui.gni") |
| 7 import("//build/config/linux/pkg_config.gni") |
| 8 |
| 9 # These variables need to be args. |
| 10 |
| 11 # Override to dynamically link the cras (ChromeOS audio) library. |
| 12 use_cras = false |
| 13 |
| 14 # Option e.g. for Linux distributions to link pulseaudio directly |
| 15 # (DT_NEEDED) instead of using dlopen. This helps with automated |
| 16 # detection of ABI mismatches and prevents silent errors. |
| 17 # |
| 18 # TODO(ajwong): Why is this prefixed "linux_"? |
| 19 linux_link_pulseaudio = false |
| 20 |
| 21 # TODO(ajwong): Enable libvpx once that's converted. |
| 22 media_use_ffmpeg = true |
| 23 media_use_libvpx = false |
| 24 if (is_android) { |
| 25 # Android doesn't use ffmpeg or libvpx. |
| 26 media_use_ffmpeg = false |
| 27 media_use_libvpx = false |
| 28 } |
| 29 |
| 30 # TODO(ajwong): how to disable embedded? |
| 31 # Original conditional: (OS=="linux" or OS=="freebsd" or OS=="solaris") and embe
dded!=1 |
| 32 use_alsa = false |
| 33 use_pulseaudio = false |
| 34 if (is_posix) { |
| 35 use_alsa = true |
| 36 if (!use_cras) { |
| 37 use_pulseaudio = true |
| 38 } |
| 39 } |
| 40 |
| 41 # TODO(ajwong): is_openbsd should be a platform define. |
| 42 is_openbsd = false |
| 43 |
| 44 # TODO(ajwong): This should be branding controlled? |
| 45 proprietary_codecs = false |
| 46 |
| 47 # TODO(ajwong): Where are these coming from?jk |
| 48 enable_mpeg2ts_stream_parser = false |
| 49 enable_browser_cdms = false |
| 50 |
| 51 # Common configuration for targets in the media directory. |
| 52 # NOT for exporting. |
| 53 config("media_config") { |
| 54 defines = [ "MEDIA_IMPLEMENTATION" ] |
| 55 if (cpu_arch == "arm" && arm_use_neon) { |
| 56 defines += [ "USE_NEON" ] |
| 57 } |
| 58 if (!media_use_libvpx) { |
| 59 defines += [ "MEDIA_DISABLE_LIBVPX" ] |
| 60 } |
| 61 if (use_pulseaudio) { |
| 62 defines += [ "USE_PULSEAUDIO" ] |
| 63 if (linux_link_pulseaudio) { |
| 64 defines += [ "DLOPEN_PULSEAUDIO" ] |
| 65 } |
| 66 } |
| 67 if (use_cras) { |
| 68 defines = [ "USE_CRAS" ] |
| 69 } |
| 70 if (enable_mpeg2ts_stream_parser) { |
| 71 defines += [ "ENABLE_MPEG2TS_STREAM_PARSER" ] |
| 72 } |
| 73 } |
| 74 |
| 75 if (is_win) { |
| 76 config("media_dependent_config") { |
| 77 ldflags += [ |
| 78 "/DELAYLOAD:mf.dll", |
| 79 "/DELAYLOAD:mfplat.dll", |
| 80 "/DELAYLOAD:mfreadwrite.dll", |
| 81 ] |
| 82 } |
| 83 } |
| 84 |
| 85 if (!linux_link_pulseaudio) { |
| 86 # When libpulse is not directly linked, use stubs to allow for dlopening of |
| 87 # the binary. |
| 88 action("pulse_generate_stubs") { |
| 89 extra_header = "audio/pulse/pulse_stub_header.fragment" |
| 90 |
| 91 script = "../tools/generate_stubs/generate_stubs.py" |
| 92 sources = [ "audio/pulse/pulse.sigs" ] |
| 93 source_prereqs = [ extra_header ] |
| 94 stubs_filename_root = "pulse_stubs" |
| 95 |
| 96 # TODO(ajwong): these need to be included in the pulse build. |
| 97 outputs = [ |
| 98 "$target_gen_dir/audio/pulse/$stubs_filename_root.cc", |
| 99 "$target_gen_dir/audio/pulse/$stubs_filename_root.h", |
| 100 ] |
| 101 args = [ |
| 102 "-i", rebase_path("$target_gen_dir/audio/pulse", root_build_dir), |
| 103 "-o", rebase_path("$target_gen_dir/audio/pulse", root_build_dir), |
| 104 "-t", "posix_stubs", |
| 105 "-e", rebase_path(extra_header, root_build_dir), |
| 106 "-s", stubs_filename_root, |
| 107 "-p", "media/audio/pulse", |
| 108 ] |
| 109 |
| 110 args += rebase_path(sources, root_build_dir) |
| 111 } |
| 112 } |
| 113 |
| 114 component("media") { |
| 115 sources = [ |
| 116 "audio/agc_audio_stream.h", |
| 117 "audio/android/audio_record_input.cc", |
| 118 "audio/android/audio_record_input.h", |
| 119 "audio/android/opensles_input.cc", |
| 120 "audio/android/opensles_input.h", |
| 121 "audio/android/opensles_output.cc", |
| 122 "audio/android/opensles_output.h", |
| 123 "audio/android/opensles_wrapper.cc", |
| 124 "audio/audio_buffers_state.cc", |
| 125 "audio/audio_buffers_state.h", |
| 126 "audio/audio_device_name.cc", |
| 127 "audio/audio_device_name.h", |
| 128 "audio/audio_device_thread.cc", |
| 129 "audio/audio_device_thread.h", |
| 130 "audio/audio_input_controller.cc", |
| 131 "audio/audio_input_controller.h", |
| 132 "audio/audio_input_device.cc", |
| 133 "audio/audio_input_device.h", |
| 134 "audio/audio_input_ipc.cc", |
| 135 "audio/audio_input_ipc.h", |
| 136 "audio/audio_io.h", |
| 137 "audio/audio_manager.cc", |
| 138 "audio/audio_manager.h", |
| 139 "audio/audio_manager_base.cc", |
| 140 "audio/audio_manager_base.h", |
| 141 "audio/audio_output_controller.cc", |
| 142 "audio/audio_output_controller.h", |
| 143 "audio/audio_output_device.cc", |
| 144 "audio/audio_output_device.h", |
| 145 "audio/audio_output_dispatcher.cc", |
| 146 "audio/audio_output_dispatcher.h", |
| 147 "audio/audio_output_dispatcher_impl.cc", |
| 148 "audio/audio_output_dispatcher_impl.h", |
| 149 "audio/audio_output_ipc.cc", |
| 150 "audio/audio_output_ipc.h", |
| 151 "audio/audio_output_proxy.cc", |
| 152 "audio/audio_output_proxy.h", |
| 153 "audio/audio_output_resampler.cc", |
| 154 "audio/audio_output_resampler.h", |
| 155 "audio/audio_power_monitor.cc", |
| 156 "audio/audio_power_monitor.h", |
| 157 "audio/audio_source_diverter.h", |
| 158 "audio/clockless_audio_sink.cc", |
| 159 "audio/clockless_audio_sink.h", |
| 160 "audio/fake_audio_consumer.cc", |
| 161 "audio/fake_audio_consumer.h", |
| 162 "audio/fake_audio_input_stream.cc", |
| 163 "audio/fake_audio_input_stream.h", |
| 164 "audio/fake_audio_log_factory.h", |
| 165 "audio/fake_audio_log_factory.cc", |
| 166 "audio/fake_audio_manager.cc", |
| 167 "audio/fake_audio_manager.h", |
| 168 "audio/fake_audio_output_stream.cc", |
| 169 "audio/fake_audio_output_stream.h", |
| 170 "audio/linux/audio_manager_linux.cc", |
| 171 "audio/mac/audio_auhal_mac.cc", |
| 172 "audio/mac/audio_auhal_mac.h", |
| 173 "audio/mac/audio_device_listener_mac.cc", |
| 174 "audio/mac/audio_device_listener_mac.h", |
| 175 "audio/mac/audio_input_mac.cc", |
| 176 "audio/mac/audio_input_mac.h", |
| 177 "audio/mac/audio_low_latency_input_mac.cc", |
| 178 "audio/mac/audio_low_latency_input_mac.h", |
| 179 "audio/mac/audio_manager_mac.cc", |
| 180 "audio/mac/audio_manager_mac.h", |
| 181 "audio/null_audio_sink.cc", |
| 182 "audio/null_audio_sink.h", |
| 183 "audio/sample_rates.cc", |
| 184 "audio/sample_rates.h", |
| 185 "audio/scoped_task_runner_observer.cc", |
| 186 "audio/scoped_task_runner_observer.h", |
| 187 "audio/simple_sources.cc", |
| 188 "audio/simple_sources.h", |
| 189 "audio/sounds/audio_stream_handler.cc", |
| 190 "audio/sounds/audio_stream_handler.h", |
| 191 "audio/sounds/sounds_manager.cc", |
| 192 "audio/sounds/sounds_manager.h", |
| 193 "audio/sounds/wav_audio_handler.cc", |
| 194 "audio/sounds/wav_audio_handler.h", |
| 195 "audio/virtual_audio_input_stream.cc", |
| 196 "audio/virtual_audio_input_stream.h", |
| 197 "audio/virtual_audio_output_stream.cc", |
| 198 "audio/virtual_audio_output_stream.h", |
| 199 "audio/win/audio_device_listener_win.cc", |
| 200 "audio/win/audio_device_listener_win.h", |
| 201 "audio/win/audio_low_latency_input_win.cc", |
| 202 "audio/win/audio_low_latency_input_win.h", |
| 203 "audio/win/audio_low_latency_output_win.cc", |
| 204 "audio/win/audio_low_latency_output_win.h", |
| 205 "audio/win/audio_manager_win.cc", |
| 206 "audio/win/audio_manager_win.h", |
| 207 "audio/win/avrt_wrapper_win.cc", |
| 208 "audio/win/avrt_wrapper_win.h", |
| 209 "audio/win/core_audio_util_win.cc", |
| 210 "audio/win/core_audio_util_win.h", |
| 211 "audio/win/device_enumeration_win.cc", |
| 212 "audio/win/device_enumeration_win.h", |
| 213 "audio/win/wavein_input_win.cc", |
| 214 "audio/win/wavein_input_win.h", |
| 215 "audio/win/waveout_output_win.cc", |
| 216 "audio/win/waveout_output_win.h", |
| 217 "base/audio_buffer.cc", |
| 218 "base/audio_buffer.h", |
| 219 "base/audio_buffer_queue.cc", |
| 220 "base/audio_buffer_queue.h", |
| 221 "base/audio_capturer_source.h", |
| 222 "base/audio_buffer_converter.cc", |
| 223 "base/audio_buffer_converter.h", |
| 224 "base/audio_converter.cc", |
| 225 "base/audio_converter.h", |
| 226 "base/audio_decoder.cc", |
| 227 "base/audio_decoder.h", |
| 228 "base/audio_decoder_config.cc", |
| 229 "base/audio_decoder_config.h", |
| 230 "base/audio_discard_helper.cc", |
| 231 "base/audio_discard_helper.h", |
| 232 "base/audio_fifo.cc", |
| 233 "base/audio_fifo.h", |
| 234 "base/audio_hardware_config.cc", |
| 235 "base/audio_hardware_config.h", |
| 236 "base/audio_hash.cc", |
| 237 "base/audio_hash.h", |
| 238 "base/audio_pull_fifo.cc", |
| 239 "base/audio_pull_fifo.h", |
| 240 "base/audio_renderer.cc", |
| 241 "base/audio_renderer.h", |
| 242 "base/audio_renderer_mixer.cc", |
| 243 "base/audio_renderer_mixer.h", |
| 244 "base/audio_renderer_mixer_input.cc", |
| 245 "base/audio_renderer_mixer_input.h", |
| 246 "base/audio_renderer_sink.h", |
| 247 "base/audio_splicer.cc", |
| 248 "base/audio_splicer.h", |
| 249 "base/audio_timestamp_helper.cc", |
| 250 "base/audio_timestamp_helper.h", |
| 251 "base/bind_to_current_loop.h", |
| 252 "base/bit_reader.cc", |
| 253 "base/bit_reader.h", |
| 254 "base/bit_reader_core.cc", |
| 255 "base/bit_reader_core.h", |
| 256 "base/bitstream_buffer.h", |
| 257 "base/buffering_state.h", |
| 258 "base/buffers.h", |
| 259 "base/byte_queue.cc", |
| 260 "base/byte_queue.h", |
| 261 "base/cdm_promise.cc", |
| 262 "base/cdm_promise.h", |
| 263 "base/channel_mixer.cc", |
| 264 "base/channel_mixer.h", |
| 265 "base/clock.h", |
| 266 "base/data_buffer.cc", |
| 267 "base/data_buffer.h", |
| 268 "base/data_source.cc", |
| 269 "base/data_source.h", |
| 270 "base/decoder_buffer.cc", |
| 271 "base/decoder_buffer.h", |
| 272 "base/decoder_buffer_queue.cc", |
| 273 "base/decoder_buffer_queue.h", |
| 274 "base/decrypt_config.cc", |
| 275 "base/decrypt_config.h", |
| 276 "base/decryptor.cc", |
| 277 "base/decryptor.h", |
| 278 "base/demuxer.cc", |
| 279 "base/demuxer.h", |
| 280 "base/demuxer_stream.cc", |
| 281 "base/demuxer_stream.h", |
| 282 "base/djb2.cc", |
| 283 "base/djb2.h", |
| 284 "base/filter_collection.cc", |
| 285 "base/filter_collection.h", |
| 286 "base/media.cc", |
| 287 "base/media.h", |
| 288 "base/media_keys.cc", |
| 289 "base/media_keys.h", |
| 290 "base/media_log.cc", |
| 291 "base/media_log.h", |
| 292 "base/media_log_event.h", |
| 293 "base/media_switches.cc", |
| 294 "base/media_switches.h", |
| 295 "base/media_win.cc", |
| 296 "base/multi_channel_resampler.cc", |
| 297 "base/multi_channel_resampler.h", |
| 298 "base/pipeline.cc", |
| 299 "base/pipeline.h", |
| 300 "base/pipeline_status.h", |
| 301 "base/player_tracker.cc", |
| 302 "base/player_tracker.h", |
| 303 "base/ranges.cc", |
| 304 "base/ranges.h", |
| 305 "base/sample_format.cc", |
| 306 "base/sample_format.h", |
| 307 "base/scoped_histogram_timer.h", |
| 308 "base/seekable_buffer.cc", |
| 309 "base/seekable_buffer.h", |
| 310 "base/serial_runner.cc", |
| 311 "base/serial_runner.h", |
| 312 "base/simd/convert_rgb_to_yuv.h", |
| 313 "base/simd/convert_rgb_to_yuv_c.cc", |
| 314 "base/simd/convert_yuv_to_rgb.h", |
| 315 "base/simd/convert_yuv_to_rgb_c.cc", |
| 316 "base/simd/filter_yuv.h", |
| 317 "base/simd/filter_yuv_c.cc", |
| 318 "base/simd/yuv_to_rgb_table.cc", |
| 319 "base/simd/yuv_to_rgb_table.h", |
| 320 "base/sinc_resampler.cc", |
| 321 "base/sinc_resampler.h", |
| 322 "base/stream_parser.cc", |
| 323 "base/stream_parser.h", |
| 324 "base/stream_parser_buffer.cc", |
| 325 "base/stream_parser_buffer.h", |
| 326 "base/text_cue.cc", |
| 327 "base/text_cue.h", |
| 328 "base/text_ranges.cc", |
| 329 "base/text_ranges.h", |
| 330 "base/text_renderer.cc", |
| 331 "base/text_renderer.h", |
| 332 "base/text_track.h", |
| 333 "base/text_track_config.cc", |
| 334 "base/text_track_config.h", |
| 335 "base/time_delta_interpolator.cc", |
| 336 "base/time_delta_interpolator.h", |
| 337 "base/user_input_monitor.cc", |
| 338 "base/user_input_monitor.h", |
| 339 "base/user_input_monitor_mac.cc", |
| 340 "base/user_input_monitor_win.cc", |
| 341 "base/video_decoder.cc", |
| 342 "base/video_decoder.h", |
| 343 "base/video_decoder_config.cc", |
| 344 "base/video_decoder_config.h", |
| 345 "base/video_frame.cc", |
| 346 "base/video_frame.h", |
| 347 "base/video_frame_pool.cc", |
| 348 "base/video_frame_pool.h", |
| 349 "base/video_renderer.cc", |
| 350 "base/video_renderer.h", |
| 351 "base/video_rotation.h", |
| 352 "base/video_util.cc", |
| 353 "base/video_util.h", |
| 354 "base/yuv_convert.cc", |
| 355 "base/yuv_convert.h", |
| 356 "cdm/aes_decryptor.cc", |
| 357 "cdm/aes_decryptor.h", |
| 358 "cdm/json_web_key.cc", |
| 359 "cdm/json_web_key.h", |
| 360 "cdm/key_system_names.cc", |
| 361 "cdm/key_system_names.h", |
| 362 "cdm/player_tracker_impl.cc", |
| 363 "cdm/player_tracker_impl.h", |
| 364 "ffmpeg/ffmpeg_deleters.h", |
| 365 "filters/audio_clock.cc", |
| 366 "filters/audio_clock.h", |
| 367 "filters/audio_renderer_algorithm.cc", |
| 368 "filters/audio_renderer_algorithm.h", |
| 369 "filters/audio_renderer_impl.cc", |
| 370 "filters/audio_renderer_impl.h", |
| 371 "filters/chunk_demuxer.cc", |
| 372 "filters/chunk_demuxer.h", |
| 373 "filters/decoder_selector.cc", |
| 374 "filters/decoder_selector.h", |
| 375 "filters/decoder_stream.cc", |
| 376 "filters/decoder_stream.h", |
| 377 "filters/decoder_stream_traits.cc", |
| 378 "filters/decoder_stream_traits.h", |
| 379 "filters/decrypting_audio_decoder.cc", |
| 380 "filters/decrypting_audio_decoder.h", |
| 381 "filters/decrypting_demuxer_stream.cc", |
| 382 "filters/decrypting_demuxer_stream.h", |
| 383 "filters/decrypting_video_decoder.cc", |
| 384 "filters/decrypting_video_decoder.h", |
| 385 "filters/file_data_source.cc", |
| 386 "filters/file_data_source.h", |
| 387 "filters/frame_processor.cc", |
| 388 "filters/frame_processor.h", |
| 389 "filters/gpu_video_accelerator_factories.cc", |
| 390 "filters/gpu_video_accelerator_factories.h", |
| 391 "filters/gpu_video_decoder.cc", |
| 392 "filters/gpu_video_decoder.h", |
| 393 "filters/h264_bit_reader.cc", |
| 394 "filters/h264_bit_reader.h", |
| 395 "filters/h264_parser.cc", |
| 396 "filters/h264_parser.h", |
| 397 "filters/skcanvas_video_renderer.cc", |
| 398 "filters/skcanvas_video_renderer.h", |
| 399 "filters/source_buffer_platform.cc", |
| 400 "filters/source_buffer_platform.h", |
| 401 "filters/source_buffer_stream.cc", |
| 402 "filters/source_buffer_stream.h", |
| 403 "filters/stream_parser_factory.cc", |
| 404 "filters/stream_parser_factory.h", |
| 405 "filters/video_frame_scheduler.h", |
| 406 "filters/video_frame_scheduler_impl.cc", |
| 407 "filters/video_frame_scheduler_impl.h", |
| 408 "filters/video_frame_scheduler_proxy.cc", |
| 409 "filters/video_frame_scheduler_proxy.h", |
| 410 "filters/video_renderer_impl.cc", |
| 411 "filters/video_renderer_impl.h", |
| 412 "filters/webvtt_util.h", |
| 413 "filters/wsola_internals.cc", |
| 414 "filters/wsola_internals.h", |
| 415 "midi/midi_manager.cc", |
| 416 "midi/midi_manager.h", |
| 417 "midi/midi_manager_mac.cc", |
| 418 "midi/midi_manager_mac.h", |
| 419 "midi/midi_manager_usb.cc", |
| 420 "midi/midi_manager_usb.h", |
| 421 "midi/midi_manager_win.cc", |
| 422 "midi/midi_manager_win.h", |
| 423 "midi/midi_message_queue.cc", |
| 424 "midi/midi_message_queue.h", |
| 425 "midi/midi_message_util.cc", |
| 426 "midi/midi_message_util.h", |
| 427 "midi/midi_port_info.cc", |
| 428 "midi/midi_port_info.h", |
| 429 "midi/usb_midi_descriptor_parser.cc", |
| 430 "midi/usb_midi_descriptor_parser.h", |
| 431 "midi/usb_midi_device.h", |
| 432 "midi/usb_midi_input_stream.cc", |
| 433 "midi/usb_midi_input_stream.h", |
| 434 "midi/usb_midi_jack.h", |
| 435 "midi/usb_midi_output_stream.cc", |
| 436 "midi/usb_midi_output_stream.h", |
| 437 "video/capture/fake_video_capture_device.cc", |
| 438 "video/capture/fake_video_capture_device.h", |
| 439 "video/capture/fake_video_capture_device_factory.h", |
| 440 "video/capture/fake_video_capture_device_factory.cc", |
| 441 "video/capture/file_video_capture_device.cc", |
| 442 "video/capture/file_video_capture_device.h", |
| 443 "video/capture/file_video_capture_device_factory.h", |
| 444 "video/capture/file_video_capture_device_factory.cc", |
| 445 "video/capture/linux/video_capture_device_factory_linux.cc", |
| 446 "video/capture/linux/video_capture_device_factory_linux.h", |
| 447 "video/capture/linux/video_capture_device_linux.cc", |
| 448 "video/capture/linux/video_capture_device_linux.h", |
| 449 "video/capture/linux/video_capture_device_chromeos.cc", |
| 450 "video/capture/linux/video_capture_device_chromeos.h", |
| 451 "video/capture/mac/avfoundation_glue.h", |
| 452 "video/capture/mac/avfoundation_glue.mm", |
| 453 "video/capture/mac/coremedia_glue.h", |
| 454 "video/capture/mac/coremedia_glue.mm", |
| 455 "video/capture/mac/platform_video_capturing_mac.h", |
| 456 "video/capture/mac/video_capture_device_avfoundation_mac.h", |
| 457 "video/capture/mac/video_capture_device_avfoundation_mac.mm", |
| 458 "video/capture/mac/video_capture_device_factory_mac.h", |
| 459 "video/capture/mac/video_capture_device_factory_mac.mm", |
| 460 "video/capture/mac/video_capture_device_mac.h", |
| 461 "video/capture/mac/video_capture_device_mac.mm", |
| 462 "video/capture/mac/video_capture_device_qtkit_mac.h", |
| 463 "video/capture/mac/video_capture_device_qtkit_mac.mm", |
| 464 "video/capture/video_capture_device.cc", |
| 465 "video/capture/video_capture_device.h", |
| 466 "video/capture/video_capture_device_factory.cc", |
| 467 "video/capture/video_capture_device_factory.h", |
| 468 "video/capture/video_capture_types.cc", |
| 469 "video/capture/video_capture_types.h", |
| 470 "video/capture/win/capability_list_win.cc", |
| 471 "video/capture/win/capability_list_win.h", |
| 472 "video/capture/win/filter_base_win.cc", |
| 473 "video/capture/win/filter_base_win.h", |
| 474 "video/capture/win/pin_base_win.cc", |
| 475 "video/capture/win/pin_base_win.h", |
| 476 "video/capture/win/sink_filter_observer_win.h", |
| 477 "video/capture/win/sink_filter_win.cc", |
| 478 "video/capture/win/sink_filter_win.h", |
| 479 "video/capture/win/sink_input_pin_win.cc", |
| 480 "video/capture/win/sink_input_pin_win.h", |
| 481 "video/capture/win/video_capture_device_factory_win.cc", |
| 482 "video/capture/win/video_capture_device_factory_win.h", |
| 483 "video/capture/win/video_capture_device_mf_win.cc", |
| 484 "video/capture/win/video_capture_device_mf_win.h", |
| 485 "video/capture/win/video_capture_device_win.cc", |
| 486 "video/capture/win/video_capture_device_win.h", |
| 487 "video/picture.cc", |
| 488 "video/picture.h", |
| 489 "video/video_decode_accelerator.cc", |
| 490 "video/video_decode_accelerator.h", |
| 491 "video/video_encode_accelerator.cc", |
| 492 "video/video_encode_accelerator.h", |
| 493 "formats/common/offset_byte_queue.cc", |
| 494 "formats/common/offset_byte_queue.h", |
| 495 "formats/webm/webm_audio_client.cc", |
| 496 "formats/webm/webm_audio_client.h", |
| 497 "formats/webm/webm_cluster_parser.cc", |
| 498 "formats/webm/webm_cluster_parser.h", |
| 499 "formats/webm/webm_constants.cc", |
| 500 "formats/webm/webm_constants.h", |
| 501 "formats/webm/webm_content_encodings.cc", |
| 502 "formats/webm/webm_content_encodings.h", |
| 503 "formats/webm/webm_content_encodings_client.cc", |
| 504 "formats/webm/webm_content_encodings_client.h", |
| 505 "formats/webm/webm_crypto_helpers.cc", |
| 506 "formats/webm/webm_crypto_helpers.h", |
| 507 "formats/webm/webm_info_parser.cc", |
| 508 "formats/webm/webm_info_parser.h", |
| 509 "formats/webm/webm_parser.cc", |
| 510 "formats/webm/webm_parser.h", |
| 511 "formats/webm/webm_stream_parser.cc", |
| 512 "formats/webm/webm_stream_parser.h", |
| 513 "formats/webm/webm_tracks_parser.cc", |
| 514 "formats/webm/webm_tracks_parser.h", |
| 515 "formats/webm/webm_video_client.cc", |
| 516 "formats/webm/webm_video_client.h", |
| 517 "formats/webm/webm_webvtt_parser.cc", |
| 518 "formats/webm/webm_webvtt_parser.h", |
| 519 ] |
| 520 |
| 521 configs += [ ":media_config", ] |
| 522 |
| 523 libs = [] |
| 524 defines = [] |
| 525 deps = [] |
| 526 |
| 527 include_dirs = [ "." ] |
| 528 if (media_use_ffmpeg) { |
| 529 deps += [ "//third_party/ffmpeg" ] |
| 530 sources += [ |
| 531 "base/audio_video_metadata_extractor.cc", |
| 532 "base/audio_video_metadata_extractor.h", |
| 533 "base/container_names.cc", |
| 534 "base/container_names.h", |
| 535 "base/media_file_checker.cc", |
| 536 "base/media_file_checker.h", |
| 537 "base/media_posix.cc", |
| 538 "ffmpeg/ffmpeg_common.cc", |
| 539 "ffmpeg/ffmpeg_common.h", |
| 540 "filters/audio_file_reader.cc", |
| 541 "filters/audio_file_reader.h", |
| 542 "filters/blocking_url_protocol.cc", |
| 543 "filters/blocking_url_protocol.h", |
| 544 "filters/ffmpeg_audio_decoder.cc", |
| 545 "filters/ffmpeg_audio_decoder.h", |
| 546 "filters/ffmpeg_demuxer.cc", |
| 547 "filters/ffmpeg_demuxer.h", |
| 548 "filters/ffmpeg_glue.cc", |
| 549 "filters/ffmpeg_glue.h", |
| 550 "filters/ffmpeg_video_decoder.cc", |
| 551 "filters/ffmpeg_video_decoder.h", |
| 552 "filters/in_memory_url_protocol.cc", |
| 553 "filters/in_memory_url_protocol.h", |
| 554 ] |
| 555 if (proprietary_codecs) { |
| 556 sources += [ |
| 557 "filters/ffmpeg_h264_to_annex_b_bitstream_converter.cc", |
| 558 "filters/ffmpeg_h264_to_annex_b_bitstream_converter.h", |
| 559 ] |
| 560 } |
| 561 } |
| 562 |
| 563 if (cpu_arch == "arm" && arm_use_neon) { |
| 564 defines += [ "USE_NEON" ] |
| 565 } |
| 566 |
| 567 if (media_use_libvpx) { |
| 568 sources += [ |
| 569 "filters/vpx_video_decoder.cc", |
| 570 "filters/vpx_video_decoder.h", |
| 571 ] |
| 572 deps += [ "//third_party/libvpx" ] |
| 573 } |
| 574 |
| 575 if (enable_browser_cdms) { |
| 576 sources += [ |
| 577 "base/browser_cdm.cc", |
| 578 "base/browser_cdm.h", |
| 579 "base/browser_cdm_factory.h", |
| 580 ] |
| 581 } |
| 582 |
| 583 if (!is_android) { |
| 584 sources += [ |
| 585 "filters/opus_audio_decoder.cc", |
| 586 "filters/opus_audio_decoder.h", |
| 587 ] |
| 588 } else { |
| 589 sources += [ |
| 590 "audio/android/audio_manager_android.cc", |
| 591 "audio/android/audio_manager_android.h", |
| 592 "base/android/demuxer_android.h", |
| 593 "base/android/demuxer_stream_player_params.cc", |
| 594 "base/android/demuxer_stream_player_params.h", |
| 595 "base/android/media_player_manager.h", |
| 596 "base/android/media_resource_getter.cc", |
| 597 "base/android/media_resource_getter.h", |
| 598 "base/media.cc", |
| 599 "base/media.h", |
| 600 "base/media_stub.cc", |
| 601 "midi/midi_manager_android.cc", |
| 602 "midi/usb_midi_device_android.cc", |
| 603 "midi/usb_midi_device_android.h", |
| 604 "midi/usb_midi_device_factory_android.cc", |
| 605 "midi/usb_midi_device_factory_android.h", |
| 606 "video/capture/android/video_capture_device_android.cc", |
| 607 "video/capture/android/video_capture_device_android.h", |
| 608 "video/capture/android/video_capture_device_factory_android.cc", |
| 609 "video/capture/android/video_capture_device_factory_android.h", |
| 610 ] |
| 611 defines += [ "DISABLE_USER_INPUT_MONITOR" ] |
| 612 # TODO(ajwong): Fix for android. |
| 613 # deps += [ |
| 614 # ":media_android_jni_headers", |
| 615 # ":player_android", |
| 616 # ":video_capture_android_jni_headers", |
| 617 # ] |
| 618 # if (!android_webview_build) { |
| 619 # deps += [ ":media_java" ] |
| 620 # } |
| 621 } |
| 622 |
| 623 if (is_chromeos) { |
| 624 # A simple WebM encoder for animated avatars on ChromeOS. |
| 625 sources += [ |
| 626 "formats/webm/chromeos/ebml_writer.cc", |
| 627 "formats/webm/chromeos/ebml_writer.h", |
| 628 "formats/webm/chromeos/webm_encoder.cc", |
| 629 "formats/webm/chromeos/webm_encoder.h", |
| 630 ] |
| 631 deps += [ |
| 632 "//third_party/libvpx", |
| 633 "//third_party/libyuv" |
| 634 ] |
| 635 # For VaapiVideoEncodeAccelerator. |
| 636 if (cpu_arch != "arm" && use_x11) { |
| 637 sources += [ |
| 638 "filters/h264_bitstream_buffer.cc", |
| 639 "filters/h264_bitstream_buffer.h", |
| 640 ] |
| 641 } |
| 642 } |
| 643 |
| 644 if (!is_ios) { |
| 645 deps += [ "//third_party/libyuv" ] |
| 646 } |
| 647 |
| 648 if (use_alsa) { |
| 649 libs += [ "asound" ] |
| 650 defines += [ "USE_ALSA" ] |
| 651 sources += [ |
| 652 "audio/alsa/alsa_input.cc", |
| 653 "audio/alsa/alsa_input.h", |
| 654 "audio/alsa/alsa_output.cc", |
| 655 "audio/alsa/alsa_output.h", |
| 656 "audio/alsa/alsa_util.cc", |
| 657 "audio/alsa/alsa_util.h", |
| 658 "audio/alsa/alsa_wrapper.cc", |
| 659 "audio/alsa/alsa_wrapper.h", |
| 660 "audio/alsa/audio_manager_alsa.cc", |
| 661 "audio/alsa/audio_manager_alsa.h", |
| 662 "midi/midi_manager_alsa.cc", |
| 663 "midi/midi_manager_alsa.h", |
| 664 ] |
| 665 } |
| 666 |
| 667 if (is_openbsd) { |
| 668 sources += [ |
| 669 "audio/openbsd/audio_manager_openbsd.cc", |
| 670 "audio/openbsd/audio_manager_openbsd.h", |
| 671 ] |
| 672 } |
| 673 |
| 674 # A simple WebM encoder for animated avatars on ChromeOS. |
| 675 if (is_linux) { |
| 676 if (use_x11) { |
| 677 configs += [ |
| 678 "//build/config/linux:x11", |
| 679 "//build/config/linux:xext", |
| 680 # TODO(ajwong): Why does xent get a separate thing in //build/config/linux:BUILD
.gn |
| 681 # "//build/config/linux:xdamage", |
| 682 # "//build/config/linux:xfixes", |
| 683 # "//build/config/linux:xtst", |
| 684 ] |
| 685 sources += [ |
| 686 "base/user_input_monitor_linux.cc" |
| 687 ] |
| 688 } else { |
| 689 defines += [ "DISABLE_USER_INPUT_MONITOR" ] |
| 690 } |
| 691 |
| 692 if (use_cras) { |
| 693 pkg_config("libcras") { |
| 694 packages = [ "libcras" ] |
| 695 } |
| 696 configs += [ "libcras" ] |
| 697 sources += [ |
| 698 "audio/cras/audio_manager_cras.cc", |
| 699 "audio/cras/audio_manager_cras.h", |
| 700 "audio/cras/cras_input.cc", |
| 701 "audio/cras/cras_input.h", |
| 702 "audio/cras/cras_unified.cc", |
| 703 "audio/cras/cras_unified.h", |
| 704 ] |
| 705 } |
| 706 |
| 707 } |
| 708 |
| 709 if (use_ozone) { |
| 710 platform_list_txt_file = "$target_gen_dir/ui/ozone/platform_list.txt" |
| 711 constructor_list_cc_file = "$target_gen_dir/media/ozone/constructor_list.cc" |
| 712 |
| 713 # Used for the generated listing header (ui/ozone/platform_list.h) |
| 714 include_dirs += [ target_gen_dir ] |
| 715 |
| 716 sources += [ |
| 717 constructor_list_cc_file, |
| 718 "ozone/media_ozone_platform.cc", |
| 719 "ozone/media_ozone_platform.h", |
| 720 ] |
| 721 |
| 722 deps += [ "//ui/ozone/ozone" ] |
| 723 |
| 724 action("generate_constructor_list") { |
| 725 # Ozone platform objects are auto-generated using similar |
| 726 # patterns for naming and classes constructors. Here we build the |
| 727 # object MediaOzonePlatform. |
| 728 script = "../ui/ozone/generate_constructor_list.py" |
| 729 sources = [ platform_list_txt_file ] |
| 730 outputs = [ constructor_list_cc_file ] |
| 731 args += [ |
| 732 "--platform_list=$platform_list_txt_file", |
| 733 "--output_cc=$constructor_list_cc_file", |
| 734 "--namespace=media", |
| 735 "--typename=MediaOzonePlatform", |
| 736 "--include=\"media/ozone/media_ozone_platform.h\"" |
| 737 ] |
| 738 } |
| 739 } |
| 740 |
| 741 if (use_pulseaudio) { |
| 742 if (linux_link_pulseaudio) { |
| 743 pkg_config("libpulse") { |
| 744 packages = [ "libpulse" ] |
| 745 } |
| 746 configs += [ ":libpulse" ] |
| 747 } else { |
| 748 # TODO(ajwong): Technically, this dl should go in the action. |
| 749 libs += [ "dl" ] |
| 750 deps += [ ":pulse_generate_stubs" ] |
| 751 sources += get_target_outputs(":pulse_generate_stubs") |
| 752 } |
| 753 sources += [ |
| 754 "audio/pulse/audio_manager_pulse.cc", |
| 755 "audio/pulse/audio_manager_pulse.h", |
| 756 "audio/pulse/pulse_input.cc", |
| 757 "audio/pulse/pulse_input.h", |
| 758 "audio/pulse/pulse_output.cc", |
| 759 "audio/pulse/pulse_output.h", |
| 760 "audio/pulse/pulse_util.cc", |
| 761 "audio/pulse/pulse_util.h", |
| 762 ] |
| 763 } |
| 764 |
| 765 if (is_mac) { |
| 766 libs += [ |
| 767 "AudioToolbox.framework", |
| 768 "AudioUnit.framework", |
| 769 "CoreAudio.framework", |
| 770 "CoreMIDI.framework", |
| 771 "CoreVideo.framework", |
| 772 "OpenGL.framework", |
| 773 "QTKit.framework", |
| 774 ] |
| 775 } |
| 776 |
| 777 if (is_win) { |
| 778 libs += [ |
| 779 "mf.lib", |
| 780 "mfplat.lib", |
| 781 "mfreadwrite.lib", |
| 782 "mfuuid.lib", |
| 783 ] |
| 784 cflags += [ |
| 785 "/wd4267" # TODO(wolenetz): Fix size_t to int trunctaion in win64. See |
| 786 # http://crbug.com/171009 |
| 787 ] |
| 788 configs += [ ":media_dependent_config" ] |
| 789 all_dependent_configs = [ ":media_dependent_config" ] |
| 790 } |
| 791 |
| 792 if (proprietary_codecs) { |
| 793 sources += [ |
| 794 "formats/mp2t/es_parser.h", |
| 795 "formats/mp2t/es_parser_adts.cc", |
| 796 "formats/mp2t/es_parser_adts.h", |
| 797 "formats/mp2t/es_parser_h264.cc", |
| 798 "formats/mp2t/es_parser_h264.h", |
| 799 "formats/mp2t/mp2t_common.h", |
| 800 "formats/mp2t/mp2t_stream_parser.cc", |
| 801 "formats/mp2t/mp2t_stream_parser.h", |
| 802 "formats/mp2t/ts_packet.cc", |
| 803 "formats/mp2t/ts_packet.h", |
| 804 "formats/mp2t/ts_section.h", |
| 805 "formats/mp2t/ts_section_pat.cc", |
| 806 "formats/mp2t/ts_section_pat.h", |
| 807 "formats/mp2t/ts_section_pes.cc", |
| 808 "formats/mp2t/ts_section_pes.h", |
| 809 "formats/mp2t/ts_section_pmt.cc", |
| 810 "formats/mp2t/ts_section_pmt.h", |
| 811 "formats/mp2t/ts_section_psi.cc", |
| 812 "formats/mp2t/ts_section_psi.h", |
| 813 "formats/mp4/aac.cc", |
| 814 "formats/mp4/aac.h", |
| 815 "formats/mp4/avc.cc", |
| 816 "formats/mp4/avc.h", |
| 817 "formats/mp4/box_definitions.cc", |
| 818 "formats/mp4/box_definitions.h", |
| 819 "formats/mp4/box_reader.cc", |
| 820 "formats/mp4/box_reader.h", |
| 821 "formats/mp4/cenc.cc", |
| 822 "formats/mp4/cenc.h", |
| 823 "formats/mp4/es_descriptor.cc", |
| 824 "formats/mp4/es_descriptor.h", |
| 825 "formats/mp4/mp4_stream_parser.cc", |
| 826 "formats/mp4/mp4_stream_parser.h", |
| 827 "formats/mp4/sample_to_group_iterator.cc", |
| 828 "formats/mp4/sample_to_group_iterator.h", |
| 829 "formats/mp4/track_run_iterator.cc", |
| 830 "formats/mp4/track_run_iterator.h", |
| 831 "formats/mpeg/adts_constants.cc", |
| 832 "formats/mpeg/adts_constants.h", |
| 833 "formats/mpeg/adts_stream_parser.cc", |
| 834 "formats/mpeg/adts_stream_parser.h", |
| 835 "formats/mpeg/mp3_stream_parser.cc", |
| 836 "formats/mpeg/mp3_stream_parser.h", |
| 837 "formats/mpeg/mpeg_audio_stream_parser_base.cc", |
| 838 "formats/mpeg/mpeg_audio_stream_parser_base.h", |
| 839 ] |
| 840 } |
| 841 |
| 842 if (cpu_arch == "x86" || cpu_arch == "x64") { |
| 843 sources += [ "base/simd/convert_yuv_to_rgb_x86.cc" ] |
| 844 deps += [ |
| 845 ":media_yasm", |
| 846 ":media_mmx", |
| 847 ":media_sse2", |
| 848 ] |
| 849 } |
| 850 |
| 851 if (is_linux || is_win) { |
| 852 sources += [ |
| 853 "base/keyboard_event_counter.cc", |
| 854 "base/keyboard_event_counter.h", |
| 855 ] |
| 856 } |
| 857 |
| 858 deps += [ |
| 859 ":shared_memory_support", |
| 860 "//base", |
| 861 "//base:i18n", |
| 862 "//base/third_party/dynamic_annotations", |
| 863 "//crypto", |
| 864 "//crypto:platform", # TODO(ajwong): This used to be provided by crypto.gyp
via export_dependent_settings |
| 865 "//gpu/command_buffer/common", |
| 866 "//skia", |
| 867 "//third_party/opus", |
| 868 "//ui/events:events_base", |
| 869 "//ui/gfx", |
| 870 "//ui/gfx/geometry", |
| 871 "//url", |
| 872 ] |
| 873 } |
| 874 |
| 875 test("media_unittests") { |
| 876 sources = [ |
| 877 "audio/android/audio_android_unittest.cc", |
| 878 "audio/audio_input_controller_unittest.cc", |
| 879 "audio/audio_input_unittest.cc", |
| 880 "audio/audio_manager_unittest.cc", |
| 881 "audio/audio_output_controller_unittest.cc", |
| 882 "audio/audio_output_device_unittest.cc", |
| 883 "audio/audio_output_proxy_unittest.cc", |
| 884 "audio/audio_parameters_unittest.cc", |
| 885 "audio/audio_power_monitor_unittest.cc", |
| 886 "audio/fake_audio_consumer_unittest.cc", |
| 887 "audio/mac/audio_auhal_mac_unittest.cc", |
| 888 "audio/mac/audio_device_listener_mac_unittest.cc", |
| 889 "audio/mac/audio_low_latency_input_mac_unittest.cc", |
| 890 "audio/simple_sources_unittest.cc", |
| 891 "audio/sounds/audio_stream_handler_unittest.cc", |
| 892 "audio/sounds/sounds_manager_unittest.cc", |
| 893 "audio/sounds/test_data.cc", |
| 894 "audio/sounds/test_data.h", |
| 895 "audio/sounds/wav_audio_handler_unittest.cc", |
| 896 "audio/virtual_audio_input_stream_unittest.cc", |
| 897 "audio/virtual_audio_output_stream_unittest.cc", |
| 898 "audio/win/audio_device_listener_win_unittest.cc", |
| 899 "audio/win/audio_low_latency_input_win_unittest.cc", |
| 900 "audio/win/audio_low_latency_output_win_unittest.cc", |
| 901 "audio/win/audio_output_win_unittest.cc", |
| 902 "audio/win/core_audio_util_win_unittest.cc", |
| 903 "base/android/media_codec_bridge_unittest.cc", |
| 904 "base/android/media_drm_bridge_unittest.cc", |
| 905 "base/android/media_source_player_unittest.cc", |
| 906 "base/audio_buffer_converter_unittest.cc", |
| 907 "base/audio_buffer_unittest.cc", |
| 908 "base/audio_buffer_queue_unittest.cc", |
| 909 "base/audio_bus_unittest.cc", |
| 910 "base/audio_converter_unittest.cc", |
| 911 "base/audio_discard_helper_unittest.cc", |
| 912 "base/audio_fifo_unittest.cc", |
| 913 "base/audio_hardware_config_unittest.cc", |
| 914 "base/audio_hash_unittest.cc", |
| 915 "base/audio_pull_fifo_unittest.cc", |
| 916 "base/audio_renderer_mixer_input_unittest.cc", |
| 917 "base/audio_renderer_mixer_unittest.cc", |
| 918 "base/audio_splicer_unittest.cc", |
| 919 "base/audio_timestamp_helper_unittest.cc", |
| 920 "base/bind_to_current_loop_unittest.cc", |
| 921 "base/bit_reader_unittest.cc", |
| 922 "base/callback_holder.h", |
| 923 "base/callback_holder_unittest.cc", |
| 924 "base/channel_mixer_unittest.cc", |
| 925 "base/data_buffer_unittest.cc", |
| 926 "base/decoder_buffer_queue_unittest.cc", |
| 927 "base/decoder_buffer_unittest.cc", |
| 928 "base/djb2_unittest.cc", |
| 929 "base/gmock_callback_support_unittest.cc", |
| 930 "base/multi_channel_resampler_unittest.cc", |
| 931 "base/pipeline_unittest.cc", |
| 932 "base/ranges_unittest.cc", |
| 933 "base/run_all_unittests.cc", |
| 934 "base/scoped_histogram_timer_unittest.cc", |
| 935 "base/serial_runner_unittest.cc", |
| 936 "base/seekable_buffer_unittest.cc", |
| 937 "base/sinc_resampler_unittest.cc", |
| 938 "base/stream_parser_unittest.cc", |
| 939 "base/text_ranges_unittest.cc", |
| 940 "base/text_renderer_unittest.cc", |
| 941 "base/user_input_monitor_unittest.cc", |
| 942 "base/vector_math_testing.h", |
| 943 "base/vector_math_unittest.cc", |
| 944 "base/video_frame_unittest.cc", |
| 945 "base/video_frame_pool_unittest.cc", |
| 946 "base/video_util_unittest.cc", |
| 947 "base/yuv_convert_unittest.cc", |
| 948 "cdm/aes_decryptor_unittest.cc", |
| 949 "cdm/json_web_key_unittest.cc", |
| 950 "filters/audio_clock_unittest.cc", |
| 951 "filters/audio_decoder_selector_unittest.cc", |
| 952 "filters/audio_renderer_algorithm_unittest.cc", |
| 953 "filters/audio_renderer_impl_unittest.cc", |
| 954 "filters/chunk_demuxer_unittest.cc", |
| 955 "filters/decrypting_audio_decoder_unittest.cc", |
| 956 "filters/decrypting_demuxer_stream_unittest.cc", |
| 957 "filters/decrypting_video_decoder_unittest.cc", |
| 958 "filters/fake_demuxer_stream.cc", |
| 959 "filters/fake_demuxer_stream.h", |
| 960 "filters/fake_demuxer_stream_unittest.cc", |
| 961 "filters/fake_video_decoder.cc", |
| 962 "filters/fake_video_decoder.h", |
| 963 "filters/fake_video_decoder_unittest.cc", |
| 964 "filters/file_data_source_unittest.cc", |
| 965 "filters/frame_processor_unittest.cc", |
| 966 "filters/h264_bit_reader_unittest.cc", |
| 967 "filters/h264_parser_unittest.cc", |
| 968 "filters/skcanvas_video_renderer_unittest.cc", |
| 969 "filters/source_buffer_stream_unittest.cc", |
| 970 "filters/video_decoder_selector_unittest.cc", |
| 971 "filters/video_frame_scheduler_impl_unittest.cc", |
| 972 "filters/video_frame_scheduler_unittest.cc", |
| 973 "filters/video_frame_stream_unittest.cc", |
| 974 "filters/video_renderer_impl_unittest.cc", |
| 975 "midi/midi_manager_unittest.cc", |
| 976 "midi/midi_manager_usb_unittest.cc", |
| 977 "midi/midi_message_queue_unittest.cc", |
| 978 "midi/midi_message_util_unittest.cc", |
| 979 "midi/usb_midi_descriptor_parser_unittest.cc", |
| 980 "midi/usb_midi_input_stream_unittest.cc", |
| 981 "midi/usb_midi_output_stream_unittest.cc", |
| 982 "video/capture/fake_video_capture_device_unittest.cc", |
| 983 "video/capture/video_capture_device_unittest.cc", |
| 984 "formats/common/offset_byte_queue_unittest.cc", |
| 985 "formats/webm/cluster_builder.cc", |
| 986 "formats/webm/cluster_builder.h", |
| 987 "formats/webm/tracks_builder.cc", |
| 988 "formats/webm/tracks_builder.h", |
| 989 "formats/webm/webm_cluster_parser_unittest.cc", |
| 990 "formats/webm/webm_content_encodings_client_unittest.cc", |
| 991 "formats/webm/webm_parser_unittest.cc", |
| 992 "formats/webm/webm_tracks_parser_unittest.cc", |
| 993 "formats/webm/webm_webvtt_parser_unittest.cc", |
| 994 ] |
| 995 |
| 996 if (media_use_ffmpeg) { |
| 997 sources += [ |
| 998 "base/audio_video_metadata_extractor_unittest.cc", |
| 999 "base/media_file_checker_unittest.cc", |
| 1000 ] |
| 1001 } |
| 1002 |
| 1003 if (!is_android) { |
| 1004 sources += [ |
| 1005 "audio/audio_input_volume_unittest.cc", |
| 1006 "base/container_names_unittest.cc", |
| 1007 "ffmpeg/ffmpeg_common_unittest.cc", |
| 1008 "filters/audio_decoder_unittest.cc", |
| 1009 "filters/audio_file_reader_unittest.cc", |
| 1010 "filters/blocking_url_protocol_unittest.cc", |
| 1011 "filters/ffmpeg_demuxer_unittest.cc", |
| 1012 "filters/ffmpeg_glue_unittest.cc", |
| 1013 "filters/ffmpeg_video_decoder_unittest.cc", |
| 1014 "filters/in_memory_url_protocol_unittest.cc", |
| 1015 "filters/pipeline_integration_test.cc", |
| 1016 "filters/pipeline_integration_test_base.cc", |
| 1017 ] |
| 1018 } else { |
| 1019 # TODO(ajwong): Blocked on android. |
| 1020 # deps += [ |
| 1021 # ":player_android", |
| 1022 # "//testing/android:native_test_native_code" |
| 1023 # ] |
| 1024 } |
| 1025 |
| 1026 if (is_linux && use_cras) { |
| 1027 sources += [ |
| 1028 "audio/cras/cras_input_unittest.cc", |
| 1029 "audio/cras/cras_unified_unittest.cc", |
| 1030 ] |
| 1031 } |
| 1032 |
| 1033 if (cpu_arch != "arm" && is_chromeos && use_x11) { |
| 1034 sources += [ "filters/h264_bitstream_buffer_unittest.cc" ] |
| 1035 } |
| 1036 |
| 1037 if (use_alsa) { |
| 1038 sources += [ |
| 1039 "audio/alsa/alsa_output_unittest.cc", |
| 1040 "audio/audio_low_latency_input_output_unittest.cc", |
| 1041 ] |
| 1042 } |
| 1043 |
| 1044 if (cpu_arch == "x86" || cpu_arch == "x64") { |
| 1045 sources += [ "base/simd/convert_rgb_to_yuv_unittest.cc" ] |
| 1046 } |
| 1047 |
| 1048 if (proprietary_codecs) { |
| 1049 sources += [ |
| 1050 "filters/ffmpeg_h264_to_annex_b_bitstream_converter_unittest.cc", |
| 1051 "filters/h264_to_annex_b_bitstream_converter_unittest.cc", |
| 1052 "formats/common/stream_parser_test_base.cc", |
| 1053 "formats/common/stream_parser_test_base.h", |
| 1054 "formats/mp2t/es_parser_h264_unittest.cc", |
| 1055 "formats/mp2t/mp2t_stream_parser_unittest.cc", |
| 1056 "formats/mp4/aac_unittest.cc", |
| 1057 "formats/mp4/avc_unittest.cc", |
| 1058 "formats/mp4/box_reader_unittest.cc", |
| 1059 "formats/mp4/es_descriptor_unittest.cc", |
| 1060 "formats/mp4/mp4_stream_parser_unittest.cc", |
| 1061 "formats/mp4/sample_to_group_iterator_unittest.cc", |
| 1062 "formats/mp4/track_run_iterator_unittest.cc", |
| 1063 "formats/mpeg/adts_stream_parser_unittest.cc", |
| 1064 "formats/mpeg/mp3_stream_parser_unittest.cc", |
| 1065 ] |
| 1066 } |
| 1067 |
| 1068 if (is_win && cpu_arch == "x64") { |
| 1069 cflags += [ |
| 1070 "/wd4267" # TODO(wolenetz): Fix size_t to int trunctaion in win64. See |
| 1071 # http://crbug.com/171009 |
| 1072 ] |
| 1073 } |
| 1074 |
| 1075 if (is_mac) { |
| 1076 sources += [ |
| 1077 "video/capture/mac/video_capture_device_factory_mac_unittest.mm" |
| 1078 ] |
| 1079 } |
| 1080 |
| 1081 # include_dirs += [ |
| 1082 # # Needed by media_drm_bridge.cc. |
| 1083 # target_gen_dir, |
| 1084 # ], |
| 1085 |
| 1086 configs += [ ":media_config" ] |
| 1087 |
| 1088 # TODO(ajwong): This was in the original gyp, but it seems silly. |
| 1089 # ['os_posix==1 and OS!="mac"', { |
| 1090 # 'conditions': [ |
| 1091 # ['use_allocator!="none"', { |
| 1092 # 'dependencies': [ |
| 1093 # '../base/allocator/allocator.gyp:allocator', |
| 1094 # ], |
| 1095 # }], |
| 1096 # ], |
| 1097 # }], |
| 1098 deps = [ |
| 1099 ":media", |
| 1100 ":media_test_support", |
| 1101 "//base/test:test_support", |
| 1102 "//skia", # Direct dependency required to inherit config. |
| 1103 "//testing/gmock", |
| 1104 "//testing/gtest", |
| 1105 # "//third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h", TODO(
GYP): Port over CDM stuff. |
| 1106 "//ui/base", |
| 1107 "//ui/gfx:gfx_test_support", |
| 1108 ] |
| 1109 if (media_use_ffmpeg) { |
| 1110 deps += [ |
| 1111 "//third_party/ffmpeg", # Direct dependency required to inherit config. |
| 1112 ] |
| 1113 } |
| 1114 } |
| 1115 |
| 1116 test("media_perftests") { |
| 1117 sources = [ |
| 1118 "base/audio_bus_perftest.cc", |
| 1119 "base/audio_converter_perftest.cc", |
| 1120 "base/run_all_perftests.cc", |
| 1121 "base/sinc_resampler_perftest.cc", |
| 1122 "base/vector_math_perftest.cc", |
| 1123 "base/yuv_convert_perftest.cc", |
| 1124 ] |
| 1125 if (media_use_ffmpeg) { |
| 1126 sources += [ |
| 1127 "base/demuxer_perftest.cc", |
| 1128 "filters/pipeline_integration_perftest.cc", |
| 1129 "filters/pipeline_integration_test_base.cc", |
| 1130 ] |
| 1131 } |
| 1132 configs += [ ":media_config" ] |
| 1133 deps = [ |
| 1134 ":media", |
| 1135 ":media_test_support", |
| 1136 ":shared_memory_support", |
| 1137 "//base/test:test_support", |
| 1138 "//testing/gmock", |
| 1139 "//testing/gtest", |
| 1140 "//testing/perf", |
| 1141 # "//third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h", TODO(
GYP): Port over CDM stuff. |
| 1142 "//ui/gl", |
| 1143 "//ui/gfx:gfx_test_support", |
| 1144 ] |
| 1145 if (media_use_ffmpeg) { |
| 1146 deps += [ |
| 1147 "//third_party/ffmpeg", # Direct dependency required to inherit config. |
| 1148 ] |
| 1149 } |
| 1150 } |
| 1151 |
| 1152 if (cpu_arch == "x86" || cpu_arch == "x64") { |
| 1153 source_set("media_mmx") { |
| 1154 sources = [ "base/simd/filter_yuv_mmx.cc" ] |
| 1155 configs += [ ":media_config" ] |
| 1156 cflags = [ "-mmmx" ] |
| 1157 } |
| 1158 |
| 1159 source_set("media_sse2") { |
| 1160 sources = [ |
| 1161 "base/simd/convert_rgb_to_yuv_sse2.cc", |
| 1162 "base/simd/convert_rgb_to_yuv_ssse3.cc", |
| 1163 "base/simd/filter_yuv_sse2.cc", |
| 1164 ] |
| 1165 configs += [ ":media_config" ] |
| 1166 cflags = [ "-msse2" ] |
| 1167 } |
| 1168 |
| 1169 import("//third_party/yasm/yasm_assemble.gni") |
| 1170 yasm_assemble("media_yasm") { |
| 1171 sources = [ |
| 1172 "base/simd/convert_rgb_to_yuv_ssse3.asm", |
| 1173 "base/simd/convert_yuv_to_rgb_mmx.asm", |
| 1174 "base/simd/convert_yuv_to_rgb_sse.asm", |
| 1175 "base/simd/convert_yuva_to_argb_mmx.asm", |
| 1176 "base/simd/empty_register_state_mmx.asm", |
| 1177 "base/simd/linear_scale_yuv_to_rgb_mmx.asm", |
| 1178 "base/simd/linear_scale_yuv_to_rgb_sse.asm", |
| 1179 "base/simd/scale_yuv_to_rgb_mmx.asm", |
| 1180 "base/simd/scale_yuv_to_rgb_sse.asm", |
| 1181 ] |
| 1182 |
| 1183 # TODO(ajwong): Only export if shared_library build... |
| 1184 yasm_flags = [ |
| 1185 "-DCHROMIUM", |
| 1186 "-DEXPORT_SYMBOLS", |
| 1187 # In addition to the same path as source asm, let yasm %include |
| 1188 # search path be relative to src/ per Chromium policy. |
| 1189 "-I", rebase_path("..", root_build_dir), |
| 1190 ] |
| 1191 |
| 1192 inputs = [ |
| 1193 "//third_party/x86inc/x86inc.asm", |
| 1194 "base/simd/convert_rgb_to_yuv_ssse3.inc", |
| 1195 "base/simd/convert_yuv_to_rgb_mmx.inc", |
| 1196 "base/simd/convert_yuva_to_argb_mmx.inc", |
| 1197 "base/simd/linear_scale_yuv_to_rgb_mmx.inc", |
| 1198 "base/simd/media_export.asm", |
| 1199 "base/simd/scale_yuv_to_rgb_mmx.inc", |
| 1200 ] |
| 1201 |
| 1202 if (cpu_arch == "x86") { |
| 1203 yasm_flags += [ "-DARCH_X86_32" ] |
| 1204 } else if (cpu_arch == "x64") { |
| 1205 yasm_flags += [ "-DARCH_X86_64" ] |
| 1206 sources += [ |
| 1207 "base/simd/linear_scale_yuv_to_rgb_mmx_x64.asm", |
| 1208 "base/simd/scale_yuv_to_rgb_sse2_x64.asm", |
| 1209 ] |
| 1210 } |
| 1211 |
| 1212 if (is_mac) { |
| 1213 yasm_flags += [ |
| 1214 "-DPREFIX", |
| 1215 "-DMACHO", |
| 1216 ] |
| 1217 } else { |
| 1218 if (is_posix) { |
| 1219 yasm_flags += [ "-DELF" ] |
| 1220 if (cpu_arch == "x64") { |
| 1221 # TODO(ajwong): Why isn't this true in mac? |
| 1222 yasm_flags += [ "-DPIC" ] |
| 1223 } |
| 1224 } |
| 1225 } |
| 1226 } |
| 1227 } |
| 1228 |
| 1229 |
| 1230 source_set("media_test_support") { |
| 1231 sources = [ |
| 1232 "audio/mock_audio_manager.cc", |
| 1233 "audio/mock_audio_manager.h", |
| 1234 "audio/mock_audio_source_callback.cc", |
| 1235 "audio/mock_audio_source_callback.h", |
| 1236 "audio/test_audio_input_controller_factory.cc", |
| 1237 "audio/test_audio_input_controller_factory.h", |
| 1238 "base/fake_audio_render_callback.cc", |
| 1239 "base/fake_audio_render_callback.h", |
| 1240 "base/fake_audio_renderer_sink.cc", |
| 1241 "base/fake_audio_renderer_sink.h", |
| 1242 "base/fake_text_track_stream.cc", |
| 1243 "base/fake_text_track_stream.h", |
| 1244 "base/gmock_callback_support.h", |
| 1245 "base/mock_audio_renderer_sink.cc", |
| 1246 "base/mock_audio_renderer_sink.h", |
| 1247 "base/mock_demuxer_host.cc", |
| 1248 "base/mock_demuxer_host.h", |
| 1249 "base/mock_filters.cc", |
| 1250 "base/mock_filters.h", |
| 1251 "base/test_data_util.cc", |
| 1252 "base/test_data_util.h", |
| 1253 "base/test_helpers.cc", |
| 1254 "base/test_helpers.h", |
| 1255 "filters/clockless_video_frame_scheduler.cc", |
| 1256 "filters/clockless_video_frame_scheduler.h", |
| 1257 "filters/mock_gpu_video_accelerator_factories.cc", |
| 1258 "filters/mock_gpu_video_accelerator_factories.h", |
| 1259 "filters/test_video_frame_scheduler.cc", |
| 1260 "filters/test_video_frame_scheduler.h", |
| 1261 "video/mock_video_decode_accelerator.cc", |
| 1262 "video/mock_video_decode_accelerator.h", |
| 1263 ] |
| 1264 deps = [ |
| 1265 ":media", |
| 1266 ":shared_memory_support", |
| 1267 "//base", |
| 1268 "//skia", |
| 1269 "//testing/gmock", |
| 1270 "//testing/gtest", |
| 1271 ] |
| 1272 } |
| 1273 |
| 1274 component("shared_memory_support") { |
| 1275 sources = [ |
| 1276 "audio/audio_parameters.cc", |
| 1277 "audio/audio_parameters.h", |
| 1278 "base/audio_bus.cc", |
| 1279 "base/audio_bus.h", |
| 1280 "base/channel_layout.cc", |
| 1281 "base/channel_layout.h", |
| 1282 "base/limits.h", |
| 1283 "base/media_export.h", |
| 1284 "base/vector_math.cc", |
| 1285 "base/vector_math.h", |
| 1286 ] |
| 1287 configs += [ ":media_config" ] |
| 1288 deps = [ "//base" ] |
| 1289 } |
| 1290 |
| 1291 test("ffmpeg_unittests") { |
| 1292 sources = [ "ffmpeg/ffmpeg_unittest.cc" ] |
| 1293 |
| 1294 deps = [ |
| 1295 ":media", |
| 1296 ":media_test_support", |
| 1297 "//base", |
| 1298 "//base:i18n", |
| 1299 "//base/test:test_support", |
| 1300 "//testing/gtest", |
| 1301 "//third_party/ffmpeg", |
| 1302 "//ui/gfx:gfx_test_support", |
| 1303 ] |
| 1304 } |
| 1305 |
| 1306 test("ffmpeg_regression_tests") { |
| 1307 sources = [ |
| 1308 "base/run_all_unittests.cc", |
| 1309 "ffmpeg/ffmpeg_regression_tests.cc", |
| 1310 "filters/pipeline_integration_test_base.cc", |
| 1311 ] |
| 1312 configs += [ ":media_config" ] |
| 1313 deps = [ |
| 1314 ":media", |
| 1315 ":media_test_support", |
| 1316 "//base/test:test_support", |
| 1317 "//testing/gmock", |
| 1318 "//testing/gtest", |
| 1319 "//third_party/ffmpeg", |
| 1320 "//ui/gfx/geometry", |
| 1321 "//ui/gfx:gfx_test_support", |
| 1322 ] |
| 1323 # TODO(ajwong): This was in the original gyp, but it seems silly. |
| 1324 # ['os_posix==1 and OS!="mac"', { |
| 1325 # 'conditions': [ |
| 1326 # ['use_allocator!="none"', { |
| 1327 # 'dependencies': [ |
| 1328 # '../base/allocator/allocator.gyp:allocator', |
| 1329 # ], |
| 1330 # }], |
| 1331 # ], |
| 1332 # }], |
| 1333 } |
| 1334 |
| 1335 if (use_x11) { |
| 1336 executable("player_x11") { |
| 1337 sources = [ |
| 1338 "tools/player_x11/data_source_logger.cc", |
| 1339 "tools/player_x11/data_source_logger.h", |
| 1340 "tools/player_x11/gl_video_renderer.cc", |
| 1341 "tools/player_x11/gl_video_renderer.h", |
| 1342 "tools/player_x11/player_x11.cc", |
| 1343 "tools/player_x11/x11_video_renderer.cc", |
| 1344 "tools/player_x11/x11_video_renderer.h", |
| 1345 ] |
| 1346 configs += [ |
| 1347 ":media_config", |
| 1348 "//build/config/linux:x11", |
| 1349 "//build/config/linux:xext", |
| 1350 # TODO(ajwong): Why does xent get a separate thing in //build/config/linux:BUILD
.gn |
| 1351 # "//build/config/linux:xrender", |
| 1352 ] |
| 1353 deps = [ |
| 1354 ":media", |
| 1355 ":shared_memory_support", |
| 1356 "//base", |
| 1357 "//ui/gl", |
| 1358 "//ui/gfx", |
| 1359 "//ui/gfx/geometry", |
| 1360 ] |
| 1361 } |
| 1362 } |
OLD | NEW |