blob: 84794c9e06b444988c824174eaa5275949cc73b0 [file] [log] [blame]
henrik.lundin@webrtc.org54958f42013-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': {
turaj@webrtc.orgda9b4042014-05-09 18:04:50 +000011 'codecs': [
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +000012 'G711',
13 'G722',
14 'PCM16B',
15 'iLBC',
16 'iSAC',
17 'iSACFix',
18 'CNG',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +000019 ],
20 'neteq_defines': [],
21 'conditions': [
22 ['include_opus==1', {
turaj@webrtc.orgda9b4042014-05-09 18:04:50 +000023 'codecs': ['webrtc_opus',],
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +000024 'neteq_defines': ['WEBRTC_CODEC_OPUS',],
25 }],
26 ],
turaj@webrtc.orgda9b4042014-05-09 18:04:50 +000027 'neteq_dependencies': [
28 '<@(codecs)',
29 '<(DEPTH)/third_party/opus/opus.gyp:opus',
30 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
31 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
32 ],
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +000033 },
34 'targets': [
35 {
36 'target_name': 'NetEq4',
37 'type': 'static_library',
38 'dependencies': [
39 '<@(neteq_dependencies)',
40 ],
41 'defines': [
42 '<@(neteq_defines)',
43 ],
44 'include_dirs': [
jan.skoglund@webrtc.org253e3122014-03-10 22:50:19 +000045 # Need Opus header files for the audio classifier.
46 '<(DEPTH)/third_party/opus/src/celt',
sprang@webrtc.org81fd3e72014-03-14 16:22:18 +000047 '<(DEPTH)/third_party/opus/src/src',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +000048 ],
49 'direct_dependent_settings': {
50 'include_dirs': [
jan.skoglund@webrtc.org253e3122014-03-10 22:50:19 +000051 # Need Opus header files for the audio classifier.
52 '<(DEPTH)/third_party/opus/src/celt',
sprang@webrtc.org81fd3e72014-03-14 16:22:18 +000053 '<(DEPTH)/third_party/opus/src/src',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +000054 ],
55 },
jan.skoglund@webrtc.org253e3122014-03-10 22:50:19 +000056 'export_dependent_settings': [
57 '<(DEPTH)/third_party/opus/opus.gyp:opus',
58 ],
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +000059 'sources': [
60 'interface/audio_decoder.h',
61 'interface/neteq.h',
62 'accelerate.cc',
63 'accelerate.h',
jan.skoglund@webrtc.org253e3122014-03-10 22:50:19 +000064 'audio_classifier.cc',
65 'audio_classifier.h',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +000066 'audio_decoder_impl.cc',
67 'audio_decoder_impl.h',
68 'audio_decoder.cc',
69 'audio_multi_vector.cc',
70 'audio_multi_vector.h',
71 'audio_vector.cc',
72 'audio_vector.h',
73 'background_noise.cc',
74 'background_noise.h',
75 'buffer_level_filter.cc',
76 'buffer_level_filter.h',
77 'comfort_noise.cc',
78 'comfort_noise.h',
79 'decision_logic.cc',
80 'decision_logic.h',
81 'decision_logic_fax.cc',
82 'decision_logic_fax.h',
83 'decision_logic_normal.cc',
84 'decision_logic_normal.h',
85 'decoder_database.cc',
86 'decoder_database.h',
87 'defines.h',
88 'delay_manager.cc',
89 'delay_manager.h',
90 'delay_peak_detector.cc',
91 'delay_peak_detector.h',
92 'dsp_helper.cc',
93 'dsp_helper.h',
94 'dtmf_buffer.cc',
95 'dtmf_buffer.h',
96 'dtmf_tone_generator.cc',
97 'dtmf_tone_generator.h',
98 'expand.cc',
99 'expand.h',
100 'merge.cc',
101 'merge.h',
102 'neteq_impl.cc',
103 'neteq_impl.h',
104 'neteq.cc',
105 'statistics_calculator.cc',
106 'statistics_calculator.h',
107 'normal.cc',
108 'normal.h',
109 'packet_buffer.cc',
110 'packet_buffer.h',
111 'payload_splitter.cc',
112 'payload_splitter.h',
113 'post_decode_vad.cc',
114 'post_decode_vad.h',
115 'preemptive_expand.cc',
116 'preemptive_expand.h',
117 'random_vector.cc',
118 'random_vector.h',
119 'rtcp.cc',
120 'rtcp.h',
121 'sync_buffer.cc',
122 'sync_buffer.h',
123 'timestamp_scaler.cc',
124 'timestamp_scaler.h',
125 'time_stretch.cc',
126 'time_stretch.h',
127 ],
128 },
129 ], # targets
130 'conditions': [
131 ['include_tests==1', {
132 'includes': ['neteq_tests.gypi',],
133 'targets': [
134 {
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000135 'target_name': 'audio_decoder_unittests',
henrike@webrtc.org9d939ee2013-08-02 16:53:47 +0000136 'type': '<(gtest_target_type)',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000137 'dependencies': [
turaj@webrtc.orgda9b4042014-05-09 18:04:50 +0000138 '<@(codecs)',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000139 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.orga23b0512013-04-30 23:43:26 +0000140 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000141 '<(webrtc_root)/test/test.gyp:test_support_main',
142 ],
143 'defines': [
144 'AUDIO_DECODER_UNITTEST',
145 'WEBRTC_CODEC_G722',
146 'WEBRTC_CODEC_ILBC',
147 'WEBRTC_CODEC_ISACFX',
148 'WEBRTC_CODEC_ISAC',
149 'WEBRTC_CODEC_PCM16',
150 '<@(neteq_defines)',
151 ],
152 'sources': [
153 'audio_decoder_impl.cc',
154 'audio_decoder_impl.h',
155 'audio_decoder_unittest.cc',
156 'audio_decoder.cc',
157 'interface/audio_decoder.h',
158 ],
henrike@webrtc.org9d939ee2013-08-02 16:53:47 +0000159 'conditions': [
160 # TODO(henrike): remove build_with_chromium==1 when the bots are
161 # using Chromium's buildbots.
162 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
163 'dependencies': [
164 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
165 ],
166 }],
167 ],
kjellander@webrtc.orgcc895d12013-02-04 10:07:17 +0000168 }, # audio_decoder_unittests
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000169
170 {
171 'target_name': 'neteq_unittest_tools',
172 'type': 'static_library',
173 'dependencies': [
henrik.lundin@webrtc.orgfd59b222014-04-14 18:42:23 +0000174 'rtp_rtcp',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000175 ],
176 'direct_dependent_settings': {
177 'include_dirs': [
178 'tools',
179 ],
180 },
181 'include_dirs': [
182 'tools',
183 ],
184 'sources': [
henrik.lundin@webrtc.orged8ce362013-09-17 08:38:02 +0000185 'tools/audio_loop.cc',
186 'tools/audio_loop.h',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000187 'tools/input_audio_file.cc',
188 'tools/input_audio_file.h',
henrik.lundin@webrtc.orgfd59b222014-04-14 18:42:23 +0000189 'tools/packet.cc',
190 'tools/packet.h',
191 'tools/packet_source.h',
192 'tools/rtp_file_source.cc',
193 'tools/rtp_file_source.h',
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000194 'tools/rtp_generator.cc',
195 'tools/rtp_generator.h',
196 ],
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000197 }, # neteq_unittest_tools
198 ], # targets
henrike@webrtc.org9d939ee2013-08-02 16:53:47 +0000199 'conditions': [
200 # TODO(henrike): remove build_with_chromium==1 when the bots are using
201 # Chromium's buildbots.
202 ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
203 'targets': [
204 {
205 'target_name': 'audio_decoder_unittests_apk_target',
206 'type': 'none',
207 'dependencies': [
208 '<(apk_tests_path):audio_decoder_unittests_apk',
209 ],
210 },
211 ],
212 }],
kjellander@webrtc.orgd09ee872013-08-22 07:57:00 +0000213 ['test_isolation_mode != "noop"', {
214 'targets': [
215 {
216 'target_name': 'audio_decoder_unittests_run',
217 'type': 'none',
218 'dependencies': [
kjellander@webrtc.orgd09ee872013-08-22 07:57:00 +0000219 'audio_decoder_unittests',
220 ],
221 'includes': [
kjellander@webrtc.org3de1b222013-10-02 19:31:16 +0000222 '../../../build/isolate.gypi',
kjellander@webrtc.orgd09ee872013-08-22 07:57:00 +0000223 'audio_decoder_unittests.isolate',
224 ],
225 'sources': [
226 'audio_decoder_unittests.isolate',
227 ],
228 },
229 ],
230 }],
henrike@webrtc.org9d939ee2013-08-02 16:53:47 +0000231 ],
henrik.lundin@webrtc.org54958f42013-01-29 12:09:21 +0000232 }], # include_tests
233 ], # conditions
234}