blob: 9b236218b3f986da9ca49d7ce3142958c2c7570f [file] [log] [blame]
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +00001# Copyright (c) 2014 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
9import("../../build/webrtc.gni")
10
kjellanderb62dbbe2016-09-23 00:38:52 -070011rtc_static_library("rtp_rtcp") {
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000012 sources = [
brandtra8b38552016-10-10 16:44:57 -070013 "include/flexfec_receiver.h",
brandtrc295e002016-11-03 09:22:33 -070014 "include/flexfec_sender.h",
Henrik Kjellanderff761fb2015-11-04 08:31:52 +010015 "include/receive_statistics.h",
16 "include/remote_ntp_time_estimator.h",
17 "include/rtp_header_parser.h",
18 "include/rtp_payload_registry.h",
19 "include/rtp_receiver.h",
20 "include/rtp_rtcp.h",
21 "include/rtp_rtcp_defines.h",
brandtrd55c3f62016-10-31 04:51:33 -070022 "include/ulpfec_receiver.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000023 "source/byte_io.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +020024 "source/dtmf_queue.cc",
25 "source/dtmf_queue.h",
26 "source/fec_private_tables_bursty.h",
27 "source/fec_private_tables_random.h",
brandtr0496de22016-10-03 00:43:25 -070028 "source/flexfec_header_reader_writer.cc",
29 "source/flexfec_header_reader_writer.h",
brandtr0a4c1612016-11-03 08:18:27 -070030 "source/flexfec_receiver.cc",
brandtrc295e002016-11-03 09:22:33 -070031 "source/flexfec_sender.cc",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +020032 "source/forward_error_correction.cc",
33 "source/forward_error_correction.h",
34 "source/forward_error_correction_internal.cc",
35 "source/forward_error_correction_internal.h",
bcornell30409b42015-07-10 18:10:05 -070036 "source/packet_loss_stats.cc",
37 "source/packet_loss_stats.h",
isheriff6b4b5f32016-06-08 00:24:21 -070038 "source/playout_delay_oracle.cc",
39 "source/playout_delay_oracle.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000040 "source/receive_statistics_impl.cc",
41 "source/receive_statistics_impl.h",
42 "source/remote_ntp_time_estimator.cc",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000043 "source/rtcp_packet.cc",
44 "source/rtcp_packet.h",
danilchap0219c9b2015-11-18 05:56:53 -080045 "source/rtcp_packet/app.cc",
46 "source/rtcp_packet/app.h",
danilchap50c51362015-11-22 09:03:11 -080047 "source/rtcp_packet/bye.cc",
48 "source/rtcp_packet/bye.h",
Danil Chapovalov7021b922016-03-15 17:39:32 +010049 "source/rtcp_packet/common_header.cc",
50 "source/rtcp_packet/common_header.h",
danilchap2f7dea12016-01-13 02:03:04 -080051 "source/rtcp_packet/compound_packet.cc",
52 "source/rtcp_packet/compound_packet.h",
danilchap54999d42015-12-16 01:56:20 -080053 "source/rtcp_packet/dlrr.cc",
54 "source/rtcp_packet/dlrr.h",
danilchapf8506cb2015-11-13 07:33:20 -080055 "source/rtcp_packet/extended_jitter_report.cc",
56 "source/rtcp_packet/extended_jitter_report.h",
Danil Chapovalov256e5b22016-01-15 14:16:24 +010057 "source/rtcp_packet/extended_reports.cc",
58 "source/rtcp_packet/extended_reports.h",
Danil Chapovalov5679da12016-01-15 13:19:53 +010059 "source/rtcp_packet/fir.cc",
60 "source/rtcp_packet/fir.h",
danilchapa8890a52015-12-22 03:43:04 -080061 "source/rtcp_packet/nack.cc",
62 "source/rtcp_packet/nack.h",
danilchapf8385ad2015-11-27 05:36:09 -080063 "source/rtcp_packet/pli.cc",
64 "source/rtcp_packet/pli.h",
65 "source/rtcp_packet/psfb.cc",
66 "source/rtcp_packet/psfb.h",
danilchap09fef9e2016-02-09 05:57:51 -080067 "source/rtcp_packet/rapid_resync_request.cc",
68 "source/rtcp_packet/rapid_resync_request.h",
Danil Chapovalov97f7e132015-12-04 16:13:30 +010069 "source/rtcp_packet/receiver_report.cc",
70 "source/rtcp_packet/receiver_report.h",
Danil Chapovalova5eba6c2016-01-15 12:40:15 +010071 "source/rtcp_packet/remb.cc",
72 "source/rtcp_packet/remb.h",
danilchapdf948f02015-11-13 03:03:13 -080073 "source/rtcp_packet/report_block.cc",
74 "source/rtcp_packet/report_block.h",
Danil Chapovalov2c132972016-01-15 15:21:21 +010075 "source/rtcp_packet/rpsi.cc",
76 "source/rtcp_packet/rpsi.h",
Danil Chapovalovfc47ed62015-12-07 14:46:35 +010077 "source/rtcp_packet/rrtr.cc",
78 "source/rtcp_packet/rrtr.h",
danilchapa8890a52015-12-22 03:43:04 -080079 "source/rtcp_packet/rtpfb.cc",
80 "source/rtcp_packet/rtpfb.h",
Danil Chapovalov1567d0b2016-01-15 17:34:27 +010081 "source/rtcp_packet/sdes.cc",
82 "source/rtcp_packet/sdes.h",
danilchap34ed2b92016-01-18 02:43:32 -080083 "source/rtcp_packet/sender_report.cc",
84 "source/rtcp_packet/sender_report.h",
danilchap92e677a2016-01-12 10:04:52 -080085 "source/rtcp_packet/sli.cc",
86 "source/rtcp_packet/sli.h",
sprangb84ad632016-11-01 02:50:12 -070087 "source/rtcp_packet/target_bitrate.cc",
88 "source/rtcp_packet/target_bitrate.h",
danilchapa92d6be2016-02-04 07:33:39 -080089 "source/rtcp_packet/tmmb_item.cc",
90 "source/rtcp_packet/tmmb_item.h",
danilchapef3d8052016-01-11 03:31:08 -080091 "source/rtcp_packet/tmmbn.cc",
92 "source/rtcp_packet/tmmbn.h",
danilchap7e8145f2016-01-11 11:49:19 -080093 "source/rtcp_packet/tmmbr.cc",
94 "source/rtcp_packet/tmmbr.h",
Erik Språnga3b87692015-07-29 10:46:54 +020095 "source/rtcp_packet/transport_feedback.cc",
96 "source/rtcp_packet/transport_feedback.h",
danilchap91941ae2015-12-15 07:06:36 -080097 "source/rtcp_packet/voip_metric.cc",
98 "source/rtcp_packet/voip_metric.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000099 "source/rtcp_receiver.cc",
100 "source/rtcp_receiver.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000101 "source/rtcp_sender.cc",
102 "source/rtcp_sender.h",
103 "source/rtcp_utility.cc",
104 "source/rtcp_utility.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200105 "source/rtp_format.cc",
106 "source/rtp_format.h",
107 "source/rtp_format_h264.cc",
108 "source/rtp_format_h264.h",
109 "source/rtp_format_video_generic.cc",
110 "source/rtp_format_video_generic.h",
111 "source/rtp_format_vp8.cc",
112 "source/rtp_format_vp8.h",
asaperssonf38ea3c2015-07-28 04:02:54 -0700113 "source/rtp_format_vp9.cc",
114 "source/rtp_format_vp9.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000115 "source/rtp_header_extension.cc",
116 "source/rtp_header_extension.h",
danilchap1edb7ab2016-04-20 05:25:10 -0700117 "source/rtp_header_extensions.cc",
118 "source/rtp_header_extensions.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200119 "source/rtp_header_parser.cc",
danilchap1edb7ab2016-04-20 05:25:10 -0700120 "source/rtp_packet.cc",
121 "source/rtp_packet.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200122 "source/rtp_packet_history.cc",
123 "source/rtp_packet_history.h",
danilchap1edb7ab2016-04-20 05:25:10 -0700124 "source/rtp_packet_received.h",
125 "source/rtp_packet_to_send.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200126 "source/rtp_payload_registry.cc",
127 "source/rtp_receiver_audio.cc",
128 "source/rtp_receiver_audio.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000129 "source/rtp_receiver_impl.cc",
130 "source/rtp_receiver_impl.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200131 "source/rtp_receiver_strategy.cc",
132 "source/rtp_receiver_strategy.h",
133 "source/rtp_receiver_video.cc",
134 "source/rtp_receiver_video.h",
135 "source/rtp_rtcp_config.h",
136 "source/rtp_rtcp_impl.cc",
137 "source/rtp_rtcp_impl.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000138 "source/rtp_sender.cc",
139 "source/rtp_sender.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200140 "source/rtp_sender_audio.cc",
141 "source/rtp_sender_audio.h",
142 "source/rtp_sender_video.cc",
143 "source/rtp_sender_video.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000144 "source/rtp_utility.cc",
145 "source/rtp_utility.h",
146 "source/ssrc_database.cc",
147 "source/ssrc_database.h",
Danil Chapovalovc1e55c72016-03-09 15:14:35 +0100148 "source/time_util.cc",
149 "source/time_util.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000150 "source/tmmbr_help.cc",
151 "source/tmmbr_help.h",
brandtr869e7cd2016-10-31 05:27:07 -0700152 "source/ulpfec_generator.cc",
153 "source/ulpfec_generator.h",
Rasmus Brandt78db1582016-09-21 09:19:34 +0200154 "source/ulpfec_header_reader_writer.cc",
155 "source/ulpfec_header_reader_writer.h",
brandtrd55c3f62016-10-31 04:51:33 -0700156 "source/ulpfec_receiver_impl.cc",
157 "source/ulpfec_receiver_impl.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000158 "source/video_codec_information.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000159 "source/vp8_partition_aggregator.cc",
160 "source/vp8_partition_aggregator.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000161 ]
162
gaetano.carlucci52a57032016-09-14 05:04:36 -0700163 if (rtc_enable_bwe_test_logging) {
164 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
165 } else {
166 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
167 }
168
kjellandere40a7ee2016-10-16 23:56:12 -0700169 if (!build_with_chromium && is_clang) {
170 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700171 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellander@webrtc.org42ee5b52014-08-25 14:15:35 +0000172 }
173
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000174 deps = [
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +0000175 "../..:webrtc_common",
aleloia8eb7562016-11-28 07:02:13 -0800176 "../../api:transport_api",
mbonadeiebafdc82016-12-22 07:35:39 -0800177 "../../base:gtest_prod",
178 "../../base:rtc_base_approved",
179 "../../base:rtc_task_queue",
180 "../../call:call_interfaces",
sprang52033d62016-06-02 02:43:32 -0700181 "../../common_video",
mbonadeiebafdc82016-12-22 07:35:39 -0800182 "../../logging:rtc_event_log_api",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000183 "../../system_wrappers",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000184 "../remote_bitrate_estimator",
185 ]
186
kjellander8f4419b2016-06-02 02:09:52 -0700187 # TODO(jschuh): Bug 1348: fix this warning.
188 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
189
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000190 if (is_win) {
191 cflags = [
kjellander@webrtc.org8649fed2015-01-08 21:22:01 +0000192 # TODO(kjellander): Bug 261: fix this warning.
193 "/wd4373", # virtual function override.
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000194 ]
195 }
196}
brandtr03bc3cf2016-08-08 08:08:53 -0700197
198if (rtc_include_tests) {
ehmaldonado38a21322016-09-02 04:10:34 -0700199 rtc_executable("test_packet_masks_metrics") {
brandtr03bc3cf2016-08-08 08:08:53 -0700200 testonly = true
201
202 sources = [
203 "test/testFec/average_residual_loss_xor_codes.h",
204 "test/testFec/test_packet_masks_metrics.cc",
205 ]
206
207 deps = [
208 ":rtp_rtcp",
209 "//testing/gtest",
ehmaldonado26bddb92016-11-30 06:12:01 -0800210 "//webrtc/test:test_main",
brandtr03bc3cf2016-08-08 08:08:53 -0700211 ]
212 } # test_packet_masks_metrics
ehmaldonado36268652017-01-19 08:27:11 -0800213
214 rtc_source_set("rtp_rtcp_unittests") {
215 testonly = true
216 sources = [
217 "mocks/mock_rtp_rtcp.h",
218 "source/byte_io_unittest.cc",
219 "source/fec_test_helper.cc",
220 "source/fec_test_helper.h",
221 "source/flexfec_header_reader_writer_unittest.cc",
222 "source/flexfec_receiver_unittest.cc",
223 "source/flexfec_sender_unittest.cc",
224 "source/nack_rtx_unittest.cc",
225 "source/packet_loss_stats_unittest.cc",
226 "source/playout_delay_oracle_unittest.cc",
227 "source/receive_statistics_unittest.cc",
228 "source/remote_ntp_time_estimator_unittest.cc",
229 "source/rtcp_packet/app_unittest.cc",
230 "source/rtcp_packet/bye_unittest.cc",
231 "source/rtcp_packet/common_header_unittest.cc",
232 "source/rtcp_packet/compound_packet_unittest.cc",
233 "source/rtcp_packet/dlrr_unittest.cc",
234 "source/rtcp_packet/extended_jitter_report_unittest.cc",
235 "source/rtcp_packet/extended_reports_unittest.cc",
236 "source/rtcp_packet/fir_unittest.cc",
237 "source/rtcp_packet/nack_unittest.cc",
238 "source/rtcp_packet/pli_unittest.cc",
239 "source/rtcp_packet/rapid_resync_request_unittest.cc",
240 "source/rtcp_packet/receiver_report_unittest.cc",
241 "source/rtcp_packet/remb_unittest.cc",
242 "source/rtcp_packet/report_block_unittest.cc",
243 "source/rtcp_packet/rpsi_unittest.cc",
244 "source/rtcp_packet/rrtr_unittest.cc",
245 "source/rtcp_packet/sdes_unittest.cc",
246 "source/rtcp_packet/sender_report_unittest.cc",
247 "source/rtcp_packet/sli_unittest.cc",
248 "source/rtcp_packet/target_bitrate_unittest.cc",
249 "source/rtcp_packet/tmmbn_unittest.cc",
250 "source/rtcp_packet/tmmbr_unittest.cc",
251 "source/rtcp_packet/transport_feedback_unittest.cc",
252 "source/rtcp_packet/voip_metric_unittest.cc",
253 "source/rtcp_packet_unittest.cc",
254 "source/rtcp_receiver_unittest.cc",
255 "source/rtcp_sender_unittest.cc",
256 "source/rtcp_utility_unittest.cc",
257 "source/rtp_fec_unittest.cc",
258 "source/rtp_format_h264_unittest.cc",
259 "source/rtp_format_vp8_test_helper.cc",
260 "source/rtp_format_vp8_test_helper.h",
261 "source/rtp_format_vp8_unittest.cc",
262 "source/rtp_format_vp9_unittest.cc",
263 "source/rtp_header_extension_unittest.cc",
264 "source/rtp_packet_history_unittest.cc",
265 "source/rtp_packet_unittest.cc",
266 "source/rtp_payload_registry_unittest.cc",
267 "source/rtp_rtcp_impl_unittest.cc",
268 "source/rtp_sender_unittest.cc",
269 "source/rtp_utility_unittest.cc",
270 "source/time_util_unittest.cc",
271 "source/ulpfec_generator_unittest.cc",
272 "source/ulpfec_header_reader_writer_unittest.cc",
273 "source/ulpfec_receiver_unittest.cc",
274 "source/vp8_partition_aggregator_unittest.cc",
275 "test/testAPI/test_api.cc",
276 "test/testAPI/test_api.h",
277 "test/testAPI/test_api_audio.cc",
278 "test/testAPI/test_api_rtcp.cc",
279 "test/testAPI/test_api_video.cc",
280 ]
281 deps = [
282 ":rtp_rtcp",
283 "../..:webrtc_common",
284 "../../api:transport_api",
285 "../../base:rtc_base_approved",
286 "../../common_video:common_video",
287 "../../system_wrappers:system_wrappers",
288 "../../test:field_trial",
289 "../../test:rtp_test_utils",
290 "../../test:test_common",
291 "../../test:test_support",
292 "//testing/gmock",
293 ]
294
295 # TODO(jschuh): bugs.webrtc.org/1348: fix this warning.
296 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
297 if (!build_with_chromium && is_clang) {
298 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
299 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
300 }
301 }
brandtr03bc3cf2016-08-08 08:08:53 -0700302}