blob: af216e792f40a4add3874d188df1d4f457dd644a [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 = [
Henrik Kjellanderff761fb2015-11-04 08:31:52 +010013 "include/fec_receiver.h",
brandtra8b38552016-10-10 16:44:57 -070014 "include/flexfec_receiver.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",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +020022 "mocks/mock_rtp_rtcp.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",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000028 "source/fec_receiver_impl.cc",
29 "source/fec_receiver_impl.h",
brandtr0496de22016-10-03 00:43:25 -070030 "source/flexfec_header_reader_writer.cc",
31 "source/flexfec_header_reader_writer.h",
brandtra8b38552016-10-10 16:44:57 -070032 "source/flexfec_receiver_impl.cc",
33 "source/flexfec_receiver_impl.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +020034 "source/forward_error_correction.cc",
35 "source/forward_error_correction.h",
36 "source/forward_error_correction_internal.cc",
37 "source/forward_error_correction_internal.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +020038 "source/mock/mock_rtp_payload_strategy.h",
bcornell30409b42015-07-10 18:10:05 -070039 "source/packet_loss_stats.cc",
40 "source/packet_loss_stats.h",
isheriff6b4b5f32016-06-08 00:24:21 -070041 "source/playout_delay_oracle.cc",
42 "source/playout_delay_oracle.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +020043 "source/producer_fec.cc",
44 "source/producer_fec.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000045 "source/receive_statistics_impl.cc",
46 "source/receive_statistics_impl.h",
47 "source/remote_ntp_time_estimator.cc",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000048 "source/rtcp_packet.cc",
49 "source/rtcp_packet.h",
danilchap0219c9b2015-11-18 05:56:53 -080050 "source/rtcp_packet/app.cc",
51 "source/rtcp_packet/app.h",
danilchap50c51362015-11-22 09:03:11 -080052 "source/rtcp_packet/bye.cc",
53 "source/rtcp_packet/bye.h",
Danil Chapovalov7021b922016-03-15 17:39:32 +010054 "source/rtcp_packet/common_header.cc",
55 "source/rtcp_packet/common_header.h",
danilchap2f7dea12016-01-13 02:03:04 -080056 "source/rtcp_packet/compound_packet.cc",
57 "source/rtcp_packet/compound_packet.h",
danilchap54999d42015-12-16 01:56:20 -080058 "source/rtcp_packet/dlrr.cc",
59 "source/rtcp_packet/dlrr.h",
danilchapf8506cb2015-11-13 07:33:20 -080060 "source/rtcp_packet/extended_jitter_report.cc",
61 "source/rtcp_packet/extended_jitter_report.h",
Danil Chapovalov256e5b22016-01-15 14:16:24 +010062 "source/rtcp_packet/extended_reports.cc",
63 "source/rtcp_packet/extended_reports.h",
Danil Chapovalov5679da12016-01-15 13:19:53 +010064 "source/rtcp_packet/fir.cc",
65 "source/rtcp_packet/fir.h",
danilchapa8890a52015-12-22 03:43:04 -080066 "source/rtcp_packet/nack.cc",
67 "source/rtcp_packet/nack.h",
danilchapf8385ad2015-11-27 05:36:09 -080068 "source/rtcp_packet/pli.cc",
69 "source/rtcp_packet/pli.h",
70 "source/rtcp_packet/psfb.cc",
71 "source/rtcp_packet/psfb.h",
danilchap09fef9e2016-02-09 05:57:51 -080072 "source/rtcp_packet/rapid_resync_request.cc",
73 "source/rtcp_packet/rapid_resync_request.h",
Danil Chapovalov97f7e132015-12-04 16:13:30 +010074 "source/rtcp_packet/receiver_report.cc",
75 "source/rtcp_packet/receiver_report.h",
Danil Chapovalova5eba6c2016-01-15 12:40:15 +010076 "source/rtcp_packet/remb.cc",
77 "source/rtcp_packet/remb.h",
danilchapdf948f02015-11-13 03:03:13 -080078 "source/rtcp_packet/report_block.cc",
79 "source/rtcp_packet/report_block.h",
Danil Chapovalov2c132972016-01-15 15:21:21 +010080 "source/rtcp_packet/rpsi.cc",
81 "source/rtcp_packet/rpsi.h",
Danil Chapovalovfc47ed62015-12-07 14:46:35 +010082 "source/rtcp_packet/rrtr.cc",
83 "source/rtcp_packet/rrtr.h",
danilchapa8890a52015-12-22 03:43:04 -080084 "source/rtcp_packet/rtpfb.cc",
85 "source/rtcp_packet/rtpfb.h",
Danil Chapovalov1567d0b2016-01-15 17:34:27 +010086 "source/rtcp_packet/sdes.cc",
87 "source/rtcp_packet/sdes.h",
danilchap34ed2b92016-01-18 02:43:32 -080088 "source/rtcp_packet/sender_report.cc",
89 "source/rtcp_packet/sender_report.h",
danilchap92e677a2016-01-12 10:04:52 -080090 "source/rtcp_packet/sli.cc",
91 "source/rtcp_packet/sli.h",
danilchapa92d6be2016-02-04 07:33:39 -080092 "source/rtcp_packet/tmmb_item.cc",
93 "source/rtcp_packet/tmmb_item.h",
danilchapef3d8052016-01-11 03:31:08 -080094 "source/rtcp_packet/tmmbn.cc",
95 "source/rtcp_packet/tmmbn.h",
danilchap7e8145f2016-01-11 11:49:19 -080096 "source/rtcp_packet/tmmbr.cc",
97 "source/rtcp_packet/tmmbr.h",
Erik Språnga3b87692015-07-29 10:46:54 +020098 "source/rtcp_packet/transport_feedback.cc",
99 "source/rtcp_packet/transport_feedback.h",
danilchap91941ae2015-12-15 07:06:36 -0800100 "source/rtcp_packet/voip_metric.cc",
101 "source/rtcp_packet/voip_metric.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000102 "source/rtcp_receiver.cc",
103 "source/rtcp_receiver.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000104 "source/rtcp_sender.cc",
105 "source/rtcp_sender.h",
106 "source/rtcp_utility.cc",
107 "source/rtcp_utility.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200108 "source/rtp_format.cc",
109 "source/rtp_format.h",
110 "source/rtp_format_h264.cc",
111 "source/rtp_format_h264.h",
112 "source/rtp_format_video_generic.cc",
113 "source/rtp_format_video_generic.h",
114 "source/rtp_format_vp8.cc",
115 "source/rtp_format_vp8.h",
asaperssonf38ea3c2015-07-28 04:02:54 -0700116 "source/rtp_format_vp9.cc",
117 "source/rtp_format_vp9.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000118 "source/rtp_header_extension.cc",
119 "source/rtp_header_extension.h",
danilchap1edb7ab2016-04-20 05:25:10 -0700120 "source/rtp_header_extensions.cc",
121 "source/rtp_header_extensions.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200122 "source/rtp_header_parser.cc",
danilchap1edb7ab2016-04-20 05:25:10 -0700123 "source/rtp_packet.cc",
124 "source/rtp_packet.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200125 "source/rtp_packet_history.cc",
126 "source/rtp_packet_history.h",
danilchap1edb7ab2016-04-20 05:25:10 -0700127 "source/rtp_packet_received.h",
128 "source/rtp_packet_to_send.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200129 "source/rtp_payload_registry.cc",
130 "source/rtp_receiver_audio.cc",
131 "source/rtp_receiver_audio.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000132 "source/rtp_receiver_impl.cc",
133 "source/rtp_receiver_impl.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200134 "source/rtp_receiver_strategy.cc",
135 "source/rtp_receiver_strategy.h",
136 "source/rtp_receiver_video.cc",
137 "source/rtp_receiver_video.h",
138 "source/rtp_rtcp_config.h",
139 "source/rtp_rtcp_impl.cc",
140 "source/rtp_rtcp_impl.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000141 "source/rtp_sender.cc",
142 "source/rtp_sender.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200143 "source/rtp_sender_audio.cc",
144 "source/rtp_sender_audio.h",
145 "source/rtp_sender_video.cc",
146 "source/rtp_sender_video.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000147 "source/rtp_utility.cc",
148 "source/rtp_utility.h",
149 "source/ssrc_database.cc",
150 "source/ssrc_database.h",
Danil Chapovalovc1e55c72016-03-09 15:14:35 +0100151 "source/time_util.cc",
152 "source/time_util.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000153 "source/tmmbr_help.cc",
154 "source/tmmbr_help.h",
Rasmus Brandt78db1582016-09-21 09:19:34 +0200155 "source/ulpfec_header_reader_writer.cc",
156 "source/ulpfec_header_reader_writer.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000157 "source/video_codec_information.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000158 "source/vp8_partition_aggregator.cc",
159 "source/vp8_partition_aggregator.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000160 ]
161
gaetano.carlucci52a57032016-09-14 05:04:36 -0700162 if (rtc_enable_bwe_test_logging) {
163 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
164 } else {
165 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
166 }
167
kjellandere40a7ee2016-10-16 23:56:12 -0700168 if (!build_with_chromium && is_clang) {
169 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -0700170 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
kjellander@webrtc.org42ee5b52014-08-25 14:15:35 +0000171 }
172
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000173 deps = [
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +0000174 "../..:webrtc_common",
sprang52033d62016-06-02 02:43:32 -0700175 "../../common_video",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000176 "../../system_wrappers",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000177 "../remote_bitrate_estimator",
178 ]
179
kjellander8f4419b2016-06-02 02:09:52 -0700180 # TODO(jschuh): Bug 1348: fix this warning.
181 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
182
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000183 if (is_win) {
184 cflags = [
kjellander@webrtc.org8649fed2015-01-08 21:22:01 +0000185 # TODO(kjellander): Bug 261: fix this warning.
186 "/wd4373", # virtual function override.
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000187 ]
188 }
189}
brandtr03bc3cf2016-08-08 08:08:53 -0700190
191if (rtc_include_tests) {
ehmaldonado38a21322016-09-02 04:10:34 -0700192 rtc_executable("test_packet_masks_metrics") {
brandtr03bc3cf2016-08-08 08:08:53 -0700193 testonly = true
194
195 sources = [
196 "test/testFec/average_residual_loss_xor_codes.h",
197 "test/testFec/test_packet_masks_metrics.cc",
198 ]
199
200 deps = [
201 ":rtp_rtcp",
202 "//testing/gtest",
203 "//webrtc/test:test_support_main",
204 ]
205 } # test_packet_masks_metrics
206}