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',
107 'base/media_format.cc',
108 'base/media_format.h',
109 'base/media_posix.cc',
110 'base/media_switches.cc',
111 'base/media_switches.h',
113 'base/message_loop_factory.cc',
114 'base/message_loop_factory.h',
115 'base/message_loop_factory_impl.cc',
116 'base/message_loop_factory_impl.h',
118 'base/pipeline_impl.cc',
119 'base/pipeline_impl.h',
120 'base/pipeline_status.h',
123 'base/pts_stream.cc',
125 'base/seekable_buffer.cc',
126 'base/seekable_buffer.h',
127 'base/state_matrix.cc',
128 'base/state_matrix.h',
129 'base/video_decoder_config.cc',
130 'base/video_decoder_config.h',
131 'base/video_frame.cc',
132 'base/video_frame.h',
133 'ffmpeg/ffmpeg_common.cc',
134 'ffmpeg/ffmpeg_common.h',
135 'ffmpeg/file_protocol.cc',
136 'ffmpeg/file_protocol.h',
137 'filters/adaptive_demuxer.cc',
138 'filters/adaptive_demuxer.h',
139 'filters/audio_file_reader.cc',
140 'filters/audio_file_reader.h',
141 'filters/audio_renderer_algorithm_base.cc',
142 'filters/audio_renderer_algorithm_base.h',
143 'filters/audio_renderer_algorithm_default.cc',
144 'filters/audio_renderer_algorithm_default.h',
145 'filters/audio_renderer_algorithm_ola.cc',
146 'filters/audio_renderer_algorithm_ola.h',
147 'filters/audio_renderer_base.cc',
148 'filters/audio_renderer_base.h',
149 'filters/audio_renderer_impl.cc',
150 'filters/audio_renderer_impl.h',
151 'filters/bitstream_converter.cc',
152 'filters/bitstream_converter.h',
153 'filters/chunk_demuxer.cc',
154 'filters/chunk_demuxer.h',
155 'filters/chunk_demuxer_factory.cc',
156 'filters/chunk_demuxer_factory.h',
157 'filters/decoder_base.h',
158 'filters/ffmpeg_audio_decoder.cc',
159 'filters/ffmpeg_audio_decoder.h',
160 'filters/ffmpeg_demuxer.cc',
161 'filters/ffmpeg_demuxer.h',
162 'filters/ffmpeg_demuxer_factory.cc',
163 'filters/ffmpeg_demuxer_factory.h',
164 'filters/ffmpeg_h264_bitstream_converter.cc',
165 'filters/ffmpeg_h264_bitstream_converter.h',
166 'filters/ffmpeg_glue.cc',
167 'filters/ffmpeg_glue.h',
168 'filters/ffmpeg_video_decoder.cc',
169 'filters/ffmpeg_video_decoder.h',
170 'filters/file_data_source.cc',
171 'filters/file_data_source.h',
172 'filters/file_data_source_factory.cc',
173 'filters/file_data_source_factory.h',
174 'filters/in_memory_url_protocol.cc',
175 'filters/in_memory_url_protocol.h',
176 'filters/null_audio_renderer.cc',
177 'filters/null_audio_renderer.h',
178 'filters/null_video_renderer.cc',
179 'filters/null_video_renderer.h',
180 'filters/video_renderer_base.cc',
181 'filters/video_renderer_base.h',
182 'video/capture/fake_video_capture_device.cc',
183 'video/capture/fake_video_capture_device.h',
184 'video/capture/linux/video_capture_device_linux.cc',
185 'video/capture/linux/video_capture_device_linux.h',
186 'video/capture/video_capture.h',
187 'video/capture/video_capture_device.h',
188 'video/capture/win/filter_base_win.cc',
189 'video/capture/win/filter_base_win.h',
190 'video/capture/win/pin_base_win.cc',
191 'video/capture/win/pin_base_win.h',
192 'video/capture/win/sink_filter_observer_win.h',
193 'video/capture/win/sink_filter_win.cc',
194 'video/capture/win/sink_filter_win.h',
195 'video/capture/win/sink_input_pin_win.cc',
196 'video/capture/win/sink_input_pin_win.h',
197 'video/capture/win/video_capture_device_win.cc',
198 'video/capture/win/video_capture_device_win.h',
199 'video/capture/video_capture_device_dummy.cc',
200 'video/capture/video_capture_device_dummy.h',
201 'video/capture/video_capture_types.h',
202 'video/ffmpeg_video_decode_engine.cc',
203 'video/ffmpeg_video_decode_engine.h',
206 'video/video_decode_accelerator.cc',
207 'video/video_decode_accelerator.h',
208 'video/video_decode_engine.h',
209 'webm/webm_constants.h',
210 'webm/webm_cluster_parser.cc',
211 'webm/webm_cluster_parser.h',
212 'webm/webm_info_parser.cc',
213 'webm/webm_info_parser.h',
214 'webm/webm_parser.cc',
215 'webm/webm_parser.h',
216 'webm/webm_tracks_parser.cc',
217 'webm/webm_tracks_parser.h',
219 'direct_dependent_settings': {
225 ['OS == "linux" or OS == "freebsd" or OS == "solaris"', {
233 'sources/': [ ['exclude', 'alsa_' ],
234 ['exclude', 'audio_manager_linux' ],
235 ['exclude', '\\.mm?$' ] ],
243 'audio/openbsd/audio_manager_openbsd.cc',
244 'audio/openbsd/audio_manager_openbsd.h',
247 ['os_posix == 1 and OS != "mac"', {
249 'video/capture/video_capture_device_dummy.cc',
250 'video/capture/video_capture_device_dummy.h',
256 '$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework',
257 '$(SDKROOT)/System/Library/Frameworks/AudioToolbox.framework',
258 '$(SDKROOT)/System/Library/Frameworks/CoreAudio.framework',
264 'video/capture/video_capture_device_dummy.cc',
265 'video/capture/video_capture_device_dummy.h',
271 'target_name': 'cpu_features',
272 'type': 'static_library',
277 [ 'target_arch == "ia32" or target_arch == "x64"', {
279 'base/cpu_features_x86.cc',
282 [ 'target_arch == "arm"', {
284 'base/cpu_features_arm.cc',
289 'base/cpu_features.h',
293 'target_name': 'yuv_convert',
294 'type': 'static_library',
302 [ 'target_arch == "ia32" or target_arch == "x64"', {
309 'base/yuv_convert.cc',
310 'base/yuv_convert.h',
311 'base/yuv_convert_internal.h',
312 'base/yuv_convert_c.cc',
313 'base/yuv_row_win.cc',
314 'base/yuv_row_posix.cc',
315 'base/yuv_row_table.cc',
320 'target_name': 'yuv_convert_sse2',
321 'type': 'static_library',
326 [ 'os_posix == 1 and OS != "mac"', {
335 # gcc on the mac builds horribly unoptimized sse code in debug
336 # mode. Since this is rarely going to be debugged, run with full
337 # optimizations in Debug as well as Release.
338 'GCC_OPTIMIZATION_LEVEL': '3', # -O3
345 'base/yuv_convert_sse2.cc',
349 'target_name': 'ffmpeg_unittests',
350 'type': 'executable',
353 'media_test_support',
354 '../base/base.gyp:base',
355 '../base/base.gyp:base_i18n',
356 '../base/base.gyp:test_support_base',
357 '../base/base.gyp:test_support_perf',
358 '../testing/gtest.gyp:gtest',
359 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
362 'ffmpeg/ffmpeg_unittest.cc',
365 ['toolkit_uses_gtk == 1', {
367 # Needed for the following #include chain:
368 # base/run_all_unittests.cc
369 # ../base/test_suite.h
371 '../build/linux/system.gyp:gtk',
374 ['linux_use_tcmalloc==1', {
376 '../base/allocator/allocator.gyp:allocator',
384 'target_name': 'media_unittests',
385 'type': 'executable',
388 'media_test_support',
389 '../base/base.gyp:base',
390 '../base/base.gyp:base_i18n',
391 '../base/base.gyp:test_support_base',
392 '../testing/gmock.gyp:gmock',
393 '../testing/gtest.gyp:gtest',
394 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
397 'audio/audio_input_controller_unittest.cc',
398 'audio/audio_input_device_unittest.cc',
399 'audio/audio_input_unittest.cc',
400 'audio/audio_output_controller_unittest.cc',
401 'audio/audio_output_proxy_unittest.cc',
402 'audio/audio_parameters_unittest.cc',
403 'audio/audio_util_unittest.cc',
404 'audio/linux/alsa_output_unittest.cc',
405 'audio/mac/audio_output_mac_unittest.cc',
406 'audio/simple_sources_unittest.cc',
407 'audio/win/audio_output_win_unittest.cc',
408 'base/clock_unittest.cc',
409 'base/composite_filter_unittest.cc',
410 'base/data_buffer_unittest.cc',
411 'base/djb2_unittest.cc',
412 'base/filter_collection_unittest.cc',
413 'base/h264_bitstream_converter_unittest.cc',
414 'base/mock_ffmpeg.cc',
415 'base/mock_ffmpeg.h',
416 'base/mock_reader.h',
419 'base/pipeline_impl_unittest.cc',
420 'base/pts_heap_unittest.cc',
421 'base/pts_stream_unittest.cc',
422 'base/run_all_unittests.cc',
423 'base/seekable_buffer_unittest.cc',
424 'base/state_matrix_unittest.cc',
425 'base/video_frame_unittest.cc',
426 'base/yuv_convert_unittest.cc',
427 'ffmpeg/ffmpeg_common_unittest.cc',
428 'filters/adaptive_demuxer_unittest.cc',
429 'filters/audio_renderer_algorithm_ola_unittest.cc',
430 'filters/audio_renderer_base_unittest.cc',
431 'filters/bitstream_converter_unittest.cc',
432 'filters/chunk_demuxer_unittest.cc',
433 'filters/decoder_base_unittest.cc',
434 'filters/ffmpeg_demuxer_unittest.cc',
435 'filters/ffmpeg_glue_unittest.cc',
436 'filters/ffmpeg_h264_bitstream_converter_unittest.cc',
437 'filters/ffmpeg_video_decoder_unittest.cc',
438 'filters/file_data_source_unittest.cc',
439 'filters/video_renderer_base_unittest.cc',
440 'video/capture/video_capture_device_unittest.cc',
441 'video/ffmpeg_video_decode_engine_unittest.cc',
442 'webm/cluster_builder.cc',
443 'webm/cluster_builder.h',
446 ['os_posix==1 and OS!="mac"', {
448 ['linux_use_tcmalloc==1', {
450 '../base/allocator/allocator.gyp:allocator',
458 'target_name': 'media_test_support',
459 'type': 'static_library',
462 '../base/base.gyp:base',
463 '../testing/gmock.gyp:gmock',
464 '../testing/gtest.gyp:gtest',
467 'audio/test_audio_input_controller_factory.cc',
468 'audio/test_audio_input_controller_factory.h',
469 'base/mock_callback.cc',
470 'base/mock_callback.h',
471 'base/mock_filter_host.cc',
472 'base/mock_filter_host.h',
473 'base/mock_filters.cc',
474 'base/mock_filters.h',
475 'video/video_mock_objects.cc',
476 'video/video_mock_objects.h',
480 'target_name': 'media_bench',
481 'type': 'executable',
484 '../base/base.gyp:base',
485 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
488 'tools/media_bench/media_bench.cc',
492 'target_name': 'scaler_bench',
493 'type': 'executable',
496 '../base/base.gyp:base',
497 '../skia/skia.gyp:skia',
500 'tools/scaler_bench/scaler_bench.cc',
504 'target_name': 'ffmpeg_tests',
505 'type': 'executable',
508 '../base/base.gyp:base',
509 '../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
512 'test/ffmpeg_tests/ffmpeg_tests.cc',
516 'target_name': 'wav_ola_test',
517 'type': 'executable',
520 '../base/base.gyp:base',
523 'tools/wav_ola_test/wav_ola_test.cc'
527 'target_name': 'qt_faststart',
528 'type': 'executable',
530 'tools/qt_faststart/qt_faststart.c'
538 'target_name': 'player_wtl',
539 'type': 'executable',
542 '../base/base.gyp:base',
545 '<(DEPTH)/third_party/wtl/include',
548 'tools/player_wtl/list.h',
549 'tools/player_wtl/mainfrm.h',
550 'tools/player_wtl/movie.cc',
551 'tools/player_wtl/movie.h',
552 'tools/player_wtl/player_wtl.cc',
553 'tools/player_wtl/player_wtl.rc',
554 'tools/player_wtl/props.h',
555 'tools/player_wtl/seek.h',
556 'tools/player_wtl/resource.h',
557 'tools/player_wtl/view.h',
558 'tools/player_wtl/wtl_renderer.cc',
559 'tools/player_wtl/wtl_renderer.h',
563 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
567 '_CRT_SECURE_NO_WARNINGS=1',
571 'target_name': 'mfplayer',
572 'type': 'executable',
579 'tools/mfplayer/mfplayer.h',
580 'tools/mfplayer/mfplayer.cc',
581 'tools/mfplayer/mf_playback_main.cc',
585 'SubSystem': '1', # Set /SUBSYSTEM:CONSOLE
590 'target_name': 'mfdecoder',
591 'type': 'executable',
594 '../base/base.gyp:base',
600 'tools/mfdecoder/main.cc',
601 'tools/mfdecoder/mfdecoder.h',
602 'tools/mfdecoder/mfdecoder.cc',
606 'SubSystem': '1', # Set /SUBSYSTEM:CONSOLE
615 'target_name': 'shader_bench',
616 'type': 'executable',
619 '../base/base.gyp:base',
620 '../ui/gfx/gl/gl.gyp:gl',
623 'tools/shader_bench/shader_bench.cc',
624 'tools/shader_bench/cpu_color_painter.cc',
625 'tools/shader_bench/cpu_color_painter.h',
626 'tools/shader_bench/gpu_color_painter.cc',
627 'tools/shader_bench/gpu_color_painter.h',
628 'tools/shader_bench/gpu_color_painter_exp.cc',
629 'tools/shader_bench/gpu_color_painter_exp.h',
630 'tools/shader_bench/gpu_painter.cc',
631 'tools/shader_bench/gpu_painter.h',
632 'tools/shader_bench/painter.cc',
633 'tools/shader_bench/painter.h',
634 'tools/shader_bench/window.cc',
635 'tools/shader_bench/window.h',
638 ['toolkit_uses_gtk == 1', {
640 '../build/linux/system.gyp:gtk',
643 'tools/shader_bench/window_linux.cc',
648 '../third_party/angle/src/build_angle.gyp:libEGL',
649 '../third_party/angle/src/build_angle.gyp:libGLESv2',
652 'tools/shader_bench/window_win.cc',
659 ['OS == "linux" and target_arch != "arm"', {
662 'target_name': 'tile_render_bench',
663 'type': 'executable',
665 '../base/base.gyp:base',
666 '../ui/gfx/gl/gl.gyp:gl',
673 'tools/tile_render_bench/tile_render_bench.cc',
678 ['os_posix == 1 and OS != "mac"', {
681 'target_name': 'player_x11',
682 'type': 'executable',
685 '../base/base.gyp:base',
686 '../ui/gfx/gl/gl.gyp:gl',
697 'tools/player_x11/gl_video_renderer.cc',
698 'tools/player_x11/gl_video_renderer.h',
699 'tools/player_x11/player_x11.cc',
700 'tools/player_x11/x11_video_renderer.cc',
701 'tools/player_x11/x11_video_renderer.h',