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.
8 # Override to dynamically link the PulseAudio library.
10 # Override to dynamically link the cras (ChromeOS audio) library.
15 'target_name': 'media',
16 'type': '<(component)',
19 '../base/base.gyp:base',
20 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
21 '../build/temp_gyp/googleurl.gyp:googleurl',
22 '../crypto/crypto.gyp:crypto',
23 '../third_party/openmax/openmax.gyp:il',
27 'MEDIA_IMPLEMENTATION',
33 'audio/android/audio_manager_android.cc',
34 'audio/android/audio_manager_android.h',
35 'audio/android/audio_track_output_android.cc',
36 'audio/android/audio_track_output_android.h',
37 'audio/android/opensles_input.cc',
38 'audio/android/opensles_input.h',
39 'audio/android/opensles_output.cc',
40 'audio/android/opensles_output.h',
41 'audio/async_socket_io_handler.h',
42 'audio/async_socket_io_handler_posix.cc',
43 'audio/async_socket_io_handler_win.cc',
44 'audio/audio_buffers_state.cc',
45 'audio/audio_buffers_state.h',
47 'audio/audio_input_controller.cc',
48 'audio/audio_input_controller.h',
49 'audio/audio_input_stream_impl.cc',
50 'audio/audio_input_stream_impl.h',
51 'audio/audio_device_name.cc',
52 'audio/audio_device_name.h',
53 'audio/audio_manager.cc',
54 'audio/audio_manager.h',
55 'audio/audio_manager_base.cc',
56 'audio/audio_manager_base.h',
57 'audio/audio_output_controller.cc',
58 'audio/audio_output_controller.h',
59 'audio/audio_output_dispatcher.cc',
60 'audio/audio_output_dispatcher.h',
61 'audio/audio_output_dispatcher_impl.cc',
62 'audio/audio_output_dispatcher_impl.h',
63 'audio/audio_output_mixer.cc',
64 'audio/audio_output_mixer.h',
65 'audio/audio_output_proxy.cc',
66 'audio/audio_output_proxy.h',
67 'audio/audio_parameters.cc',
68 'audio/audio_parameters.h',
69 'audio/audio_util.cc',
71 'audio/cross_process_notification.cc',
72 'audio/cross_process_notification.h',
73 'audio/cross_process_notification_win.cc',
74 'audio/cross_process_notification_posix.cc',
75 'audio/fake_audio_input_stream.cc',
76 'audio/fake_audio_input_stream.h',
77 'audio/fake_audio_output_stream.cc',
78 'audio/fake_audio_output_stream.h',
79 'audio/linux/audio_manager_linux.cc',
80 'audio/linux/audio_manager_linux.h',
81 'audio/linux/alsa_input.cc',
82 'audio/linux/alsa_input.h',
83 'audio/linux/alsa_output.cc',
84 'audio/linux/alsa_output.h',
85 'audio/linux/alsa_util.cc',
86 'audio/linux/alsa_util.h',
87 'audio/linux/alsa_wrapper.cc',
88 'audio/linux/alsa_wrapper.h',
89 'audio/linux/cras_output.cc',
90 'audio/linux/cras_output.h',
91 'audio/openbsd/audio_manager_openbsd.cc',
92 'audio/openbsd/audio_manager_openbsd.h',
93 'audio/mac/audio_input_mac.cc',
94 'audio/mac/audio_input_mac.h',
95 'audio/mac/audio_low_latency_input_mac.cc',
96 'audio/mac/audio_low_latency_input_mac.h',
97 'audio/mac/audio_low_latency_output_mac.cc',
98 'audio/mac/audio_low_latency_output_mac.h',
99 'audio/mac/audio_manager_mac.cc',
100 'audio/mac/audio_manager_mac.h',
101 'audio/mac/audio_output_mac.cc',
102 'audio/mac/audio_output_mac.h',
103 'audio/null_audio_sink.cc',
104 'audio/null_audio_sink.h',
105 'audio/pulse/pulse_output.cc',
106 'audio/pulse/pulse_output.h',
107 'audio/sample_rates.cc',
108 'audio/sample_rates.h',
109 'audio/simple_sources.cc',
110 'audio/simple_sources.h',
111 'audio/win/audio_low_latency_input_win.cc',
112 'audio/win/audio_low_latency_input_win.h',
113 'audio/win/audio_low_latency_output_win.cc',
114 'audio/win/audio_low_latency_output_win.h',
115 'audio/win/audio_manager_win.cc',
116 'audio/win/audio_manager_win.h',
117 'audio/win/avrt_wrapper_win.cc',
118 'audio/win/avrt_wrapper_win.h',
119 'audio/win/device_enumeration_win.cc',
120 'audio/win/device_enumeration_win.h',
121 'audio/win/wavein_input_win.cc',
122 'audio/win/wavein_input_win.h',
123 'audio/win/waveout_output_win.cc',
124 'audio/win/waveout_output_win.h',
125 'base/android/media_jni_registrar.cc',
126 'base/android/media_jni_registrar.h',
127 'base/audio_decoder.cc',
128 'base/audio_decoder.h',
129 'base/audio_decoder_config.cc',
130 'base/audio_decoder_config.h',
131 'base/audio_renderer.h',
132 'base/audio_renderer_mixer.cc',
133 'base/audio_renderer_mixer.h',
134 'base/audio_renderer_mixer_input.cc',
135 'base/audio_renderer_mixer_input.h',
136 'base/bitstream_buffer.h',
139 'base/byte_queue.cc',
141 'base/channel_layout.cc',
142 'base/channel_layout.h',
145 'base/composite_filter.cc',
146 'base/composite_filter.h',
147 'base/data_buffer.cc',
148 'base/data_buffer.h',
149 'base/data_source.cc',
150 'base/data_source.h',
151 'base/decoder_buffer.cc',
152 'base/decoder_buffer.h',
153 'base/decrypt_config.cc',
154 'base/decrypt_config.h',
156 'base/decryptor_client.h',
159 'base/demuxer_stream.cc',
160 'base/demuxer_stream.h',
163 'base/filter_collection.cc',
164 'base/filter_collection.h',
165 'base/filter_host.h',
168 'base/h264_bitstream_converter.cc',
169 'base/h264_bitstream_converter.h',
171 'base/media_android.cc',
172 'base/media_export.h',
175 'base/media_log_event.h',
176 'base/media_posix.cc',
177 'base/media_switches.cc',
178 'base/media_switches.h',
180 'base/message_loop_factory.cc',
181 'base/message_loop_factory.h',
184 'base/pipeline_status.cc',
185 'base/pipeline_status.h',
188 'base/seekable_buffer.cc',
189 'base/seekable_buffer.h',
190 'base/state_matrix.cc',
191 'base/state_matrix.h',
192 'base/stream_parser.cc',
193 'base/stream_parser.h',
194 'base/stream_parser_buffer.cc',
195 'base/stream_parser_buffer.h',
196 'base/video_decoder.cc',
197 'base/video_decoder.h',
198 'base/video_decoder_config.cc',
199 'base/video_decoder_config.h',
200 'base/video_frame.cc',
201 'base/video_frame.h',
202 'base/video_renderer.h',
203 'base/video_util.cc',
205 'crypto/aes_decryptor.cc',
206 'crypto/aes_decryptor.h',
207 'ffmpeg/ffmpeg_common.cc',
208 'ffmpeg/ffmpeg_common.h',
209 'ffmpeg/file_protocol.cc',
210 'ffmpeg/file_protocol.h',
211 'filters/audio_file_reader.cc',
212 'filters/audio_file_reader.h',
213 'filters/audio_renderer_algorithm.cc',
214 'filters/audio_renderer_algorithm.h',
215 'filters/audio_renderer_impl.cc',
216 'filters/audio_renderer_impl.h',
217 'filters/bitstream_converter.cc',
218 'filters/bitstream_converter.h',
219 'filters/chunk_demuxer.cc',
220 'filters/chunk_demuxer.h',
221 'filters/chunk_demuxer_client.h',
222 'filters/dummy_demuxer.cc',
223 'filters/dummy_demuxer.h',
224 'filters/ffmpeg_audio_decoder.cc',
225 'filters/ffmpeg_audio_decoder.h',
226 'filters/ffmpeg_demuxer.cc',
227 'filters/ffmpeg_demuxer.h',
228 'filters/ffmpeg_h264_bitstream_converter.cc',
229 'filters/ffmpeg_h264_bitstream_converter.h',
230 'filters/ffmpeg_glue.cc',
231 'filters/ffmpeg_glue.h',
232 'filters/ffmpeg_video_decoder.cc',
233 'filters/ffmpeg_video_decoder.h',
234 'filters/file_data_source.cc',
235 'filters/file_data_source.h',
236 'filters/gpu_video_decoder.cc',
237 'filters/gpu_video_decoder.h',
238 'filters/in_memory_url_protocol.cc',
239 'filters/in_memory_url_protocol.h',
240 'filters/source_buffer_stream.cc',
241 'filters/source_buffer_stream.h',
242 'filters/video_frame_generator.cc',
243 'filters/video_frame_generator.h',
244 'filters/video_renderer_base.cc',
245 'filters/video_renderer_base.h',
246 'video/capture/fake_video_capture_device.cc',
247 'video/capture/fake_video_capture_device.h',
248 'video/capture/linux/video_capture_device_linux.cc',
249 'video/capture/linux/video_capture_device_linux.h',
250 'video/capture/mac/video_capture_device_mac.h',
251 'video/capture/mac/video_capture_device_mac.mm',
252 'video/capture/mac/video_capture_device_qtkit_mac.h',
253 'video/capture/mac/video_capture_device_qtkit_mac.mm',
254 'video/capture/video_capture.h',
255 'video/capture/video_capture_device.h',
256 'video/capture/video_capture_device_dummy.cc',
257 'video/capture/video_capture_device_dummy.h',
258 'video/capture/video_capture_proxy.cc',
259 'video/capture/video_capture_proxy.h',
260 'video/capture/video_capture_types.h',
261 'video/capture/win/filter_base_win.cc',
262 'video/capture/win/filter_base_win.h',
263 'video/capture/win/pin_base_win.cc',
264 'video/capture/win/pin_base_win.h',
265 'video/capture/win/sink_filter_observer_win.h',
266 'video/capture/win/sink_filter_win.cc',
267 'video/capture/win/sink_filter_win.h',
268 'video/capture/win/sink_input_pin_win.cc',
269 'video/capture/win/sink_input_pin_win.h',
270 'video/capture/win/video_capture_device_win.cc',
271 'video/capture/win/video_capture_device_win.h',
274 'video/video_decode_accelerator.cc',
275 'video/video_decode_accelerator.h',
276 'webm/webm_constants.h',
277 'webm/webm_cluster_parser.cc',
278 'webm/webm_cluster_parser.h',
279 'webm/webm_content_encodings.cc',
280 'webm/webm_content_encodings.h',
281 'webm/webm_content_encodings_client.cc',
282 'webm/webm_content_encodings_client.h',
283 'webm/webm_info_parser.cc',
284 'webm/webm_info_parser.h',
285 'webm/webm_parser.cc',
286 'webm/webm_parser.h',
287 'webm/webm_stream_parser.cc',
288 'webm/webm_stream_parser.h',
289 'webm/webm_tracks_parser.cc',
290 'webm/webm_tracks_parser.h',
292 'direct_dependent_settings': {
298 # Android doesn't use ffmpeg, so make the dependency conditional
299 # and exclude the sources which depend on ffmpeg.
300 ['OS != "android"', {
302 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
305 ['OS == "android"', {
307 'base/media_posix.cc',
308 'ffmpeg/ffmpeg_common.cc',
309 'ffmpeg/ffmpeg_common.h',
310 'ffmpeg/file_protocol.cc',
311 'ffmpeg/file_protocol.h',
312 'filters/audio_file_reader.cc',
313 'filters/audio_file_reader.h',
314 'filters/bitstream_converter.cc',
315 'filters/bitstream_converter.h',
316 'filters/chunk_demuxer.cc',
317 'filters/chunk_demuxer.h',
318 'filters/chunk_demuxer_client.h',
319 'filters/ffmpeg_audio_decoder.cc',
320 'filters/ffmpeg_audio_decoder.h',
321 'filters/ffmpeg_demuxer.cc',
322 'filters/ffmpeg_demuxer.h',
323 'filters/ffmpeg_h264_bitstream_converter.cc',
324 'filters/ffmpeg_h264_bitstream_converter.h',
325 'filters/ffmpeg_glue.cc',
326 'filters/ffmpeg_glue.h',
327 'filters/ffmpeg_video_decoder.cc',
328 'filters/ffmpeg_video_decoder.h',
329 'filters/gpu_video_decoder.cc',
330 'filters/gpu_video_decoder.h',
331 'webm/webm_cluster_parser.cc',
332 'webm/webm_cluster_parser.h',
333 'webm/webm_stream_parser.cc',
334 'webm/webm_stream_parser.h',
337 # The below 'android' condition were added temporarily and should be
338 # removed in downstream, because there is no Java environment setup in
340 ['OS == "android"', {
342 'audio/android/audio_track_output_android.cc',
345 'audio/android/audio_track_output_stub_android.cc',
353 ['OS=="linux" or OS=="freebsd" or OS=="solaris"', {
361 'sources/': [ ['exclude', '/alsa_' ],
362 ['exclude', '/audio_manager_linux' ] ],
370 'audio/openbsd/audio_manager_openbsd.cc',
371 'audio/openbsd/audio_manager_openbsd.h',
378 'pkg-config': '../build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)"',
380 'pkg-config': 'pkg-config'
387 '<!@(<(pkg-config) --cflags libcras)',
391 '<!@(<(pkg-config) --libs libcras)',
397 }, { # else: use_cras == 0
399 'audio/linux/cras_output.cc',
400 'audio/linux/cras_output.h',
407 ['use_pulseaudio == 1', {
409 '<!@(pkg-config --cflags libpulse)',
413 '<!@(pkg-config --libs-only-l libpulse)',
419 }, { # else: use_pulseaudio == 0
421 'audio/pulse/pulse_output.cc',
422 'audio/pulse/pulse_output.h',
427 ['os_posix == 1 and OS != "android"', {
428 # Video capture isn't supported in Android yet.
430 'video/capture/video_capture_device_dummy.cc',
431 'video/capture/video_capture_device_dummy.h',
437 '$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework',
438 '$(SDKROOT)/System/Library/Frameworks/AudioToolbox.framework',
439 '$(SDKROOT)/System/Library/Frameworks/CoreAudio.framework',
440 '$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework',
441 '$(SDKROOT)/System/Library/Frameworks/QTKit.framework',
447 'audio/pulse/pulse_output.cc',
448 'audio/pulse/pulse_output.h',
449 'video/capture/video_capture_device_dummy.cc',
450 'video/capture/video_capture_device_dummy.h',
453 ['proprietary_codecs==1 or branding=="Chrome"', {
457 'mp4/box_definitions.cc',
458 'mp4/box_definitions.h',
463 'mp4/mp4_stream_parser.cc',
464 'mp4/mp4_stream_parser.h',
465 'mp4/offset_byte_queue.cc',
466 'mp4/offset_byte_queue.h',
467 'mp4/track_run_iterator.cc',
468 'mp4/track_run_iterator.h',
474 'target_name': 'yuv_convert',
475 'type': 'static_library',
480 ['order_profiling != 0', {
481 'target_conditions' : [
482 ['_toolset=="target"', {
483 'cflags!': [ '-finstrument-functions' ],
487 [ 'target_arch == "ia32" or target_arch == "x64"', {
489 'yuv_convert_simd_x86',
492 [ 'target_arch == "arm"', {
494 'yuv_convert_simd_arm',
499 'base/yuv_convert.cc',
500 'base/yuv_convert.h',
504 'target_name': 'yuv_convert_simd_x86',
505 'type': 'static_library',
510 'base/simd/convert_rgb_to_yuv_c.cc',
511 'base/simd/convert_rgb_to_yuv_sse2.cc',
512 'base/simd/convert_rgb_to_yuv_ssse3.asm',
513 'base/simd/convert_rgb_to_yuv_ssse3.cc',
514 'base/simd/convert_rgb_to_yuv_ssse3.inc',
515 'base/simd/convert_yuv_to_rgb_c.cc',
516 'base/simd/convert_yuv_to_rgb_x86.cc',
517 'base/simd/convert_yuv_to_rgb_mmx.asm',
518 'base/simd/convert_yuv_to_rgb_mmx.inc',
519 'base/simd/convert_yuv_to_rgb_sse.asm',
520 'base/simd/filter_yuv.h',
521 'base/simd/filter_yuv_c.cc',
522 'base/simd/filter_yuv_mmx.cc',
523 'base/simd/filter_yuv_sse2.cc',
524 'base/simd/linear_scale_yuv_to_rgb_mmx.asm',
525 'base/simd/linear_scale_yuv_to_rgb_mmx.inc',
526 'base/simd/linear_scale_yuv_to_rgb_sse.asm',
527 'base/simd/scale_yuv_to_rgb_mmx.asm',
528 'base/simd/scale_yuv_to_rgb_mmx.inc',
529 'base/simd/scale_yuv_to_rgb_sse.asm',
530 'base/simd/yuv_to_rgb_table.cc',
531 'base/simd/yuv_to_rgb_table.h',
534 ['order_profiling != 0', {
535 'target_conditions' : [
536 ['_toolset=="target"', {
537 'cflags!': [ '-finstrument-functions' ],
541 [ 'target_arch == "x64"', {
542 # Source files optimized for X64 systems.
544 'base/simd/linear_scale_yuv_to_rgb_mmx_x64.asm',
545 'base/simd/scale_yuv_to_rgb_sse2_x64.asm',
548 [ 'os_posix == 1 and OS != "mac" and OS != "android"', {
557 # gcc on the mac builds horribly unoptimized sse code in debug
558 # mode. Since this is rarely going to be debugged, run with full
559 # optimizations in Debug as well as Release.
560 'GCC_OPTIMIZATION_LEVEL': '3', # -O3
585 [ 'os_posix==1 and OS!="mac"', {
588 [ 'target_arch=="ia32"', {
609 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/media',
611 'msvs_2010_disable_uldi_when_referenced': 1,
613 '../third_party/yasm/yasm_compile.gypi',
617 'target_name': 'yuv_convert_simd_arm',
618 'type': 'static_library',
623 'base/simd/convert_rgb_to_yuv_c.cc',
624 'base/simd/convert_rgb_to_yuv.h',
625 'base/simd/convert_yuv_to_rgb_c.cc',
626 'base/simd/convert_yuv_to_rgb.h',
627 'base/simd/filter_yuv.h',
628 'base/simd/filter_yuv_c.cc',
629 'base/simd/yuv_to_rgb_table.cc',
630 'base/simd/yuv_to_rgb_table.h',
634 'target_name': 'media_unittests',
635 'type': 'executable',
638 'media_test_support',
640 '../base/base.gyp:base',
641 '../base/base.gyp:base_i18n',
642 '../base/base.gyp:test_support_base',
643 '../testing/gmock.gyp:gmock',
644 '../testing/gtest.gyp:gtest',
648 'audio/async_socket_io_handler_unittest.cc',
649 'audio/audio_input_controller_unittest.cc',
650 'audio/audio_input_device_unittest.cc',
651 'audio/audio_input_unittest.cc',
652 'audio/audio_input_volume_unittest.cc',
653 'audio/audio_low_latency_input_output_unittest.cc',
654 'audio/audio_output_controller_unittest.cc',
655 'audio/audio_output_proxy_unittest.cc',
656 'audio/audio_parameters_unittest.cc',
657 'audio/audio_util_unittest.cc',
658 'audio/cross_process_notification_unittest.cc',
659 'audio/linux/alsa_output_unittest.cc',
660 'audio/mac/audio_low_latency_input_mac_unittest.cc',
661 'audio/mac/audio_output_mac_unittest.cc',
662 'audio/simple_sources_unittest.cc',
663 'audio/win/audio_low_latency_input_win_unittest.cc',
664 'audio/win/audio_low_latency_output_win_unittest.cc',
665 'audio/win/audio_output_win_unittest.cc',
666 'base/audio_renderer_mixer_unittest.cc',
667 'base/audio_renderer_mixer_input_unittest.cc',
668 'base/buffers_unittest.cc',
669 'base/clock_unittest.cc',
670 'base/composite_filter_unittest.cc',
671 'base/data_buffer_unittest.cc',
672 'base/decoder_buffer_unittest.cc',
673 'base/djb2_unittest.cc',
674 'base/fake_audio_render_callback.cc',
675 'base/fake_audio_render_callback.h',
676 'base/filter_collection_unittest.cc',
677 'base/h264_bitstream_converter_unittest.cc',
678 'base/pipeline_unittest.cc',
679 'base/ranges_unittest.cc',
680 'base/run_all_unittests.cc',
681 'base/seekable_buffer_unittest.cc',
682 'base/state_matrix_unittest.cc',
683 'base/test_data_util.cc',
684 'base/test_data_util.h',
685 'base/video_frame_unittest.cc',
686 'base/video_util_unittest.cc',
687 'base/yuv_convert_unittest.cc',
688 'crypto/aes_decryptor_unittest.cc',
689 'ffmpeg/ffmpeg_common_unittest.cc',
690 'filters/audio_renderer_algorithm_unittest.cc',
691 'filters/audio_renderer_impl_unittest.cc',
692 'filters/bitstream_converter_unittest.cc',
693 'filters/chunk_demuxer_unittest.cc',
694 'filters/ffmpeg_audio_decoder_unittest.cc',
695 'filters/ffmpeg_decoder_unittest.h',
696 'filters/ffmpeg_demuxer_unittest.cc',
697 'filters/ffmpeg_glue_unittest.cc',
698 'filters/ffmpeg_h264_bitstream_converter_unittest.cc',
699 'filters/ffmpeg_video_decoder_unittest.cc',
700 'filters/file_data_source_unittest.cc',
701 'filters/pipeline_integration_test.cc',
702 'filters/pipeline_integration_test_base.cc',
703 'filters/source_buffer_stream_unittest.cc',
704 'filters/video_renderer_base_unittest.cc',
705 'video/capture/video_capture_device_unittest.cc',
706 'webm/cluster_builder.cc',
707 'webm/cluster_builder.h',
708 'webm/webm_cluster_parser_unittest.cc',
709 'webm/webm_content_encodings_client_unittest.cc',
710 'webm/webm_parser_unittest.cc',
713 ['os_posix==1 and OS!="mac"', {
715 ['linux_use_tcmalloc==1', {
717 '../base/allocator/allocator.gyp:allocator',
722 ['OS != "android"', {
724 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
727 ['OS == "android"', {
729 'audio/audio_input_volume_unittest.cc',
730 'base/test_data_util.cc',
731 'base/test_data_util.h',
732 'ffmpeg/ffmpeg_common_unittest.cc',
733 'filters/ffmpeg_audio_decoder_unittest.cc',
734 'filters/bitstream_converter_unittest.cc',
735 'filters/chunk_demuxer_unittest.cc',
736 'filters/ffmpeg_demuxer_unittest.cc',
737 'filters/ffmpeg_glue_unittest.cc',
738 'filters/ffmpeg_h264_bitstream_converter_unittest.cc',
739 'filters/ffmpeg_video_decoder_unittest.cc',
740 'filters/pipeline_integration_test.cc',
741 'filters/pipeline_integration_test_base.cc',
742 'mp4/mp4_stream_parser_unittest.cc',
743 'webm/webm_cluster_parser_unittest.cc',
750 'audio/linux/cras_output_unittest.cc',
758 [ 'target_arch=="ia32" or target_arch=="x64"', {
760 'base/simd/convert_rgb_to_yuv_unittest.cc',
763 ['proprietary_codecs==1 or branding=="Chrome"', {
765 'mp4/avc_unittest.cc',
766 'mp4/box_reader_unittest.cc',
767 'mp4/mp4_stream_parser_unittest.cc',
768 'mp4/offset_byte_queue_unittest.cc',
774 'target_name': 'media_test_support',
775 'type': 'static_library',
778 '../base/base.gyp:base',
779 '../testing/gmock.gyp:gmock',
780 '../testing/gtest.gyp:gtest',
783 'audio/test_audio_input_controller_factory.cc',
784 'audio/test_audio_input_controller_factory.h',
785 'base/mock_callback.cc',
786 'base/mock_callback.h',
787 'base/mock_data_source_host.cc',
788 'base/mock_data_source_host.h',
789 'base/mock_demuxer_host.cc',
790 'base/mock_demuxer_host.h',
791 'base/mock_filter_host.cc',
792 'base/mock_filter_host.h',
793 'base/mock_filters.cc',
794 'base/mock_filters.h',
798 'target_name': 'scaler_bench',
799 'type': 'executable',
803 '../base/base.gyp:base',
804 '../skia/skia.gyp:skia',
807 'tools/scaler_bench/scaler_bench.cc',
811 'target_name': 'qt_faststart',
812 'type': 'executable',
814 'tools/qt_faststart/qt_faststart.c'
818 'target_name': 'seek_tester',
819 'type': 'executable',
822 '../base/base.gyp:base',
825 'tools/seek_tester/seek_tester.cc',
833 'target_name': 'player_wtl',
834 'type': 'executable',
838 '../base/base.gyp:base',
839 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
843 '<(DEPTH)/third_party/wtl/include',
846 'tools/player_wtl/list.h',
847 'tools/player_wtl/mainfrm.h',
848 'tools/player_wtl/movie.cc',
849 'tools/player_wtl/movie.h',
850 'tools/player_wtl/player_wtl.cc',
851 'tools/player_wtl/player_wtl.rc',
852 'tools/player_wtl/props.h',
853 'tools/player_wtl/seek.h',
854 'tools/player_wtl/resource.h',
855 'tools/player_wtl/view.h',
859 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
863 '_CRT_SECURE_NO_WARNINGS=1',
868 ['OS == "win" or toolkit_uses_gtk == 1', {
871 'target_name': 'shader_bench',
872 'type': 'executable',
876 '../base/base.gyp:base',
877 '../ui/gl/gl.gyp:gl',
880 'tools/shader_bench/shader_bench.cc',
881 'tools/shader_bench/cpu_color_painter.cc',
882 'tools/shader_bench/cpu_color_painter.h',
883 'tools/shader_bench/gpu_color_painter.cc',
884 'tools/shader_bench/gpu_color_painter.h',
885 'tools/shader_bench/gpu_painter.cc',
886 'tools/shader_bench/gpu_painter.h',
887 'tools/shader_bench/painter.cc',
888 'tools/shader_bench/painter.h',
889 'tools/shader_bench/window.cc',
890 'tools/shader_bench/window.h',
893 ['toolkit_uses_gtk == 1', {
895 '../build/linux/system.gyp:gtk',
898 'tools/shader_bench/window_linux.cc',
903 '../third_party/angle/src/build_angle.gyp:libEGL',
904 '../third_party/angle/src/build_angle.gyp:libGLESv2',
907 'tools/shader_bench/window_win.cc',
914 ['OS == "linux" and target_arch != "arm"', {
917 'target_name': 'tile_render_bench',
918 'type': 'executable',
920 '../base/base.gyp:base',
921 '../ui/gl/gl.gyp:gl',
928 'tools/tile_render_bench/tile_render_bench.cc',
933 ['os_posix == 1 and OS != "mac" and OS != "android"', {
936 'target_name': 'player_x11',
937 'type': 'executable',
941 '../base/base.gyp:base',
942 '../ui/gl/gl.gyp:gl',
953 'tools/player_x11/data_source_logger.cc',
954 'tools/player_x11/data_source_logger.h',
955 'tools/player_x11/gl_video_renderer.cc',
956 'tools/player_x11/gl_video_renderer.h',
957 'tools/player_x11/player_x11.cc',
958 'tools/player_x11/x11_video_renderer.cc',
959 'tools/player_x11/x11_video_renderer.h',
964 ['OS == "android"', {
967 'target_name': 'player_android',
968 'type': 'static_library',
970 'base/android/media_player_bridge.cc',
971 'base/android/media_player_bridge.h',
974 '../base/base.gyp:base',
977 '<(SHARED_INTERMEDIATE_DIR)/media',
981 'action_name': 'generate-jni-headers',
983 '../base/android/jni_generator/jni_generator.py',
984 'base/android/java/src/org/chromium/media/MediaPlayerListener.java',
987 '<(SHARED_INTERMEDIATE_DIR)/media/jni/media_player_listener_jni.h',
991 '<(DEPTH)/base/android/jni_generator/jni_generator.py',
1000 'target_name': 'media_java',
1002 'dependencies': [ '../base/base.gyp:base_java' ],
1004 'package_name': 'media',
1005 'java_in_dir': 'base/android/java',
1007 'includes': [ '../build/java.gypi' ],
1011 }, { # OS != "android"'
1012 # Android does not use ffmpeg, so disable the targets which require it.
1015 'target_name': 'ffmpeg_unittests',
1016 'type': 'executable',
1019 'media_test_support',
1020 '../base/base.gyp:base',
1021 '../base/base.gyp:base_i18n',
1022 '../base/base.gyp:test_support_base',
1023 '../base/base.gyp:test_support_perf',
1024 '../testing/gtest.gyp:gtest',
1025 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
1028 'ffmpeg/ffmpeg_unittest.cc',
1031 ['toolkit_uses_gtk == 1', {
1033 # Needed for the following #include chain:
1034 # base/run_all_unittests.cc
1035 # ../base/test_suite.h
1037 '../build/linux/system.gyp:gtk',
1040 ['linux_use_tcmalloc==1', {
1042 '../base/allocator/allocator.gyp:allocator',
1050 'target_name': 'ffmpeg_regression_tests',
1051 'type': 'executable',
1054 'media_test_support',
1055 '../base/base.gyp:test_support_base',
1056 '../testing/gmock.gyp:gmock',
1057 '../testing/gtest.gyp:gtest',
1058 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
1061 'base/test_data_util.cc',
1062 'base/run_all_unittests.cc',
1063 'ffmpeg/ffmpeg_regression_tests.cc',
1064 'filters/pipeline_integration_test_base.cc',
1067 ['os_posix==1 and OS!="mac"', {
1069 ['linux_use_tcmalloc==1', {
1071 '../base/allocator/allocator.gyp:allocator',
1079 'target_name': 'ffmpeg_tests',
1080 'type': 'executable',
1083 '../base/base.gyp:base',
1084 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
1087 'test/ffmpeg_tests/ffmpeg_tests.cc',
1091 'target_name': 'media_bench',
1092 'type': 'executable',
1095 '../base/base.gyp:base',
1096 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
1099 'tools/media_bench/media_bench.cc',