1 # Copyright (c) 2011 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.
11 'target_name': 'media',
12 'type': 'static_library',
15 '../base/base.gyp:base',
16 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
17 '../build/temp_gyp/googleurl.gyp:googleurl',
18 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
19 '../third_party/openmax/openmax.gyp:il',
25 'audio/audio_buffers_state.cc',
26 'audio/audio_buffers_state.h',
28 'audio/audio_input_controller.cc',
29 'audio/audio_input_controller.h',
30 'audio/audio_device_name.h',
31 'audio/audio_manager.cc',
32 'audio/audio_manager.h',
33 'audio/audio_manager_base.cc',
34 'audio/audio_manager_base.h',
35 'audio/audio_output_controller.cc',
36 'audio/audio_output_controller.h',
37 'audio/audio_output_dispatcher.cc',
38 'audio/audio_output_dispatcher.h',
39 'audio/audio_output_proxy.cc',
40 'audio/audio_output_proxy.h',
41 'audio/audio_parameters.cc',
42 'audio/audio_parameters.h',
43 'audio/audio_util.cc',
45 'audio/fake_audio_input_stream.cc',
46 'audio/fake_audio_input_stream.h',
47 'audio/fake_audio_output_stream.cc',
48 'audio/fake_audio_output_stream.h',
49 'audio/linux/audio_manager_linux.cc',
50 'audio/linux/audio_manager_linux.h',
51 'audio/linux/alsa_input.cc',
52 'audio/linux/alsa_input.h',
53 'audio/linux/alsa_output.cc',
54 'audio/linux/alsa_output.h',
55 'audio/linux/alsa_util.cc',
56 'audio/linux/alsa_util.h',
57 'audio/linux/alsa_wrapper.cc',
58 'audio/linux/alsa_wrapper.h',
59 'audio/openbsd/audio_manager_openbsd.cc',
60 'audio/openbsd/audio_manager_openbsd.h',
61 'audio/mac/audio_input_mac.cc',
62 'audio/mac/audio_input_mac.h',
63 'audio/mac/audio_low_latency_output_mac.cc',
64 'audio/mac/audio_low_latency_output_mac.h',
65 'audio/mac/audio_manager_mac.cc',
66 'audio/mac/audio_manager_mac.h',
67 'audio/mac/audio_output_mac.cc',
68 'audio/mac/audio_output_mac.h',
69 'audio/simple_sources.cc',
70 'audio/simple_sources.h',
71 'audio/win/audio_manager_win.h',
72 'audio/win/audio_manager_win.cc',
73 'audio/win/wavein_input_win.cc',
74 'audio/win/wavein_input_win.h',
75 'audio/win/waveout_output_win.cc',
76 'audio/win/waveout_output_win.h',
77 'base/async_filter_factory_base.cc',
78 'base/async_filter_factory_base.h',
79 'base/audio_decoder_config.h',
80 'base/bitstream_buffer.h',
85 'base/channel_layout.cc',
86 'base/channel_layout.h',
89 'base/composite_data_source_factory.cc',
90 'base/composite_data_source_factory.h',
91 'base/composite_filter.cc',
92 'base/composite_filter.h',
93 'base/data_buffer.cc',
97 'base/filter_collection.cc',
98 'base/filter_collection.h',
99 'base/filter_factories.cc',
100 'base/filter_factories.h',
101 'base/filter_host.h',
104 'base/h264_bitstream_converter.cc',
105 'base/h264_bitstream_converter.h',
109 'base/media_log_event.h',
110 'base/media_posix.cc',
111 'base/media_switches.cc',
112 'base/media_switches.h',
114 'base/message_loop_factory.cc',
115 'base/message_loop_factory.h',
116 'base/message_loop_factory_impl.cc',
117 'base/message_loop_factory_impl.h',
119 'base/pipeline_impl.cc',
120 'base/pipeline_impl.h',
121 'base/pipeline_status.h',
124 'base/pts_stream.cc',
126 'base/seekable_buffer.cc',
127 'base/seekable_buffer.h',
128 'base/state_matrix.cc',
129 'base/state_matrix.h',
130 'base/video_decoder_config.cc',
131 'base/video_decoder_config.h',
132 'base/video_frame.cc',
133 'base/video_frame.h',
134 'base/video_util.cc',
136 'ffmpeg/ffmpeg_common.cc',
137 'ffmpeg/ffmpeg_common.h',
138 'ffmpeg/file_protocol.cc',
139 'ffmpeg/file_protocol.h',
140 'filters/adaptive_demuxer.cc',
141 'filters/adaptive_demuxer.h',
142 'filters/audio_file_reader.cc',
143 'filters/audio_file_reader.h',
144 'filters/audio_renderer_algorithm_base.cc',
145 'filters/audio_renderer_algorithm_base.h',
146 'filters/audio_renderer_algorithm_default.cc',
147 'filters/audio_renderer_algorithm_default.h',
148 'filters/audio_renderer_algorithm_ola.cc',
149 'filters/audio_renderer_algorithm_ola.h',
150 'filters/audio_renderer_base.cc',
151 'filters/audio_renderer_base.h',
152 'filters/audio_renderer_impl.cc',
153 'filters/audio_renderer_impl.h',
154 'filters/bitstream_converter.cc',
155 'filters/bitstream_converter.h',
156 'filters/chunk_demuxer.cc',
157 'filters/chunk_demuxer.h',
158 'filters/chunk_demuxer_client.h',
159 'filters/chunk_demuxer_factory.cc',
160 'filters/chunk_demuxer_factory.h',
161 'filters/decoder_base.h',
162 'filters/ffmpeg_audio_decoder.cc',
163 'filters/ffmpeg_audio_decoder.h',
164 'filters/ffmpeg_demuxer.cc',
165 'filters/ffmpeg_demuxer.h',
166 'filters/ffmpeg_demuxer_factory.cc',
167 'filters/ffmpeg_demuxer_factory.h',
168 'filters/ffmpeg_h264_bitstream_converter.cc',
169 'filters/ffmpeg_h264_bitstream_converter.h',
170 'filters/ffmpeg_glue.cc',
171 'filters/ffmpeg_glue.h',
172 'filters/ffmpeg_video_decoder.cc',
173 'filters/ffmpeg_video_decoder.h',
174 'filters/file_data_source.cc',
175 'filters/file_data_source.h',
176 'filters/file_data_source_factory.cc',
177 'filters/file_data_source_factory.h',
178 'filters/in_memory_url_protocol.cc',
179 'filters/in_memory_url_protocol.h',
180 'filters/null_audio_renderer.cc',
181 'filters/null_audio_renderer.h',
182 'filters/null_video_renderer.cc',
183 'filters/null_video_renderer.h',
184 'filters/video_renderer_base.cc',
185 'filters/video_renderer_base.h',
186 'video/capture/fake_video_capture_device.cc',
187 'video/capture/fake_video_capture_device.h',
188 'video/capture/linux/video_capture_device_linux.cc',
189 'video/capture/linux/video_capture_device_linux.h',
190 'video/capture/video_capture.h',
191 'video/capture/video_capture_device.h',
192 'video/capture/video_capture_proxy.cc',
193 'video/capture/video_capture_proxy.h',
194 'video/capture/win/filter_base_win.cc',
195 'video/capture/win/filter_base_win.h',
196 'video/capture/win/pin_base_win.cc',
197 'video/capture/win/pin_base_win.h',
198 'video/capture/win/sink_filter_observer_win.h',
199 'video/capture/win/sink_filter_win.cc',
200 'video/capture/win/sink_filter_win.h',
201 'video/capture/win/sink_input_pin_win.cc',
202 'video/capture/win/sink_input_pin_win.h',
203 'video/capture/win/video_capture_device_win.cc',
204 'video/capture/win/video_capture_device_win.h',
205 'video/capture/video_capture_device_dummy.cc',
206 'video/capture/video_capture_device_dummy.h',
207 'video/capture/video_capture_types.h',
208 'video/ffmpeg_video_decode_engine.cc',
209 'video/ffmpeg_video_decode_engine.h',
212 'video/video_decode_accelerator.cc',
213 'video/video_decode_accelerator.h',
214 'video/video_decode_engine.h',
215 'webm/webm_constants.h',
216 'webm/webm_cluster_parser.cc',
217 'webm/webm_cluster_parser.h',
218 'webm/webm_info_parser.cc',
219 'webm/webm_info_parser.h',
220 'webm/webm_parser.cc',
221 'webm/webm_parser.h',
222 'webm/webm_tracks_parser.cc',
223 'webm/webm_tracks_parser.h',
225 'direct_dependent_settings': {
231 ['OS == "linux" or OS == "freebsd" or OS == "solaris"', {
239 'sources/': [ ['exclude', 'alsa_' ],
240 ['exclude', 'audio_manager_linux' ],
241 ['exclude', '\\.mm?$' ] ],
249 'audio/openbsd/audio_manager_openbsd.cc',
250 'audio/openbsd/audio_manager_openbsd.h',
253 ['os_posix == 1 and OS != "mac"', {
255 'video/capture/video_capture_device_dummy.cc',
256 'video/capture/video_capture_device_dummy.h',
262 '$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework',
263 '$(SDKROOT)/System/Library/Frameworks/AudioToolbox.framework',
264 '$(SDKROOT)/System/Library/Frameworks/CoreAudio.framework',
270 'video/capture/video_capture_device_dummy.cc',
271 'video/capture/video_capture_device_dummy.h',
277 'target_name': 'cpu_features',
278 'type': 'static_library',
283 [ 'target_arch == "ia32" or target_arch == "x64"', {
285 'base/cpu_features_x86.cc',
288 [ 'target_arch == "arm"', {
290 'base/cpu_features_arm.cc',
295 'base/cpu_features.h',
299 'target_name': 'yuv_convert',
300 'type': 'static_library',
308 [ 'target_arch == "ia32" or target_arch == "x64"', {
315 'base/yuv_convert.cc',
316 'base/yuv_convert.h',
317 'base/yuv_convert_internal.h',
318 'base/yuv_convert_c.cc',
319 'base/yuv_row_win.cc',
320 'base/yuv_row_posix.cc',
321 'base/yuv_row_table.cc',
326 'target_name': 'yuv_convert_sse2',
327 'type': 'static_library',
332 [ 'os_posix == 1 and OS != "mac"', {
341 # gcc on the mac builds horribly unoptimized sse code in debug
342 # mode. Since this is rarely going to be debugged, run with full
343 # optimizations in Debug as well as Release.
344 'GCC_OPTIMIZATION_LEVEL': '3', # -O3
351 'base/yuv_convert_sse2.cc',
355 'target_name': 'ffmpeg_unittests',
356 'type': 'executable',
359 'media_test_support',
360 '../base/base.gyp:base',
361 '../base/base.gyp:base_i18n',
362 '../base/base.gyp:test_support_base',
363 '../base/base.gyp:test_support_perf',
364 '../testing/gtest.gyp:gtest',
365 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
368 'ffmpeg/ffmpeg_unittest.cc',
371 ['toolkit_uses_gtk == 1', {
373 # Needed for the following #include chain:
374 # base/run_all_unittests.cc
375 # ../base/test_suite.h
377 '../build/linux/system.gyp:gtk',
380 ['linux_use_tcmalloc==1', {
382 '../base/allocator/allocator.gyp:allocator',
390 'target_name': 'media_unittests',
391 'type': 'executable',
394 'media_test_support',
395 '../base/base.gyp:base',
396 '../base/base.gyp:base_i18n',
397 '../base/base.gyp:test_support_base',
398 '../testing/gmock.gyp:gmock',
399 '../testing/gtest.gyp:gtest',
400 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
403 'audio/audio_input_controller_unittest.cc',
404 'audio/audio_input_device_unittest.cc',
405 'audio/audio_input_unittest.cc',
406 'audio/audio_output_controller_unittest.cc',
407 'audio/audio_output_proxy_unittest.cc',
408 'audio/audio_parameters_unittest.cc',
409 'audio/audio_util_unittest.cc',
410 'audio/linux/alsa_output_unittest.cc',
411 'audio/mac/audio_output_mac_unittest.cc',
412 'audio/simple_sources_unittest.cc',
413 'audio/win/audio_output_win_unittest.cc',
414 'base/clock_unittest.cc',
415 'base/composite_filter_unittest.cc',
416 'base/data_buffer_unittest.cc',
417 'base/djb2_unittest.cc',
418 'base/filter_collection_unittest.cc',
419 'base/h264_bitstream_converter_unittest.cc',
420 'base/mock_ffmpeg.cc',
421 'base/mock_ffmpeg.h',
422 'base/mock_reader.h',
425 'base/pipeline_impl_unittest.cc',
426 'base/pts_heap_unittest.cc',
427 'base/pts_stream_unittest.cc',
428 'base/run_all_unittests.cc',
429 'base/seekable_buffer_unittest.cc',
430 'base/state_matrix_unittest.cc',
431 'base/video_frame_unittest.cc',
432 'base/video_util_unittest.cc',
433 'base/yuv_convert_unittest.cc',
434 'ffmpeg/ffmpeg_common_unittest.cc',
435 'filters/adaptive_demuxer_unittest.cc',
436 'filters/audio_renderer_algorithm_ola_unittest.cc',
437 'filters/audio_renderer_base_unittest.cc',
438 'filters/bitstream_converter_unittest.cc',
439 'filters/chunk_demuxer_unittest.cc',
440 'filters/decoder_base_unittest.cc',
441 'filters/ffmpeg_demuxer_unittest.cc',
442 'filters/ffmpeg_glue_unittest.cc',
443 'filters/ffmpeg_h264_bitstream_converter_unittest.cc',
444 'filters/ffmpeg_video_decoder_unittest.cc',
445 'filters/file_data_source_unittest.cc',
446 'filters/video_renderer_base_unittest.cc',
447 'video/capture/video_capture_device_unittest.cc',
448 'video/ffmpeg_video_decode_engine_unittest.cc',
449 'webm/cluster_builder.cc',
450 'webm/cluster_builder.h',
453 ['os_posix==1 and OS!="mac"', {
455 ['linux_use_tcmalloc==1', {
457 '../base/allocator/allocator.gyp:allocator',
465 'target_name': 'media_test_support',
466 'type': 'static_library',
469 '../base/base.gyp:base',
470 '../testing/gmock.gyp:gmock',
471 '../testing/gtest.gyp:gtest',
474 'audio/test_audio_input_controller_factory.cc',
475 'audio/test_audio_input_controller_factory.h',
476 'base/mock_callback.cc',
477 'base/mock_callback.h',
478 'base/mock_filter_host.cc',
479 'base/mock_filter_host.h',
480 'base/mock_filters.cc',
481 'base/mock_filters.h',
482 'video/video_mock_objects.cc',
483 'video/video_mock_objects.h',
487 'target_name': 'media_bench',
488 'type': 'executable',
491 '../base/base.gyp:base',
492 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
495 'tools/media_bench/media_bench.cc',
499 'target_name': 'scaler_bench',
500 'type': 'executable',
503 '../base/base.gyp:base',
504 '../skia/skia.gyp:skia',
507 'tools/scaler_bench/scaler_bench.cc',
511 'target_name': 'ffmpeg_tests',
512 'type': 'executable',
515 '../base/base.gyp:base',
516 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
519 'test/ffmpeg_tests/ffmpeg_tests.cc',
523 'target_name': 'wav_ola_test',
524 'type': 'executable',
527 '../base/base.gyp:base',
530 'tools/wav_ola_test/wav_ola_test.cc'
534 'target_name': 'qt_faststart',
535 'type': 'executable',
537 'tools/qt_faststart/qt_faststart.c'
545 'target_name': 'player_wtl',
546 'type': 'executable',
549 '../base/base.gyp:base',
552 '<(DEPTH)/third_party/wtl/include',
555 'tools/player_wtl/list.h',
556 'tools/player_wtl/mainfrm.h',
557 'tools/player_wtl/movie.cc',
558 'tools/player_wtl/movie.h',
559 'tools/player_wtl/player_wtl.cc',
560 'tools/player_wtl/player_wtl.rc',
561 'tools/player_wtl/props.h',
562 'tools/player_wtl/seek.h',
563 'tools/player_wtl/resource.h',
564 'tools/player_wtl/view.h',
565 'tools/player_wtl/wtl_renderer.cc',
566 'tools/player_wtl/wtl_renderer.h',
570 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
574 '_CRT_SECURE_NO_WARNINGS=1',
578 'target_name': 'mfplayer',
579 'type': 'executable',
586 'tools/mfplayer/mfplayer.h',
587 'tools/mfplayer/mfplayer.cc',
588 'tools/mfplayer/mf_playback_main.cc',
592 'SubSystem': '1', # Set /SUBSYSTEM:CONSOLE
597 'target_name': 'mfdecoder',
598 'type': 'executable',
601 '../base/base.gyp:base',
607 'tools/mfdecoder/main.cc',
608 'tools/mfdecoder/mfdecoder.h',
609 'tools/mfdecoder/mfdecoder.cc',
613 'SubSystem': '1', # Set /SUBSYSTEM:CONSOLE
622 'target_name': 'shader_bench',
623 'type': 'executable',
626 '../base/base.gyp:base',
627 '../ui/gfx/gl/gl.gyp:gl',
630 'tools/shader_bench/shader_bench.cc',
631 'tools/shader_bench/cpu_color_painter.cc',
632 'tools/shader_bench/cpu_color_painter.h',
633 'tools/shader_bench/gpu_color_painter.cc',
634 'tools/shader_bench/gpu_color_painter.h',
635 'tools/shader_bench/gpu_color_painter_exp.cc',
636 'tools/shader_bench/gpu_color_painter_exp.h',
637 'tools/shader_bench/gpu_painter.cc',
638 'tools/shader_bench/gpu_painter.h',
639 'tools/shader_bench/painter.cc',
640 'tools/shader_bench/painter.h',
641 'tools/shader_bench/window.cc',
642 'tools/shader_bench/window.h',
645 ['toolkit_uses_gtk == 1', {
647 '../build/linux/system.gyp:gtk',
650 'tools/shader_bench/window_linux.cc',
655 '../third_party/angle/src/build_angle.gyp:libEGL',
656 '../third_party/angle/src/build_angle.gyp:libGLESv2',
659 'tools/shader_bench/window_win.cc',
666 ['OS == "linux" and target_arch != "arm"', {
669 'target_name': 'tile_render_bench',
670 'type': 'executable',
672 '../base/base.gyp:base',
673 '../ui/gfx/gl/gl.gyp:gl',
680 'tools/tile_render_bench/tile_render_bench.cc',
685 ['os_posix == 1 and OS != "mac"', {
688 'target_name': 'player_x11',
689 'type': 'executable',
692 '../base/base.gyp:base',
693 '../ui/gfx/gl/gl.gyp:gl',
704 'tools/player_x11/gl_video_renderer.cc',
705 'tools/player_x11/gl_video_renderer.h',
706 'tools/player_x11/player_x11.cc',
707 'tools/player_x11/x11_video_renderer.cc',
708 'tools/player_x11/x11_video_renderer.h',