blob: edad7cef1a975fea5682ceecbfeb5b0af64e8eb7 [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
mbonadei9aa3f0a2017-01-24 06:58:22 -08009import("../../webrtc.gni")
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000010
Mirko Bonadei86d053c2019-10-17 21:32:04 +020011rtc_library("rtp_rtcp_format") {
Danil Chapovalov5c250102018-10-03 14:54:43 +020012 visibility = [ "*" ]
Karl Wiberg92d9dd02017-09-20 21:46:54 +020013 public = [
Henrik Boströmf2047872019-05-16 13:32:20 +020014 "include/report_block_data.h",
Niels Möller53382cb2018-11-27 14:05:08 +010015 "include/rtcp_statistics.h",
danilchap09f44812017-09-12 09:23:24 -070016 "include/rtp_cvo.h",
17 "include/rtp_header_extension_map.h",
Erik Språngaa59eca2019-07-24 14:52:55 +020018 "include/rtp_packet_sender.h",
danilchap09f44812017-09-12 09:23:24 -070019 "include/rtp_rtcp_defines.h",
20 "source/byte_io.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020021 "source/rtcp_packet.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020022 "source/rtcp_packet/app.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020023 "source/rtcp_packet/bye.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020024 "source/rtcp_packet/common_header.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020025 "source/rtcp_packet/compound_packet.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020026 "source/rtcp_packet/dlrr.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020027 "source/rtcp_packet/extended_jitter_report.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020028 "source/rtcp_packet/extended_reports.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020029 "source/rtcp_packet/fir.h",
Elad Alonf8e7ccb2019-01-24 12:38:36 +010030 "source/rtcp_packet/loss_notification.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020031 "source/rtcp_packet/nack.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020032 "source/rtcp_packet/pli.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020033 "source/rtcp_packet/psfb.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020034 "source/rtcp_packet/rapid_resync_request.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020035 "source/rtcp_packet/receiver_report.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020036 "source/rtcp_packet/remb.h",
Sebastian Janssone1795f42019-07-24 11:38:03 +020037 "source/rtcp_packet/remote_estimate.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020038 "source/rtcp_packet/report_block.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020039 "source/rtcp_packet/rrtr.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020040 "source/rtcp_packet/rtpfb.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020041 "source/rtcp_packet/sdes.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020042 "source/rtcp_packet/sender_report.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020043 "source/rtcp_packet/target_bitrate.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020044 "source/rtcp_packet/tmmb_item.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020045 "source/rtcp_packet/tmmbn.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020046 "source/rtcp_packet/tmmbr.h",
Danil Chapovalov6c170572017-09-15 16:48:14 +020047 "source/rtcp_packet/transport_feedback.h",
Danil Chapovalov52e52422019-06-27 16:45:40 +020048 "source/rtp_dependency_descriptor_extension.h",
Danil Chapovalovfabb12e2018-06-13 15:51:43 +020049 "source/rtp_generic_frame_descriptor.h",
Danil Chapovalovfaf28272018-06-19 14:24:17 +020050 "source/rtp_generic_frame_descriptor_extension.h",
Karl Wiberg92d9dd02017-09-20 21:46:54 +020051 "source/rtp_header_extensions.h",
Elad Alonc545daf2017-10-02 13:10:01 +020052 "source/rtp_packet.h",
Karl Wiberg92d9dd02017-09-20 21:46:54 +020053 "source/rtp_packet_received.h",
54 "source/rtp_packet_to_send.h",
55 ]
56 sources = [
Henrik Boströmf2047872019-05-16 13:32:20 +020057 "include/report_block_data.cc",
Karl Wiberg884e49f2017-10-02 09:54:48 +020058 "include/rtp_rtcp_defines.cc",
Karl Wiberg92d9dd02017-09-20 21:46:54 +020059 "source/rtcp_packet.cc",
60 "source/rtcp_packet/app.cc",
61 "source/rtcp_packet/bye.cc",
62 "source/rtcp_packet/common_header.cc",
63 "source/rtcp_packet/compound_packet.cc",
64 "source/rtcp_packet/dlrr.cc",
65 "source/rtcp_packet/extended_jitter_report.cc",
66 "source/rtcp_packet/extended_reports.cc",
67 "source/rtcp_packet/fir.cc",
Elad Alonf8e7ccb2019-01-24 12:38:36 +010068 "source/rtcp_packet/loss_notification.cc",
Karl Wiberg92d9dd02017-09-20 21:46:54 +020069 "source/rtcp_packet/nack.cc",
70 "source/rtcp_packet/pli.cc",
71 "source/rtcp_packet/psfb.cc",
72 "source/rtcp_packet/rapid_resync_request.cc",
73 "source/rtcp_packet/receiver_report.cc",
74 "source/rtcp_packet/remb.cc",
Sebastian Janssone1795f42019-07-24 11:38:03 +020075 "source/rtcp_packet/remote_estimate.cc",
Karl Wiberg92d9dd02017-09-20 21:46:54 +020076 "source/rtcp_packet/report_block.cc",
77 "source/rtcp_packet/rrtr.cc",
78 "source/rtcp_packet/rtpfb.cc",
79 "source/rtcp_packet/sdes.cc",
80 "source/rtcp_packet/sender_report.cc",
81 "source/rtcp_packet/target_bitrate.cc",
82 "source/rtcp_packet/tmmb_item.cc",
83 "source/rtcp_packet/tmmbn.cc",
84 "source/rtcp_packet/tmmbr.cc",
85 "source/rtcp_packet/transport_feedback.cc",
Danil Chapovalov52e52422019-06-27 16:45:40 +020086 "source/rtp_dependency_descriptor_extension.cc",
Danil Chapovalovf5dec1c2019-09-16 10:18:59 +020087 "source/rtp_dependency_descriptor_reader.cc",
Danil Chapovalov6ed60e32019-09-18 18:11:23 +020088 "source/rtp_dependency_descriptor_reader.h",
89 "source/rtp_dependency_descriptor_writer.cc",
90 "source/rtp_dependency_descriptor_writer.h",
Danil Chapovalovfabb12e2018-06-13 15:51:43 +020091 "source/rtp_generic_frame_descriptor.cc",
Danil Chapovalovfaf28272018-06-19 14:24:17 +020092 "source/rtp_generic_frame_descriptor_extension.cc",
danilchap09f44812017-09-12 09:23:24 -070093 "source/rtp_header_extension_map.cc",
94 "source/rtp_header_extensions.cc",
danilchap09f44812017-09-12 09:23:24 -070095 "source/rtp_packet.cc",
danilchap09f44812017-09-12 09:23:24 -070096 "source/rtp_packet_received.cc",
Dino Radaković1807d572018-02-22 14:18:06 +010097 "source/rtp_packet_to_send.cc",
danilchap09f44812017-09-12 09:23:24 -070098 ]
99
100 deps = [
101 "..:module_api",
Yves Gerey988cc082018-10-23 12:03:01 +0200102 "..:module_api_public",
danilchap09f44812017-09-12 09:23:24 -0700103 "../../api:array_view",
Artem Titov741daaf2019-03-21 14:37:36 +0100104 "../../api:function_view",
Niels Mölleref1052a2019-03-20 08:40:23 +0100105 "../../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 10:45:28 +0200106 "../../api:rtp_parameters",
Karl Wibergc62f6c72017-10-04 12:38:53 +0200107 "../../api/audio_codecs:audio_codecs_api",
Danil Chapovalovdb128562018-09-17 13:11:50 +0200108 "../../api/transport:network_control",
Danil Chapovalov67dcb4b2020-01-17 16:13:29 +0100109 "../../api/transport/rtp:dependency_descriptor",
Sebastian Janssonbae12752019-11-05 13:25:47 +0100110 "../../api/units:time_delta",
Niels Möllerc6ce9c52018-05-11 11:15:30 +0200111 "../../api/video:video_frame",
Chen Xing5d24b162019-06-10 12:59:38 +0200112 "../../api/video:video_rtp_headers",
danilchap09f44812017-09-12 09:23:24 -0700113 "../../common_video",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100114 "../../rtc_base:checks",
Patrik Höglund3e113432017-12-15 14:40:10 +0100115 "../../rtc_base:deprecation",
Danil Chapovalov6ed60e32019-09-18 18:11:23 +0200116 "../../rtc_base:divide_round",
danilchap09f44812017-09-12 09:23:24 -0700117 "../../rtc_base:rtc_base_approved",
Elad Alonf8e7ccb2019-01-24 12:38:36 +0100118 "../../rtc_base/system:unused",
danilchap09f44812017-09-12 09:23:24 -0700119 "../../system_wrappers",
Yves Gerey988cc082018-10-23 12:03:01 +0200120 "../video_coding:codec_globals_headers",
Steve Anton91c26062019-03-28 10:56:11 -0700121 "//third_party/abseil-cpp/absl/algorithm:container",
Niels Möllera7de6982019-03-21 15:48:49 +0100122 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalovd264df52018-06-14 12:59:38 +0200123 "//third_party/abseil-cpp/absl/types:optional",
Danil Chapovalovfb8e7ef2018-06-26 10:44:13 +0200124 "//third_party/abseil-cpp/absl/types:variant",
danilchap09f44812017-09-12 09:23:24 -0700125 ]
danilchap09f44812017-09-12 09:23:24 -0700126}
127
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200128rtc_library("rtp_rtcp") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000129 visibility = [ "*" ]
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000130 sources = [
brandtra8b38552016-10-10 16:44:57 -0700131 "include/flexfec_receiver.h",
brandtrc295e002016-11-03 09:22:33 -0700132 "include/flexfec_sender.h",
Henrik Kjellanderff761fb2015-11-04 08:31:52 +0100133 "include/receive_statistics.h",
134 "include/remote_ntp_time_estimator.h",
Henrik Kjellanderff761fb2015-11-04 08:31:52 +0100135 "include/rtp_rtcp.h",
brandtrd55c3f62016-10-31 04:51:33 -0700136 "include/ulpfec_receiver.h",
Chen Xing05f8f1d2019-08-22 10:05:01 +0200137 "source/absolute_capture_time_receiver.cc",
138 "source/absolute_capture_time_receiver.h",
139 "source/absolute_capture_time_sender.cc",
140 "source/absolute_capture_time_sender.h",
Danil Chapovalov80bc1ac2019-12-05 16:24:04 +0100141 "source/create_video_rtp_depacketizer.cc",
142 "source/create_video_rtp_depacketizer.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200143 "source/dtmf_queue.cc",
144 "source/dtmf_queue.h",
Tommif7132b52018-04-04 13:48:17 +0200145 "source/fec_private_tables_bursty.cc",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200146 "source/fec_private_tables_bursty.h",
Tommif7132b52018-04-04 13:48:17 +0200147 "source/fec_private_tables_random.cc",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200148 "source/fec_private_tables_random.h",
brandtr0496de22016-10-03 00:43:25 -0700149 "source/flexfec_header_reader_writer.cc",
150 "source/flexfec_header_reader_writer.h",
brandtr0a4c1612016-11-03 08:18:27 -0700151 "source/flexfec_receiver.cc",
brandtrc295e002016-11-03 09:22:33 -0700152 "source/flexfec_sender.cc",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200153 "source/forward_error_correction.cc",
154 "source/forward_error_correction.h",
155 "source/forward_error_correction_internal.cc",
156 "source/forward_error_correction_internal.h",
bcornell30409b42015-07-10 18:10:05 -0700157 "source/packet_loss_stats.cc",
158 "source/packet_loss_stats.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000159 "source/receive_statistics_impl.cc",
160 "source/receive_statistics_impl.h",
161 "source/remote_ntp_time_estimator.cc",
danilchap84432382017-02-09 05:21:42 -0800162 "source/rtcp_nack_stats.cc",
163 "source/rtcp_nack_stats.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000164 "source/rtcp_receiver.cc",
165 "source/rtcp_receiver.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000166 "source/rtcp_sender.cc",
167 "source/rtcp_sender.h",
Danil Chapovalove209fe62020-02-12 19:25:57 +0100168 "source/rtp_descriptor_authentication.cc",
169 "source/rtp_descriptor_authentication.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200170 "source/rtp_format.cc",
171 "source/rtp_format.h",
172 "source/rtp_format_h264.cc",
173 "source/rtp_format_h264.h",
174 "source/rtp_format_video_generic.cc",
175 "source/rtp_format_video_generic.h",
176 "source/rtp_format_vp8.cc",
177 "source/rtp_format_vp8.h",
asaperssonf38ea3c2015-07-28 04:02:54 -0700178 "source/rtp_format_vp9.cc",
179 "source/rtp_format_vp9.h",
Danil Chapovalov7b189922018-10-03 10:15:36 +0200180 "source/rtp_header_extension_size.cc",
181 "source/rtp_header_extension_size.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200182 "source/rtp_packet_history.cc",
183 "source/rtp_packet_history.h",
Danil Chapovalov096a46f2019-11-28 13:42:50 +0100184 "source/rtp_packetizer_av1.cc",
185 "source/rtp_packetizer_av1.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200186 "source/rtp_rtcp_config.h",
187 "source/rtp_rtcp_impl.cc",
188 "source/rtp_rtcp_impl.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000189 "source/rtp_sender.cc",
190 "source/rtp_sender.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200191 "source/rtp_sender_audio.cc",
192 "source/rtp_sender_audio.h",
Erik Språng671b4032019-10-17 16:56:22 +0200193 "source/rtp_sender_egress.cc",
194 "source/rtp_sender_egress.h",
Henrik Kjellander57e5fd22015-05-25 12:55:39 +0200195 "source/rtp_sender_video.cc",
196 "source/rtp_sender_video.h",
Marina Ciocea3a087a82020-03-03 05:39:28 +0100197 "source/rtp_sender_video_frame_transformer_delegate.cc",
198 "source/rtp_sender_video_frame_transformer_delegate.h",
Elad Alonf88aa972019-04-04 11:43:54 +0200199 "source/rtp_sequence_number_map.cc",
200 "source/rtp_sequence_number_map.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000201 "source/rtp_utility.cc",
202 "source/rtp_utility.h",
Chen Xing9c16af72019-06-12 12:13:22 +0200203 "source/source_tracker.cc",
204 "source/source_tracker.h",
Danil Chapovalovc1e55c72016-03-09 15:14:35 +0100205 "source/time_util.cc",
206 "source/time_util.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000207 "source/tmmbr_help.cc",
208 "source/tmmbr_help.h",
Marina Ciocea3a087a82020-03-03 05:39:28 +0100209 "source/transformable_encoded_frame.cc",
210 "source/transformable_encoded_frame.h",
brandtr869e7cd2016-10-31 05:27:07 -0700211 "source/ulpfec_generator.cc",
212 "source/ulpfec_generator.h",
Rasmus Brandt78db1582016-09-21 09:19:34 +0200213 "source/ulpfec_header_reader_writer.cc",
214 "source/ulpfec_header_reader_writer.h",
brandtrd55c3f62016-10-31 04:51:33 -0700215 "source/ulpfec_receiver_impl.cc",
216 "source/ulpfec_receiver_impl.h",
Erik Språngf87536c2020-03-05 10:14:04 +0100217 "source/video_fec_generator.h",
Danil Chapovalov69679592020-03-24 13:24:42 +0100218 "source/video_rtp_depacketizer.cc",
Danil Chapovalovfc50e442019-12-05 14:41:45 +0100219 "source/video_rtp_depacketizer.h",
Danil Chapovalovd06588a2020-01-10 17:26:53 +0100220 "source/video_rtp_depacketizer_av1.cc",
221 "source/video_rtp_depacketizer_av1.h",
Danil Chapovalov27f4d322019-12-23 13:14:28 +0100222 "source/video_rtp_depacketizer_generic.cc",
223 "source/video_rtp_depacketizer_generic.h",
Danil Chapovalovb42aeaa2020-01-09 18:55:02 +0100224 "source/video_rtp_depacketizer_h264.cc",
225 "source/video_rtp_depacketizer_h264.h",
Danil Chapovalov80bc1ac2019-12-05 16:24:04 +0100226 "source/video_rtp_depacketizer_raw.cc",
227 "source/video_rtp_depacketizer_raw.h",
Danil Chapovaloveae68962019-12-11 11:24:37 +0100228 "source/video_rtp_depacketizer_vp8.cc",
229 "source/video_rtp_depacketizer_vp8.h",
Danil Chapovalov32fe4ef2019-12-16 13:19:28 +0100230 "source/video_rtp_depacketizer_vp9.cc",
231 "source/video_rtp_depacketizer_vp9.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000232 ]
233
gaetano.carlucci52a57032016-09-14 05:04:36 -0700234 if (rtc_enable_bwe_test_logging) {
235 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
236 } else {
237 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
238 }
239
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000240 deps = [
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100241 ":rtp_rtcp_format",
Yves Gerey988cc082018-10-23 12:03:01 +0200242 ":rtp_video_header",
mbonadei1140f972017-04-26 03:38:35 -0700243 "..:module_api",
Yves Gerey988cc082018-10-23 12:03:01 +0200244 "..:module_api_public",
245 "..:module_fec_api",
kwiberg@webrtc.orgac2d27d2015-02-26 13:59:22 +0000246 "../..:webrtc_common",
kwiberg529662a2017-09-04 05:43:17 -0700247 "../../api:array_view",
Marina Cioceae77912b2020-02-27 16:16:55 +0100248 "../../api:frame_transformer_interface",
Erik Språngeceb5372019-06-11 18:59:39 +0200249 "../../api:function_view",
hbos8d609f62017-04-10 07:39:05 -0700250 "../../api:libjingle_peerconnection_api",
Niels Mölleref1052a2019-03-20 08:40:23 +0100251 "../../api:rtp_headers",
Chen Xing9c16af72019-06-12 12:13:22 +0200252 "../../api:rtp_packet_info",
Niels Möller6dcd4dc2019-08-26 10:45:28 +0200253 "../../api:rtp_parameters",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100254 "../../api:scoped_refptr",
aleloia8eb7562016-11-28 07:02:13 -0800255 "../../api:transport_api",
kwiberg1c07c702017-03-27 07:15:49 -0700256 "../../api/audio_codecs:audio_codecs_api",
Mirko Bonadeieaaaf412019-09-13 14:42:15 +0200257 "../../api/crypto:frame_encryptor_interface",
Danil Chapovalov83bbe912019-08-07 12:24:53 +0200258 "../../api/rtc_event_log",
Marina Ciocea3a087a82020-03-03 05:39:28 +0100259 "../../api/task_queue:task_queue",
Per Kjellandere11b7d22019-02-21 07:55:59 +0100260 "../../api/transport:field_trial_based_config",
261 "../../api/transport:webrtc_key_value_config",
Danil Chapovalov670af262020-01-30 16:28:53 +0100262 "../../api/transport/rtp:dependency_descriptor",
Niels Möllera8370302019-09-02 15:16:49 +0200263 "../../api/transport/rtp:rtp_source",
Erik Språng671b4032019-10-17 16:56:22 +0200264 "../../api/units:data_rate",
Chen Xing05f8f1d2019-08-22 10:05:01 +0200265 "../../api/units:time_delta",
266 "../../api/units:timestamp",
Marina Ciocea3a087a82020-03-03 05:39:28 +0100267 "../../api/video:encoded_frame",
Danil Chapovalov038fd992019-11-21 14:08:28 +0100268 "../../api/video:encoded_image",
Erik Språngeeaa8f92018-05-17 12:35:56 +0200269 "../../api/video:video_bitrate_allocation",
Jiawei Ou4206a0a2018-07-20 15:49:43 -0700270 "../../api/video:video_bitrate_allocator",
Kuang-che Wu75acef32019-10-10 19:54:45 +0800271 "../../api/video:video_codec_constants",
Yves Gerey988cc082018-10-23 12:03:01 +0200272 "../../api/video:video_frame",
Niels Möller834a5542019-09-23 10:31:16 +0200273 "../../api/video:video_frame_type",
Chen Xing5d24b162019-06-10 12:59:38 +0200274 "../../api/video:video_rtp_headers",
Niels Möllera46bd4b2018-06-08 14:03:44 +0200275 "../../api/video_codecs:video_codecs_api",
Niels Möller1f3206c2018-09-14 08:26:32 +0200276 "../../call:rtp_interfaces",
sprang52033d62016-06-02 02:43:32 -0700277 "../../common_video",
Qingsi Wang970b0882018-02-01 11:04:46 -0800278 "../../logging:rtc_event_audio",
Qingsi Wang970b0882018-02-01 11:04:46 -0800279 "../../logging:rtc_event_rtp_rtcp",
Niels Möllerc936cb62019-03-19 14:10:16 +0100280 "../../modules/audio_coding:audio_coding_module_typedefs",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100281 "../../rtc_base:checks",
Patrik Höglund3e113432017-12-15 14:40:10 +0100282 "../../rtc_base:deprecation",
Danil Chapovalov693bf1e2019-09-18 18:51:34 +0200283 "../../rtc_base:divide_round",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700284 "../../rtc_base:gtest_prod",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100285 "../../rtc_base:rate_limiter",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700286 "../../rtc_base:rtc_base_approved",
Ilya Nikolaevskiy8b64fd82017-11-15 16:48:04 +0000287 "../../rtc_base:rtc_numerics",
Karl Wiberg12edf4c2018-03-07 14:18:56 +0100288 "../../rtc_base:safe_minmax",
Erik Språnge886d2e2020-04-16 15:07:56 +0200289 "../../rtc_base/experiments:field_trial_parser",
Sebastian Janssonb55015e2019-04-09 13:44:04 +0200290 "../../rtc_base/synchronization:sequence_checker",
Marina Ciocea3a087a82020-03-03 05:39:28 +0100291 "../../rtc_base/task_utils:to_queued_task",
Karl Wiberg76b7f512018-03-22 15:29:03 +0100292 "../../rtc_base/time:timestamp_extrapolator",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000293 "../../system_wrappers",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200294 "../../system_wrappers:metrics",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000295 "../remote_bitrate_estimator",
Yves Gerey988cc082018-10-23 12:03:01 +0200296 "../video_coding:codec_globals_headers",
Steve Anton91c26062019-03-28 10:56:11 -0700297 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov64f1f3f2020-01-16 14:41:10 +0100298 "//third_party/abseil-cpp/absl/base:core_headers",
Danil Chapovalov376e1142018-09-04 16:11:58 +0200299 "//third_party/abseil-cpp/absl/container:inlined_vector",
Danil Chapovalov80bc1ac2019-12-05 16:24:04 +0100300 "//third_party/abseil-cpp/absl/memory",
Niels Mölleraa3c1cc2018-11-02 10:54:56 +0100301 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalovd264df52018-06-14 12:59:38 +0200302 "//third_party/abseil-cpp/absl/types:optional",
Yves Gerey988cc082018-10-23 12:03:01 +0200303 "//third_party/abseil-cpp/absl/types:variant",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000304 ]
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +0000305}
brandtr03bc3cf2016-08-08 08:08:53 -0700306
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200307rtc_library("rtcp_transceiver") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000308 visibility = [ "*" ]
Danil Chapovalov398a7c62017-10-24 17:07:05 +0200309 public = [
Danil Chapovalovc0fd5f92017-11-16 14:35:32 +0100310 "source/rtcp_transceiver.h",
Danil Chapovalov398a7c62017-10-24 17:07:05 +0200311 "source/rtcp_transceiver_config.h",
312 "source/rtcp_transceiver_impl.h",
313 ]
314 sources = [
Danil Chapovalovc0fd5f92017-11-16 14:35:32 +0100315 "source/rtcp_transceiver.cc",
Danil Chapovalov398a7c62017-10-24 17:07:05 +0200316 "source/rtcp_transceiver_config.cc",
317 "source/rtcp_transceiver_impl.cc",
318 ]
319 deps = [
320 ":rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100321 ":rtp_rtcp_format",
Danil Chapovalov7ca9ae22017-12-13 12:26:17 +0100322 "../../:webrtc_common",
Danil Chapovalov398a7c62017-10-24 17:07:05 +0200323 "../../api:array_view",
Niels Mölleref1052a2019-03-20 08:40:23 +0100324 "../../api:rtp_headers",
Danil Chapovalov398a7c62017-10-24 17:07:05 +0200325 "../../api:transport_api",
Danil Chapovalovf351cff2020-03-05 15:43:24 +0100326 "../../api/task_queue",
Erik Språngeeaa8f92018-05-17 12:35:56 +0200327 "../../api/video:video_bitrate_allocation",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100328 "../../rtc_base:checks",
Danil Chapovalov398a7c62017-10-24 17:07:05 +0200329 "../../rtc_base:rtc_base_approved",
Sebastian Janssonecb68972019-01-18 10:30:54 +0100330 "../../rtc_base/task_utils:repeating_task",
Danil Chapovalov1aa75812019-03-05 11:11:35 +0100331 "../../rtc_base/task_utils:to_queued_task",
Mirko Bonadeia498ae82017-12-06 09:17:14 +0100332 "../../system_wrappers",
Steve Anton91c26062019-03-28 10:56:11 -0700333 "//third_party/abseil-cpp/absl/algorithm:container",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200334 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalovd264df52018-06-14 12:59:38 +0200335 "//third_party/abseil-cpp/absl/types:optional",
Danil Chapovalov398a7c62017-10-24 17:07:05 +0200336 ]
337}
338
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200339rtc_library("rtp_video_header") {
philipel1a4746a2018-07-09 15:52:29 +0200340 visibility = [ "*" ]
341 sources = [
342 "source/rtp_video_header.cc",
343 "source/rtp_video_header.h",
344 ]
345 deps = [
346 "../../:webrtc_common",
Danil Chapovalov670af262020-01-30 16:28:53 +0100347 "../../api/transport/rtp:dependency_descriptor",
philipel1a4746a2018-07-09 15:52:29 +0200348 "../../api/video:video_frame",
Niels Möllerabbc50e2019-04-24 09:41:16 +0200349 "../../api/video:video_frame_type",
Chen Xing5d24b162019-06-10 12:59:38 +0200350 "../../api/video:video_rtp_headers",
philipel1a4746a2018-07-09 15:52:29 +0200351 "../../modules/video_coding:codec_globals_headers",
philipelf8d81d32018-08-01 17:13:08 +0200352 "//third_party/abseil-cpp/absl/container:inlined_vector",
Yves Gerey988cc082018-10-23 12:03:01 +0200353 "//third_party/abseil-cpp/absl/types:optional",
philipel1a4746a2018-07-09 15:52:29 +0200354 "//third_party/abseil-cpp/absl/types:variant",
355 ]
356}
357
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200358rtc_library("fec_test_helper") {
kjellandere0629c02017-04-25 04:04:50 -0700359 testonly = true
360 sources = [
361 "source/fec_test_helper.cc",
362 "source/fec_test_helper.h",
363 ]
364 deps = [
365 ":rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100366 ":rtp_rtcp_format",
mbonadei1140f972017-04-26 03:38:35 -0700367 "..:module_api",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100368 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700369 "../../rtc_base:rtc_base_approved",
kjellandere0629c02017-04-25 04:04:50 -0700370 ]
kjellandere0629c02017-04-25 04:04:50 -0700371}
372
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200373rtc_library("mock_rtp_rtcp") {
mbonadei3edccb92017-06-01 04:47:20 -0700374 testonly = true
375 sources = [
Danil Chapovalovdd7e2842018-03-09 15:37:03 +0000376 "mocks/mock_recovered_packet_receiver.cc",
377 "mocks/mock_rtcp_bandwidth_observer.cc",
378 "mocks/mock_rtcp_rtt_stats.cc",
379 "mocks/mock_rtp_rtcp.cc",
380 ]
381 public = [
mbonadei3edccb92017-06-01 04:47:20 -0700382 "mocks/mock_recovered_packet_receiver.h",
Sebastian Janssonef9daee2018-02-22 14:49:02 +0100383 "mocks/mock_rtcp_bandwidth_observer.h",
mbonadei3edccb92017-06-01 04:47:20 -0700384 "mocks/mock_rtcp_rtt_stats.h",
385 "mocks/mock_rtp_rtcp.h",
386 ]
387 deps = [
388 ":rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100389 ":rtp_rtcp_format",
mbonadei3edccb92017-06-01 04:47:20 -0700390 "..:module_api",
Erik Språngeeaa8f92018-05-17 12:35:56 +0200391 "../../api/video:video_bitrate_allocation",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100392 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700393 "../../rtc_base:rtc_base_approved",
mbonadei3edccb92017-06-01 04:47:20 -0700394 "../../test:test_support",
Danil Chapovalovd264df52018-06-14 12:59:38 +0200395 "//third_party/abseil-cpp/absl/types:optional",
mbonadei3edccb92017-06-01 04:47:20 -0700396 ]
397}
398
brandtr03bc3cf2016-08-08 08:08:53 -0700399if (rtc_include_tests) {
ehmaldonado38a21322016-09-02 04:10:34 -0700400 rtc_executable("test_packet_masks_metrics") {
brandtr03bc3cf2016-08-08 08:08:53 -0700401 testonly = true
402
403 sources = [
404 "test/testFec/average_residual_loss_xor_codes.h",
405 "test/testFec/test_packet_masks_metrics.cc",
406 ]
407
408 deps = [
409 ":rtp_rtcp",
Patrik Höglund7696bef2018-03-15 15:05:39 +0100410 "../../test:fileutils",
jianjun.zhuc0247402017-07-11 06:20:45 -0700411 "../../test:test_main",
Yves Gerey21cddff2018-10-30 21:12:42 +0100412 "../../test:test_support",
brandtr03bc3cf2016-08-08 08:08:53 -0700413 "//testing/gtest",
brandtr03bc3cf2016-08-08 08:08:53 -0700414 ]
415 } # test_packet_masks_metrics
ehmaldonado36268652017-01-19 08:27:11 -0800416
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200417 rtc_library("rtp_rtcp_modules_tests") {
ehmaldonado9cbb0a12017-01-30 03:07:03 -0800418 testonly = true
kjellandere0629c02017-04-25 04:04:50 -0700419
Danil Chapovalov64f1f3f2020-01-16 14:41:10 +0100420 sources = [ "test/testFec/test_fec.cc" ]
ehmaldonado9cbb0a12017-01-30 03:07:03 -0800421 deps = [
422 ":rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100423 ":rtp_rtcp_format",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700424 "../../rtc_base:rtc_base_approved",
Patrik Höglund7696bef2018-03-15 15:05:39 +0100425 "../../test:fileutils",
ehmaldonado9cbb0a12017-01-30 03:07:03 -0800426 "../../test:test_support",
427 ]
ehmaldonado9cbb0a12017-01-30 03:07:03 -0800428 }
429
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200430 rtc_library("rtp_rtcp_unittests") {
kjellandere0629c02017-04-25 04:04:50 -0700431 testonly = true
432
kjellandere0629c02017-04-25 04:04:50 -0700433 sources = [
Chen Xing05f8f1d2019-08-22 10:05:01 +0200434 "source/absolute_capture_time_receiver_unittest.cc",
435 "source/absolute_capture_time_sender_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800436 "source/byte_io_unittest.cc",
Tommif7132b52018-04-04 13:48:17 +0200437 "source/fec_private_tables_bursty_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800438 "source/flexfec_header_reader_writer_unittest.cc",
439 "source/flexfec_receiver_unittest.cc",
440 "source/flexfec_sender_unittest.cc",
441 "source/nack_rtx_unittest.cc",
442 "source/packet_loss_stats_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800443 "source/receive_statistics_unittest.cc",
444 "source/remote_ntp_time_estimator_unittest.cc",
danilchap84432382017-02-09 05:21:42 -0800445 "source/rtcp_nack_stats_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800446 "source/rtcp_packet/app_unittest.cc",
447 "source/rtcp_packet/bye_unittest.cc",
448 "source/rtcp_packet/common_header_unittest.cc",
449 "source/rtcp_packet/compound_packet_unittest.cc",
450 "source/rtcp_packet/dlrr_unittest.cc",
451 "source/rtcp_packet/extended_jitter_report_unittest.cc",
452 "source/rtcp_packet/extended_reports_unittest.cc",
453 "source/rtcp_packet/fir_unittest.cc",
Elad Alonf8e7ccb2019-01-24 12:38:36 +0100454 "source/rtcp_packet/loss_notification_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800455 "source/rtcp_packet/nack_unittest.cc",
456 "source/rtcp_packet/pli_unittest.cc",
457 "source/rtcp_packet/rapid_resync_request_unittest.cc",
458 "source/rtcp_packet/receiver_report_unittest.cc",
459 "source/rtcp_packet/remb_unittest.cc",
Sebastian Janssone1795f42019-07-24 11:38:03 +0200460 "source/rtcp_packet/remote_estimate_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800461 "source/rtcp_packet/report_block_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800462 "source/rtcp_packet/rrtr_unittest.cc",
463 "source/rtcp_packet/sdes_unittest.cc",
464 "source/rtcp_packet/sender_report_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800465 "source/rtcp_packet/target_bitrate_unittest.cc",
466 "source/rtcp_packet/tmmbn_unittest.cc",
467 "source/rtcp_packet/tmmbr_unittest.cc",
468 "source/rtcp_packet/transport_feedback_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800469 "source/rtcp_packet_unittest.cc",
470 "source/rtcp_receiver_unittest.cc",
471 "source/rtcp_sender_unittest.cc",
Danil Chapovalov398a7c62017-10-24 17:07:05 +0200472 "source/rtcp_transceiver_impl_unittest.cc",
Danil Chapovalovc0fd5f92017-11-16 14:35:32 +0100473 "source/rtcp_transceiver_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800474 "source/rtp_fec_unittest.cc",
475 "source/rtp_format_h264_unittest.cc",
Danil Chapovalov376e1142018-09-04 16:11:58 +0200476 "source/rtp_format_unittest.cc",
ilnik7a3006b2017-05-23 09:34:21 -0700477 "source/rtp_format_video_generic_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800478 "source/rtp_format_vp8_test_helper.cc",
479 "source/rtp_format_vp8_test_helper.h",
480 "source/rtp_format_vp8_unittest.cc",
481 "source/rtp_format_vp9_unittest.cc",
Danil Chapovalovfaf28272018-06-19 14:24:17 +0200482 "source/rtp_generic_frame_descriptor_extension_unittest.cc",
Danil Chapovalov07633bd2017-06-01 17:10:51 +0200483 "source/rtp_header_extension_map_unittest.cc",
Danil Chapovalov7b189922018-10-03 10:15:36 +0200484 "source/rtp_header_extension_size_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800485 "source/rtp_packet_history_unittest.cc",
486 "source/rtp_packet_unittest.cc",
Danil Chapovalov096a46f2019-11-28 13:42:50 +0100487 "source/rtp_packetizer_av1_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800488 "source/rtp_rtcp_impl_unittest.cc",
Niels Möllera34d7762019-02-01 14:13:29 +0100489 "source/rtp_sender_audio_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800490 "source/rtp_sender_unittest.cc",
Niels Möllere7b9e6b2019-02-06 18:23:44 +0100491 "source/rtp_sender_video_unittest.cc",
Elad Alonf88aa972019-04-04 11:43:54 +0200492 "source/rtp_sequence_number_map_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800493 "source/rtp_utility_unittest.cc",
Chen Xing9c16af72019-06-12 12:13:22 +0200494 "source/source_tracker_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800495 "source/time_util_unittest.cc",
496 "source/ulpfec_generator_unittest.cc",
497 "source/ulpfec_header_reader_writer_unittest.cc",
498 "source/ulpfec_receiver_unittest.cc",
Danil Chapovalovd06588a2020-01-10 17:26:53 +0100499 "source/video_rtp_depacketizer_av1_unittest.cc",
Danil Chapovalov27f4d322019-12-23 13:14:28 +0100500 "source/video_rtp_depacketizer_generic_unittest.cc",
Danil Chapovalovb42aeaa2020-01-09 18:55:02 +0100501 "source/video_rtp_depacketizer_h264_unittest.cc",
Danil Chapovalov80bc1ac2019-12-05 16:24:04 +0100502 "source/video_rtp_depacketizer_raw_unittest.cc",
Danil Chapovaloveae68962019-12-11 11:24:37 +0100503 "source/video_rtp_depacketizer_vp8_unittest.cc",
Danil Chapovalov32fe4ef2019-12-16 13:19:28 +0100504 "source/video_rtp_depacketizer_vp9_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800505 ]
506 deps = [
kjellandere0629c02017-04-25 04:04:50 -0700507 ":fec_test_helper",
508 ":mock_rtp_rtcp",
Danil Chapovalov398a7c62017-10-24 17:07:05 +0200509 ":rtcp_transceiver",
ehmaldonado36268652017-01-19 08:27:11 -0800510 ":rtp_rtcp",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100511 ":rtp_rtcp_format",
mbonadei1140f972017-04-26 03:38:35 -0700512 "..:module_api",
ehmaldonado36268652017-01-19 08:27:11 -0800513 "../..:webrtc_common",
kwiberg529662a2017-09-04 05:43:17 -0700514 "../../api:array_view",
Stefan Holmer1acbd682017-09-01 15:29:28 +0200515 "../../api:libjingle_peerconnection_api",
Danil Chapovalov95800f62020-02-20 15:01:15 +0100516 "../../api:mock_frame_encryptor",
Chen Xing9c16af72019-06-12 12:13:22 +0200517 "../../api:rtp_headers",
518 "../../api:rtp_packet_info",
Niels Möller6dcd4dc2019-08-26 10:45:28 +0200519 "../../api:rtp_parameters",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100520 "../../api:scoped_refptr",
ehmaldonado36268652017-01-19 08:27:11 -0800521 "../../api:transport_api",
Danil Chapovalov16cb1f62019-09-05 11:29:59 +0200522 "../../api/rtc_event_log",
Per Kjellandere11b7d22019-02-21 07:55:59 +0100523 "../../api/transport:field_trial_based_config",
Danil Chapovalov670af262020-01-30 16:28:53 +0100524 "../../api/transport/rtp:dependency_descriptor",
Henrik Boströmf2047872019-05-16 13:32:20 +0200525 "../../api/units:timestamp",
Danil Chapovalov096a46f2019-11-28 13:42:50 +0100526 "../../api/video:encoded_image",
Erik Språngeeaa8f92018-05-17 12:35:56 +0200527 "../../api/video:video_bitrate_allocation",
Jiawei Ou4206a0a2018-07-20 15:49:43 -0700528 "../../api/video:video_bitrate_allocator",
Erik Språngf93eda12019-01-16 17:10:57 +0100529 "../../api/video:video_codec_constants",
Niels Möllerc6ce9c52018-05-11 11:15:30 +0200530 "../../api/video:video_frame",
Chen Xing5d24b162019-06-10 12:59:38 +0200531 "../../api/video:video_rtp_headers",
Niels Möllera46bd4b2018-06-08 14:03:44 +0200532 "../../api/video_codecs:video_codecs_api",
nissef54573b2017-09-13 07:13:57 -0700533 "../../call:rtp_receiver",
Artem Titov94b57c02019-03-21 13:35:10 +0100534 "../../common_video",
Danil Chapovalov670af262020-01-30 16:28:53 +0100535 "../../common_video/generic_frame_descriptor",
Johannes Kronf1ab9b92018-12-14 10:14:07 +0100536 "../../common_video/test:utilities",
Patrik Höglund731082c2018-01-03 09:08:20 +0100537 "../../logging:mocks",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100538 "../../rtc_base:checks",
539 "../../rtc_base:rate_limiter",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700540 "../../rtc_base:rtc_base_approved",
Danil Chapovalovd2f37d82017-11-09 15:42:28 +0100541 "../../rtc_base:rtc_base_tests_utils",
Elad Alonf88aa972019-04-04 11:43:54 +0200542 "../../rtc_base:rtc_numerics",
Danil Chapovalovdd025d82019-03-20 15:04:52 +0100543 "../../rtc_base:task_queue_for_test",
Mirko Bonadeia498ae82017-12-06 09:17:14 +0100544 "../../system_wrappers",
ehmaldonado36268652017-01-19 08:27:11 -0800545 "../../test:field_trial",
Marina Ciocea1148fd52020-04-29 22:39:13 +0200546 "../../test:mock_frame_transformer",
Tim Na9526c552020-02-20 11:53:13 -0800547 "../../test:mock_transport",
ehmaldonado36268652017-01-19 08:27:11 -0800548 "../../test:rtp_test_utils",
549 "../../test:test_common",
550 "../../test:test_support",
Danil Chapovalov8a3c1662018-08-30 20:54:58 +0200551 "../video_coding:codec_globals_headers",
Steve Anton91c26062019-03-28 10:56:11 -0700552 "//third_party/abseil-cpp/absl/algorithm:container",
Elad Alone86af2c2019-06-03 14:37:50 +0200553 "//third_party/abseil-cpp/absl/base:core_headers",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200554 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalovd264df52018-06-14 12:59:38 +0200555 "//third_party/abseil-cpp/absl/types:optional",
ehmaldonado36268652017-01-19 08:27:11 -0800556 ]
ehmaldonado36268652017-01-19 08:27:11 -0800557 }
brandtr03bc3cf2016-08-08 08:08:53 -0700558}