blob: 6580d6832f6bbbe4fe98f4deca097de688712f6e [file] [log] [blame]
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +00001# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9{
10 'variables': {
11 'neteq_dependencies': [
12 'G711',
13 'G722',
14 'PCM16B',
15 'iLBC',
16 'iSAC',
17 'iSACFix',
18 'CNG',
jan.skoglund@webrtc.orgc3d13d32014-03-10 22:50:19 +000019 '<(DEPTH)/third_party/opus/opus.gyp:opus',
andrew@webrtc.org34235372013-04-30 23:43:26 +000020 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000021 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
22 ],
23 'neteq_defines': [],
24 'conditions': [
25 ['include_opus==1', {
26 'neteq_dependencies': ['webrtc_opus',],
27 'neteq_defines': ['WEBRTC_CODEC_OPUS',],
28 }],
29 ],
30 },
31 'targets': [
32 {
33 'target_name': 'NetEq4',
34 'type': 'static_library',
35 'dependencies': [
36 '<@(neteq_dependencies)',
37 ],
38 'defines': [
39 '<@(neteq_defines)',
40 ],
41 'include_dirs': [
jan.skoglund@webrtc.orgc3d13d32014-03-10 22:50:19 +000042 # Need Opus header files for the audio classifier.
43 '<(DEPTH)/third_party/opus/src/celt',
sprang@webrtc.orgcf6f46d2014-03-14 16:22:18 +000044 '<(DEPTH)/third_party/opus/src/src',
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000045 ],
46 'direct_dependent_settings': {
47 'include_dirs': [
jan.skoglund@webrtc.orgc3d13d32014-03-10 22:50:19 +000048 # Need Opus header files for the audio classifier.
49 '<(DEPTH)/third_party/opus/src/celt',
sprang@webrtc.orgcf6f46d2014-03-14 16:22:18 +000050 '<(DEPTH)/third_party/opus/src/src',
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000051 ],
52 },
jan.skoglund@webrtc.orgc3d13d32014-03-10 22:50:19 +000053 'export_dependent_settings': [
54 '<(DEPTH)/third_party/opus/opus.gyp:opus',
55 ],
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000056 'sources': [
57 'interface/audio_decoder.h',
58 'interface/neteq.h',
59 'accelerate.cc',
60 'accelerate.h',
jan.skoglund@webrtc.orgc3d13d32014-03-10 22:50:19 +000061 'audio_classifier.cc',
62 'audio_classifier.h',
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +000063 'audio_decoder_impl.cc',
64 'audio_decoder_impl.h',
65 'audio_decoder.cc',
66 'audio_multi_vector.cc',
67 'audio_multi_vector.h',
68 'audio_vector.cc',
69 'audio_vector.h',
70 'background_noise.cc',
71 'background_noise.h',
72 'buffer_level_filter.cc',
73 'buffer_level_filter.h',
74 'comfort_noise.cc',
75 'comfort_noise.h',
76 'decision_logic.cc',
77 'decision_logic.h',
78 'decision_logic_fax.cc',
79 'decision_logic_fax.h',
80 'decision_logic_normal.cc',
81 'decision_logic_normal.h',
82 'decoder_database.cc',
83 'decoder_database.h',
84 'defines.h',
85 'delay_manager.cc',
86 'delay_manager.h',
87 'delay_peak_detector.cc',
88 'delay_peak_detector.h',
89 'dsp_helper.cc',
90 'dsp_helper.h',
91 'dtmf_buffer.cc',
92 'dtmf_buffer.h',
93 'dtmf_tone_generator.cc',
94 'dtmf_tone_generator.h',
95 'expand.cc',
96 'expand.h',
97 'merge.cc',
98 'merge.h',
99 'neteq_impl.cc',
100 'neteq_impl.h',
101 'neteq.cc',
102 'statistics_calculator.cc',
103 'statistics_calculator.h',
104 'normal.cc',
105 'normal.h',
106 'packet_buffer.cc',
107 'packet_buffer.h',
108 'payload_splitter.cc',
109 'payload_splitter.h',
110 'post_decode_vad.cc',
111 'post_decode_vad.h',
112 'preemptive_expand.cc',
113 'preemptive_expand.h',
114 'random_vector.cc',
115 'random_vector.h',
116 'rtcp.cc',
117 'rtcp.h',
118 'sync_buffer.cc',
119 'sync_buffer.h',
120 'timestamp_scaler.cc',
121 'timestamp_scaler.h',
122 'time_stretch.cc',
123 'time_stretch.h',
124 ],
125 },
126 ], # targets
127 'conditions': [
128 ['include_tests==1', {
129 'includes': ['neteq_tests.gypi',],
130 'targets': [
131 {
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +0000132 'target_name': 'audio_decoder_unittests',
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000133 'type': '<(gtest_target_type)',
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +0000134 'dependencies': [
135 '<@(neteq_dependencies)',
136 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.org34235372013-04-30 23:43:26 +0000137 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +0000138 '<(webrtc_root)/test/test.gyp:test_support_main',
139 ],
140 'defines': [
141 'AUDIO_DECODER_UNITTEST',
142 'WEBRTC_CODEC_G722',
143 'WEBRTC_CODEC_ILBC',
144 'WEBRTC_CODEC_ISACFX',
145 'WEBRTC_CODEC_ISAC',
146 'WEBRTC_CODEC_PCM16',
147 '<@(neteq_defines)',
148 ],
149 'sources': [
150 'audio_decoder_impl.cc',
151 'audio_decoder_impl.h',
152 'audio_decoder_unittest.cc',
153 'audio_decoder.cc',
154 'interface/audio_decoder.h',
155 ],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000156 'conditions': [
157 # TODO(henrike): remove build_with_chromium==1 when the bots are
158 # using Chromium's buildbots.
159 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
160 'dependencies': [
161 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
162 ],
163 }],
164 ],
kjellander@webrtc.orgfa53d872013-02-04 10:07:17 +0000165 }, # audio_decoder_unittests
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +0000166
167 {
168 'target_name': 'neteq_unittest_tools',
169 'type': 'static_library',
170 'dependencies': [
171 '<(DEPTH)/testing/gmock.gyp:gmock',
172 '<(DEPTH)/testing/gtest.gyp:gtest',
henrik.lundin@webrtc.orga366e812014-01-10 08:24:04 +0000173 'PCM16B', # Needed by neteq_performance_test.
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +0000174 ],
175 'direct_dependent_settings': {
176 'include_dirs': [
177 'tools',
178 ],
179 },
180 'include_dirs': [
181 'tools',
182 ],
183 'sources': [
henrik.lundin@webrtc.orgd1fc5d42013-09-17 08:38:02 +0000184 'tools/audio_loop.cc',
185 'tools/audio_loop.h',
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +0000186 'tools/input_audio_file.cc',
187 'tools/input_audio_file.h',
henrik.lundin@webrtc.orga366e812014-01-10 08:24:04 +0000188 'tools/neteq_performance_test.cc',
189 'tools/neteq_performance_test.h',
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +0000190 'tools/rtp_generator.cc',
191 'tools/rtp_generator.h',
192 ],
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +0000193 }, # neteq_unittest_tools
194 ], # targets
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000195 'conditions': [
196 # TODO(henrike): remove build_with_chromium==1 when the bots are using
197 # Chromium's buildbots.
198 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
199 'targets': [
200 {
201 'target_name': 'audio_decoder_unittests_apk_target',
202 'type': 'none',
203 'dependencies': [
204 '<(apk_tests_path):audio_decoder_unittests_apk',
205 ],
206 },
207 ],
208 }],
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000209 ['test_isolation_mode != "noop"', {
210 'targets': [
211 {
212 'target_name': 'audio_decoder_unittests_run',
213 'type': 'none',
214 'dependencies': [
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000215 'audio_decoder_unittests',
216 ],
217 'includes': [
kjellander@webrtc.org2a973172013-10-02 19:31:16 +0000218 '../../../build/isolate.gypi',
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000219 'audio_decoder_unittests.isolate',
220 ],
221 'sources': [
222 'audio_decoder_unittests.isolate',
223 ],
224 },
225 ],
226 }],
henrike@webrtc.org89c67402013-08-02 16:53:47 +0000227 ],
henrik.lundin@webrtc.orgd94659d2013-01-29 12:09:21 +0000228 }], # include_tests
229 ], # conditions
230}