blob: eae92de5b24ee23e1ae45b448916f3bd817537df [file] [log] [blame]
skvladcc91d282016-10-03 18:31:22 -07001# Copyright (c) 2016 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")
Kimmo Kinnunen08f6a6c2019-02-26 11:46:17 +020010if (rtc_enable_protobuf) {
Dan Minor9c686132018-01-15 10:20:00 -050011 import("//third_party/protobuf/proto_library.gni")
12}
skvladcc91d282016-10-03 18:31:22 -070013if (is_android) {
14 import("//build/config/android/config.gni")
15 import("//build/config/android/rules.gni")
16}
17
kjellander6ceab082016-10-28 05:44:03 -070018group("logging") {
Mirko Bonadei818d9102017-12-12 12:46:13 +010019 deps = [
Qingsi Wang970b0882018-02-01 11:04:46 -080020 ":rtc_event_audio",
21 ":rtc_event_bwe",
Qingsi Wang970b0882018-02-01 11:04:46 -080022 ":rtc_event_log_impl_encoder",
Qingsi Wang970b0882018-02-01 11:04:46 -080023 ":rtc_event_pacing",
24 ":rtc_event_rtp_rtcp",
25 ":rtc_event_video",
kjellander6ceab082016-10-28 05:44:03 -070026 ]
kjellander6ceab082016-10-28 05:44:03 -070027}
28
skvladcc91d282016-10-03 18:31:22 -070029rtc_source_set("rtc_event_log_api") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010030 sources = [ "rtc_event_log/encoder/rtc_event_log_encoder.h" ]
Qingsi Wang970b0882018-02-01 11:04:46 -080031
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010032 deps = [ "../api/rtc_event_log" ]
Qingsi Wang970b0882018-02-01 11:04:46 -080033}
34
Björn Terelius98952d72021-09-22 19:37:22 +020035rtc_library("rtc_event_field") {
36 sources = [
Björn Tereliusfe903d52021-09-27 18:30:44 +020037 "rtc_event_log/events/fixed_length_encoding_parameters_v3.cc",
38 "rtc_event_log/events/fixed_length_encoding_parameters_v3.h",
39 "rtc_event_log/events/rtc_event_field_encoding.cc",
40 "rtc_event_log/events/rtc_event_field_encoding.h",
41 "rtc_event_log/events/rtc_event_field_encoding_parser.cc",
42 "rtc_event_log/events/rtc_event_field_encoding_parser.h",
Björn Terelius98952d72021-09-22 19:37:22 +020043 "rtc_event_log/events/rtc_event_field_extraction.cc",
44 "rtc_event_log/events/rtc_event_field_extraction.h",
45 ]
46
47 deps = [
48 ":rtc_event_number_encodings",
49 "../api:array_view",
50 "../api/rtc_event_log",
Björn Tereliusfe903d52021-09-27 18:30:44 +020051 "../rtc_base:bitstream_reader",
Björn Terelius98952d72021-09-22 19:37:22 +020052 "../rtc_base:checks",
53 "../rtc_base:logging",
54 "../rtc_base:rtc_base_approved",
55 ]
56 absl_deps = [
Björn Terelius98952d72021-09-22 19:37:22 +020057 "//third_party/abseil-cpp/absl/strings",
58 "//third_party/abseil-cpp/absl/types:optional",
59 ]
60}
61
Mirko Bonadei86d053c2019-10-17 21:32:04 +020062rtc_library("rtc_stream_config") {
Qingsi Wang970b0882018-02-01 11:04:46 -080063 sources = [
64 "rtc_event_log/rtc_stream_config.cc",
65 "rtc_event_log/rtc_stream_config.h",
66 ]
67
68 deps = [
Niels Mölleref1052a2019-03-20 08:40:23 +010069 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 10:45:28 +020070 "../api:rtp_parameters",
Qingsi Wang970b0882018-02-01 11:04:46 -080071 ]
72}
73
Mirko Bonadei86d053c2019-10-17 21:32:04 +020074rtc_library("rtc_event_pacing") {
Qingsi Wang970b0882018-02-01 11:04:46 -080075 sources = [
Ilya Nikolaevskiya4259f62017-12-05 13:19:45 +010076 "rtc_event_log/events/rtc_event_alr_state.cc",
77 "rtc_event_log/events/rtc_event_alr_state.h",
Qingsi Wang970b0882018-02-01 11:04:46 -080078 ]
79
80 deps = [
Mirko Bonadeid9708072019-01-25 20:26:48 +010081 "../api:scoped_refptr",
Danil Chapovalov16cb1f62019-09-05 11:29:59 +020082 "../api/rtc_event_log",
Björn Tereliusada810a2021-05-24 10:19:55 +020083 "../api/units:timestamp",
Qingsi Wang970b0882018-02-01 11:04:46 -080084 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020085 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
Qingsi Wang970b0882018-02-01 11:04:46 -080086}
87
Mirko Bonadei86d053c2019-10-17 21:32:04 +020088rtc_library("rtc_event_audio") {
Qingsi Wang970b0882018-02-01 11:04:46 -080089 sources = [
Elad Alon652cc842017-10-02 11:27:52 +020090 "rtc_event_log/events/rtc_event_audio_network_adaptation.cc",
91 "rtc_event_log/events/rtc_event_audio_network_adaptation.h",
92 "rtc_event_log/events/rtc_event_audio_playout.cc",
93 "rtc_event_log/events/rtc_event_audio_playout.h",
94 "rtc_event_log/events/rtc_event_audio_receive_stream_config.cc",
95 "rtc_event_log/events/rtc_event_audio_receive_stream_config.h",
96 "rtc_event_log/events/rtc_event_audio_send_stream_config.cc",
97 "rtc_event_log/events/rtc_event_audio_send_stream_config.h",
Qingsi Wang970b0882018-02-01 11:04:46 -080098 ]
99
100 deps = [
Qingsi Wang970b0882018-02-01 11:04:46 -0800101 ":rtc_stream_config",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100102 "../api:scoped_refptr",
Danil Chapovalov16cb1f62019-09-05 11:29:59 +0200103 "../api/rtc_event_log",
Björn Tereliusada810a2021-05-24 10:19:55 +0200104 "../api/units:timestamp",
Qingsi Wang970b0882018-02-01 11:04:46 -0800105 "../modules/audio_coding:audio_network_adaptor_config",
Elad Alon0b1b5c12018-11-09 21:50:14 +0100106 "../rtc_base:checks",
Qingsi Wang970b0882018-02-01 11:04:46 -0800107 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200108 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
Qingsi Wang970b0882018-02-01 11:04:46 -0800109}
110
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200111rtc_library("rtc_event_bwe") {
Qingsi Wang970b0882018-02-01 11:04:46 -0800112 sources = [
Elad Alon652cc842017-10-02 11:27:52 +0200113 "rtc_event_log/events/rtc_event_bwe_update_delay_based.cc",
114 "rtc_event_log/events/rtc_event_bwe_update_delay_based.h",
115 "rtc_event_log/events/rtc_event_bwe_update_loss_based.cc",
116 "rtc_event_log/events/rtc_event_bwe_update_loss_based.h",
Elad Alon652cc842017-10-02 11:27:52 +0200117 "rtc_event_log/events/rtc_event_probe_cluster_created.cc",
118 "rtc_event_log/events/rtc_event_probe_cluster_created.h",
119 "rtc_event_log/events/rtc_event_probe_result_failure.cc",
120 "rtc_event_log/events/rtc_event_probe_result_failure.h",
121 "rtc_event_log/events/rtc_event_probe_result_success.cc",
122 "rtc_event_log/events/rtc_event_probe_result_success.h",
Sebastian Jansson0a5ed892019-09-18 15:37:31 +0200123 "rtc_event_log/events/rtc_event_remote_estimate.h",
Sebastian Jansson166b45d2019-05-13 11:57:42 +0200124 "rtc_event_log/events/rtc_event_route_change.cc",
125 "rtc_event_log/events/rtc_event_route_change.h",
Qingsi Wang970b0882018-02-01 11:04:46 -0800126 ]
127
128 deps = [
Niels Möller0d863f72020-11-24 17:50:31 +0100129 "../api:network_state_predictor_api",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100130 "../api:scoped_refptr",
Danil Chapovalov16cb1f62019-09-05 11:29:59 +0200131 "../api/rtc_event_log",
Sebastian Jansson0a5ed892019-09-18 15:37:31 +0200132 "../api/units:data_rate",
Björn Tereliusada810a2021-05-24 10:19:55 +0200133 "../api/units:timestamp",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200134 ]
135 absl_deps = [
Karl Wiberg918f50c2018-07-05 11:40:33 +0200136 "//third_party/abseil-cpp/absl/memory",
Sebastian Jansson0a5ed892019-09-18 15:37:31 +0200137 "//third_party/abseil-cpp/absl/types:optional",
Qingsi Wang970b0882018-02-01 11:04:46 -0800138 ]
139}
140
Björn Terelius00c12f62020-08-06 12:37:08 +0200141rtc_library("rtc_event_frame_events") {
142 sources = [
143 "rtc_event_log/events/rtc_event_frame_decoded.cc",
144 "rtc_event_log/events/rtc_event_frame_decoded.h",
145 ]
146 deps = [
147 "../api/rtc_event_log",
Björn Tereliusada810a2021-05-24 10:19:55 +0200148 "../api/units:timestamp",
Björn Terelius00c12f62020-08-06 12:37:08 +0200149 "../api/video:video_frame",
150 "../rtc_base:timeutils",
151 ]
152 absl_deps = [
153 "//third_party/abseil-cpp/absl/memory",
154 "//third_party/abseil-cpp/absl/types:optional",
155 ]
156}
157
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200158rtc_library("rtc_event_generic_packet_events") {
Piotr (Peter) Slatalaf6adac82019-02-08 10:31:35 -0800159 visibility = [ "*" ]
160 sources = [
161 "rtc_event_log/events/rtc_event_generic_ack_received.cc",
162 "rtc_event_log/events/rtc_event_generic_ack_received.h",
163 "rtc_event_log/events/rtc_event_generic_packet_received.cc",
164 "rtc_event_log/events/rtc_event_generic_packet_received.h",
165 "rtc_event_log/events/rtc_event_generic_packet_sent.cc",
166 "rtc_event_log/events/rtc_event_generic_packet_sent.h",
167 ]
168 deps = [
Danil Chapovalov16cb1f62019-09-05 11:29:59 +0200169 "../api/rtc_event_log",
Björn Tereliusada810a2021-05-24 10:19:55 +0200170 "../api/units:timestamp",
Danil Chapovalovb32f2c72019-05-22 13:39:25 +0200171 "../rtc_base:timeutils",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200172 ]
173 absl_deps = [
tzik8aa00f02019-02-18 22:28:26 +0900174 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalovb32f2c72019-05-22 13:39:25 +0200175 "//third_party/abseil-cpp/absl/types:optional",
Piotr (Peter) Slatalaf6adac82019-02-08 10:31:35 -0800176 ]
Piotr (Peter) Slatalaf6adac82019-02-08 10:31:35 -0800177}
178
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200179rtc_library("rtc_event_rtp_rtcp") {
Qingsi Wang970b0882018-02-01 11:04:46 -0800180 sources = [
Elad Alon652cc842017-10-02 11:27:52 +0200181 "rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc",
182 "rtc_event_log/events/rtc_event_rtcp_packet_incoming.h",
183 "rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc",
184 "rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h",
185 "rtc_event_log/events/rtc_event_rtp_packet_incoming.cc",
186 "rtc_event_log/events/rtc_event_rtp_packet_incoming.h",
187 "rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc",
188 "rtc_event_log/events/rtc_event_rtp_packet_outgoing.h",
Qingsi Wang970b0882018-02-01 11:04:46 -0800189 ]
190
191 deps = [
Qingsi Wang970b0882018-02-01 11:04:46 -0800192 "../api:array_view",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100193 "../api:scoped_refptr",
Danil Chapovalov16cb1f62019-09-05 11:29:59 +0200194 "../api/rtc_event_log",
Qingsi Wang970b0882018-02-01 11:04:46 -0800195 "../modules/rtp_rtcp:rtp_rtcp_format",
Elad Alon0b1b5c12018-11-09 21:50:14 +0100196 "../rtc_base:checks",
Qingsi Wang970b0882018-02-01 11:04:46 -0800197 "../rtc_base:rtc_base_approved",
198 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200199 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
Qingsi Wang970b0882018-02-01 11:04:46 -0800200}
201
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200202rtc_library("rtc_event_video") {
Qingsi Wang970b0882018-02-01 11:04:46 -0800203 sources = [
Elad Alon652cc842017-10-02 11:27:52 +0200204 "rtc_event_log/events/rtc_event_video_receive_stream_config.cc",
205 "rtc_event_log/events/rtc_event_video_receive_stream_config.h",
206 "rtc_event_log/events/rtc_event_video_send_stream_config.cc",
207 "rtc_event_log/events/rtc_event_video_send_stream_config.h",
skvladcc91d282016-10-03 18:31:22 -0700208 ]
Elad Alon83ccca12017-10-04 13:18:26 +0200209
kjellander727ac1d2017-03-08 02:12:11 -0800210 deps = [
Qingsi Wang970b0882018-02-01 11:04:46 -0800211 ":rtc_stream_config",
Mirko Bonadeid9708072019-01-25 20:26:48 +0100212 "../api:scoped_refptr",
Danil Chapovalov16cb1f62019-09-05 11:29:59 +0200213 "../api/rtc_event_log",
Björn Tereliusada810a2021-05-24 10:19:55 +0200214 "../api/units:timestamp",
Elad Alon0b1b5c12018-11-09 21:50:14 +0100215 "../rtc_base:checks",
kjellander727ac1d2017-03-08 02:12:11 -0800216 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200217 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
skvladcc91d282016-10-03 18:31:22 -0700218}
219
Björn Terelius98952d72021-09-22 19:37:22 +0200220rtc_library("rtc_event_number_encodings") {
skvladcc91d282016-10-03 18:31:22 -0700221 sources = [
Björn Terelius98952d72021-09-22 19:37:22 +0200222 "rtc_event_log/encoder/bit_writer.cc",
223 "rtc_event_log/encoder/bit_writer.h",
Elad Alond95b0a22018-11-09 16:38:54 +0100224 "rtc_event_log/encoder/rtc_event_log_encoder_common.cc",
225 "rtc_event_log/encoder/rtc_event_log_encoder_common.h",
Steve Anton10542f22019-01-11 09:11:00 -0800226 "rtc_event_log/encoder/var_int.cc",
227 "rtc_event_log/encoder/var_int.h",
skvladcc91d282016-10-03 18:31:22 -0700228 ]
229
230 defines = []
231
232 deps = [
Björn Terelius98952d72021-09-22 19:37:22 +0200233 "../rtc_base:bitstream_reader",
234 "../rtc_base:checks",
235 "../rtc_base:ignore_wundef",
236 "../rtc_base:macromagic",
237 "../rtc_base:rtc_base_approved",
238 ]
239 absl_deps = [
240 "//third_party/abseil-cpp/absl/memory",
241 "//third_party/abseil-cpp/absl/strings",
242 "//third_party/abseil-cpp/absl/types:optional",
243 ]
244}
245
246# TODO(eladalon): Break down into (1) encoder and (2) decoder; we don't need
247# the decoder code in the WebRTC library, only in unit tests and tools.
248rtc_library("rtc_event_log_impl_encoder") {
249 sources = [
250 "rtc_event_log/encoder/blob_encoding.cc",
251 "rtc_event_log/encoder/blob_encoding.h",
252 "rtc_event_log/encoder/delta_encoding.cc",
253 "rtc_event_log/encoder/delta_encoding.h",
254 ]
255
256 defines = []
257
258 deps = [
259 ":rtc_event_number_encodings",
Niels Mölleref1052a2019-03-20 08:40:23 +0100260 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 10:45:28 +0200261 "../api:rtp_parameters",
Yves Gerey3e707812018-11-28 16:47:49 +0100262 "../api/transport:network_control",
Danil Chapovalov707e3d12021-09-07 15:19:16 +0200263 "../rtc_base:bitstream_reader",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100264 "../rtc_base:checks",
Mirko Bonadei3663ed32019-10-19 12:03:23 +0200265 "../rtc_base:ignore_wundef",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700266 "../rtc_base:rtc_base_approved",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200267 ]
268 absl_deps = [
Elad Alon50b1e6b2018-10-18 13:43:35 +0200269 "//third_party/abseil-cpp/absl/memory",
Artem Titov94b57c02019-03-21 13:35:10 +0100270 "//third_party/abseil-cpp/absl/strings",
Elad Alon73f39172018-10-23 18:24:10 +0200271 "//third_party/abseil-cpp/absl/types:optional",
skvladcc91d282016-10-03 18:31:22 -0700272 ]
273
274 if (rtc_enable_protobuf) {
Bjorn Tereliusc35096d2018-10-24 13:51:56 +0200275 deps += [
276 ":ice_log",
277 ":rtc_event_audio",
278 ":rtc_event_bwe",
Björn Terelius00c12f62020-08-06 12:37:08 +0200279 ":rtc_event_frame_events",
Piotr (Peter) Slatalaf6adac82019-02-08 10:31:35 -0800280 ":rtc_event_generic_packet_events",
Bjorn Tereliusc35096d2018-10-24 13:51:56 +0200281 ":rtc_event_log2_proto",
282 ":rtc_event_log_api",
Bjorn Tereliusc35096d2018-10-24 13:51:56 +0200283 ":rtc_event_log_proto",
284 ":rtc_event_pacing",
285 ":rtc_event_rtp_rtcp",
286 ":rtc_event_video",
287 ":rtc_stream_config",
288 "../api:array_view",
Niels Möller0d863f72020-11-24 17:50:31 +0100289 "../api:network_state_predictor_api",
Bjorn Tereliusc35096d2018-10-24 13:51:56 +0200290 "../modules/audio_coding:audio_network_adaptor",
Bjorn Tereliusc35096d2018-10-24 13:51:56 +0200291 "../modules/rtp_rtcp:rtp_rtcp_format",
292 ]
293 sources += [
294 "rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc",
295 "rtc_event_log/encoder/rtc_event_log_encoder_legacy.h",
296 "rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc",
297 "rtc_event_log/encoder/rtc_event_log_encoder_new_format.h",
298 ]
skvladcc91d282016-10-03 18:31:22 -0700299 }
skvladcc91d282016-10-03 18:31:22 -0700300}
301
Niels Möllerd8b9ed72019-05-08 13:53:51 +0200302# TODO(bugs.webrtc.org/6463): For backwards compatibility; delete as
303# soon as downstream dependencies are updated.
Qingsi Wang970b0882018-02-01 11:04:46 -0800304rtc_source_set("rtc_event_log_impl_output") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100305 sources = [ "rtc_event_log/output/rtc_event_log_output_file.h" ]
306 deps = [ "../api:rtc_event_log_output_file" ]
Qingsi Wang970b0882018-02-01 11:04:46 -0800307}
308
Danil Chapovalovb32f2c72019-05-22 13:39:25 +0200309if (rtc_enable_protobuf) {
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200310 rtc_library("rtc_event_log_impl") {
Danil Chapovalovb32f2c72019-05-22 13:39:25 +0200311 visibility = [ "../api/rtc_event_log:rtc_event_log_factory" ]
312 sources = [
313 "rtc_event_log/rtc_event_log_impl.cc",
314 "rtc_event_log/rtc_event_log_impl.h",
315 ]
316 deps = [
317 ":ice_log",
318 ":rtc_event_log_api",
319 ":rtc_event_log_impl_encoder",
320 "../api:libjingle_logging_api",
Artem Titovd15a5752021-02-10 14:31:24 +0100321 "../api:sequence_checker",
Danil Chapovalovb32f2c72019-05-22 13:39:25 +0200322 "../api/rtc_event_log",
323 "../api/task_queue",
324 "../rtc_base:checks",
325 "../rtc_base:rtc_base_approved",
326 "../rtc_base:rtc_task_queue",
327 "../rtc_base:safe_minmax",
Mirko Bonadei20e4c802020-11-23 11:07:42 +0100328 "../rtc_base/system:no_unique_address",
Danil Chapovalovb32f2c72019-05-22 13:39:25 +0200329 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200330 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Danil Chapovalovb32f2c72019-05-22 13:39:25 +0200331 }
332}
333
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200334rtc_library("fake_rtc_event_log") {
Qingsi Wang7685e862018-06-11 20:15:46 -0700335 testonly = true
336 sources = [
337 "rtc_event_log/fake_rtc_event_log.cc",
338 "rtc_event_log/fake_rtc_event_log.h",
339 "rtc_event_log/fake_rtc_event_log_factory.cc",
340 "rtc_event_log/fake_rtc_event_log_factory.h",
341 ]
342
343 deps = [
Danil Chapovalov83bbe912019-08-07 12:24:53 +0200344 "../api/rtc_event_log",
Artem Titov94b57c02019-03-21 13:35:10 +0100345 "../rtc_base",
Danil Chapovalov4f281f12021-01-18 13:29:00 +0100346 "../rtc_base/synchronization:mutex",
Qingsi Wang7685e862018-06-11 20:15:46 -0700347 ]
348}
349
skvladcc91d282016-10-03 18:31:22 -0700350if (rtc_enable_protobuf) {
351 proto_library("rtc_event_log_proto") {
Mirko Bonadeid4746722018-11-19 12:00:51 +0100352 visibility = [ "*" ]
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100353 sources = [ "rtc_event_log/rtc_event_log.proto" ]
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200354 proto_out_dir = "logging/rtc_event_log"
skvladcc91d282016-10-03 18:31:22 -0700355 }
skvladcc91d282016-10-03 18:31:22 -0700356
Mirko Bonadeib3c210f2017-12-15 17:12:42 +0100357 proto_library("rtc_event_log2_proto") {
Mirko Bonadeid4746722018-11-19 12:00:51 +0100358 visibility = [ "*" ]
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +0100359 sources = [ "rtc_event_log/rtc_event_log2.proto" ]
Mirko Bonadeib3c210f2017-12-15 17:12:42 +0100360 proto_out_dir = "logging/rtc_event_log"
361 }
362
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200363 rtc_library("rtc_event_log_parser") {
Bjorn Terelius73df8832018-04-26 14:46:06 +0200364 visibility = [ "*" ]
skvladcc91d282016-10-03 18:31:22 -0700365 sources = [
Sebastian Jansson7e4341d2019-01-22 08:42:27 +0100366 "rtc_event_log/logged_events.cc",
Sebastian Jansson3f2b9aa2019-01-03 14:42:15 +0100367 "rtc_event_log/logged_events.h",
Sebastian Janssonb290a6d2019-01-03 14:46:23 +0100368 "rtc_event_log/rtc_event_log_parser.cc",
369 "rtc_event_log/rtc_event_log_parser.h",
Sebastian Jansson03fbf1e2019-01-08 15:31:06 +0100370 "rtc_event_log/rtc_event_processor.cc",
Bjorn Terelius60d629f2018-09-24 17:10:27 +0200371 "rtc_event_log/rtc_event_processor.h",
skvladcc91d282016-10-03 18:31:22 -0700372 ]
373
Mirko Bonadei818d9102017-12-12 12:46:13 +0100374 deps = [
Qingsi Wang8eca1ff2018-02-02 11:49:44 -0800375 ":ice_log",
Björn Terelius6f597bd2021-01-12 16:05:06 +0100376 ":rtc_event_audio",
Qingsi Wang970b0882018-02-01 11:04:46 -0800377 ":rtc_event_bwe",
Björn Terelius6f597bd2021-01-12 16:05:06 +0100378 ":rtc_event_frame_events",
379 ":rtc_event_generic_packet_events",
Mirko Bonadeib3c210f2017-12-15 17:12:42 +0100380 ":rtc_event_log2_proto",
Elad Alond95b0a22018-11-09 16:38:54 +0100381 ":rtc_event_log_impl_encoder",
skvladcc91d282016-10-03 18:31:22 -0700382 ":rtc_event_log_proto",
Björn Terelius98952d72021-09-22 19:37:22 +0200383 ":rtc_event_number_encodings",
Björn Terelius6f597bd2021-01-12 16:05:06 +0100384 ":rtc_event_pacing",
385 ":rtc_event_rtp_rtcp",
386 ":rtc_event_video",
Qingsi Wang970b0882018-02-01 11:04:46 -0800387 ":rtc_stream_config",
Artem Titov741daaf2019-03-21 14:37:36 +0100388 "../api:function_view",
Niels Möller0d863f72020-11-24 17:50:31 +0100389 "../api:network_state_predictor_api",
Niels Mölleref1052a2019-03-20 08:40:23 +0100390 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 10:45:28 +0200391 "../api:rtp_parameters",
Danil Chapovalov83bbe912019-08-07 12:24:53 +0200392 "../api/rtc_event_log",
Sebastian Jansson7e4341d2019-01-22 08:42:27 +0100393 "../api/units:data_rate",
394 "../api/units:time_delta",
395 "../api/units:timestamp",
Björn Terelius00c12f62020-08-06 12:37:08 +0200396 "../api/video:video_frame",
Mirko Bonadei818d9102017-12-12 12:46:13 +0100397 "../call:video_stream_api",
Danil Chapovalov7c067772019-10-07 12:56:24 +0200398 "../modules:module_api_public",
michaeltcde46b72017-04-06 05:59:10 -0700399 "../modules/audio_coding:audio_network_adaptor",
Mirko Bonadei818d9102017-12-12 12:46:13 +0100400 "../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100401 "../rtc_base:checks",
Mirko Bonadei3663ed32019-10-19 12:03:23 +0200402 "../rtc_base:ignore_wundef",
Mirko Bonadei818d9102017-12-12 12:46:13 +0100403 "../rtc_base:protobuf_utils",
404 "../rtc_base:rtc_base_approved",
Sebastian Jansson7e4341d2019-01-22 08:42:27 +0100405 "../rtc_base:rtc_numerics",
Björn Tereliusb37180f2021-03-31 13:56:57 +0200406 "../rtc_base/system:file_wrapper",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200407 ]
408 absl_deps = [
Karl Wiberg918f50c2018-07-05 11:40:33 +0200409 "//third_party/abseil-cpp/absl/memory",
Elad Alon1ac95542018-10-02 13:20:40 +0200410 "//third_party/abseil-cpp/absl/types:optional",
skvladcc91d282016-10-03 18:31:22 -0700411 ]
skvladcc91d282016-10-03 18:31:22 -0700412 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800413
414 if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200415 rtc_library("rtc_event_log_tests") {
ehmaldonado1fd08c12017-01-17 02:37:34 -0800416 testonly = true
Elad Alon1d87b0e2017-10-03 15:01:03 +0200417 assert(rtc_enable_protobuf)
ehmaldonado1fd08c12017-01-17 02:37:34 -0800418 sources = [
Elad Aloncb21ffe2018-10-19 18:30:30 +0200419 "rtc_event_log/encoder/blob_encoding_unittest.cc",
Elad Alon50b1e6b2018-10-18 13:43:35 +0200420 "rtc_event_log/encoder/delta_encoding_unittest.cc",
Elad Alond95b0a22018-11-09 16:38:54 +0100421 "rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc",
Elad Alon1d87b0e2017-10-03 15:01:03 +0200422 "rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc",
Björn Tereliusfe903d52021-09-27 18:30:44 +0200423 "rtc_event_log/events/rtc_event_field_encoding_unittest.cc",
Björn Terelius98952d72021-09-22 19:37:22 +0200424 "rtc_event_log/events/rtc_event_field_extraction_unittest.cc",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800425 "rtc_event_log/rtc_event_log_unittest.cc",
426 "rtc_event_log/rtc_event_log_unittest_helper.cc",
eladalonb5c319a2017-08-17 08:32:39 -0700427 "rtc_event_log/rtc_event_log_unittest_helper.h",
Bjorn Terelius60d629f2018-09-24 17:10:27 +0200428 "rtc_event_log/rtc_event_processor_unittest.cc",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800429 ]
430 deps = [
Bjorn Tereliusf4db5422018-06-26 11:41:27 +0200431 ":ice_log",
Qingsi Wang970b0882018-02-01 11:04:46 -0800432 ":rtc_event_audio",
433 ":rtc_event_bwe",
Björn Terelius98952d72021-09-22 19:37:22 +0200434 ":rtc_event_field",
Björn Terelius00c12f62020-08-06 12:37:08 +0200435 ":rtc_event_frame_events",
Piotr (Peter) Slatala5e2aad12019-02-13 07:49:30 -0800436 ":rtc_event_generic_packet_events",
Bjorn Tereliusc35096d2018-10-24 13:51:56 +0200437 ":rtc_event_log2_proto",
Qingsi Wang970b0882018-02-01 11:04:46 -0800438 ":rtc_event_log_impl_encoder",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800439 ":rtc_event_log_parser",
Mirko Bonadei818d9102017-12-12 12:46:13 +0100440 ":rtc_event_log_proto",
Björn Terelius98952d72021-09-22 19:37:22 +0200441 ":rtc_event_number_encodings",
Bjorn Tereliusf4db5422018-06-26 11:41:27 +0200442 ":rtc_event_pacing",
Qingsi Wang970b0882018-02-01 11:04:46 -0800443 ":rtc_event_rtp_rtcp",
444 ":rtc_event_video",
445 ":rtc_stream_config",
Yves Gerey3e707812018-11-28 16:47:49 +0100446 "../api:array_view",
Niels Möller0d863f72020-11-24 17:50:31 +0100447 "../api:network_state_predictor_api",
Niels Möllerd8b9ed72019-05-08 13:53:51 +0200448 "../api:rtc_event_log_output_file",
Niels Mölleref1052a2019-03-20 08:40:23 +0100449 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 10:45:28 +0200450 "../api:rtp_parameters",
Danil Chapovalov83bbe912019-08-07 12:24:53 +0200451 "../api/rtc_event_log",
Danil Chapovalov4ba04b72019-06-26 15:49:47 +0200452 "../api/rtc_event_log:rtc_event_log_factory",
Danil Chapovalov304ea5f2019-04-11 15:18:18 +0200453 "../api/task_queue:default_task_queue_factory",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800454 "../call",
Mirko Bonadeia0e1a552017-12-04 10:50:51 +0100455 "../call:call_interfaces",
michaeltcde46b72017-04-06 05:59:10 -0700456 "../modules/audio_coding:audio_network_adaptor",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100457 "../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100458 "../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700459 "../rtc_base:rtc_base_approved",
460 "../rtc_base:rtc_base_tests_utils",
Artem Titov94b57c02019-03-21 13:35:10 +0100461 "../system_wrappers",
Patrik Höglund7696bef2018-03-15 15:05:39 +0100462 "../test:fileutils",
kjellander727ac1d2017-03-08 02:12:11 -0800463 "../test:test_support",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800464 "//testing/gtest",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200465 ]
466 absl_deps = [
Karl Wiberg918f50c2018-07-05 11:40:33 +0200467 "//third_party/abseil-cpp/absl/memory",
Yves Gerey69807e82018-10-30 22:23:02 +0100468 "//third_party/abseil-cpp/absl/types:optional",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800469 ]
ehmaldonado1fd08c12017-01-17 02:37:34 -0800470 }
Mirko Bonadei9d764e82018-07-16 15:38:06 +0200471
Andrey Logvine7c79fd2021-02-01 09:56:37 +0000472 if (!build_with_chromium) {
473 rtc_executable("rtc_event_log_rtp_dump") {
474 testonly = true
475 sources = [ "rtc_event_log/rtc_event_log2rtp_dump.cc" ]
476 deps = [
477 ":rtc_event_log_parser",
478 "../api:array_view",
479 "../api:rtp_headers",
480 "../api/rtc_event_log",
481 "../modules/rtp_rtcp",
482 "../modules/rtp_rtcp:rtp_rtcp_format",
483 "../rtc_base:checks",
484 "../rtc_base:protobuf_utils",
485 "../rtc_base:rtc_base_approved",
486 "../test:rtp_test_utils",
487 "//third_party/abseil-cpp/absl/flags:flag",
488 "//third_party/abseil-cpp/absl/flags:parse",
489 "//third_party/abseil-cpp/absl/flags:usage",
490 "//third_party/abseil-cpp/absl/memory",
491 "//third_party/abseil-cpp/absl/types:optional",
492 ]
493 }
ivoc54b6e982017-02-08 00:28:09 -0800494 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800495 }
skvladcc91d282016-10-03 18:31:22 -0700496}
Patrik Höglund731082c2018-01-03 09:08:20 +0100497
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200498rtc_library("ice_log") {
Qingsi Wang8eca1ff2018-02-02 11:49:44 -0800499 sources = [
Zach Steinc64078f2018-11-27 15:53:01 -0800500 "rtc_event_log/events/rtc_event_dtls_transport_state.cc",
501 "rtc_event_log/events/rtc_event_dtls_transport_state.h",
Zach Stein846dfdf2018-11-29 14:12:17 -0800502 "rtc_event_log/events/rtc_event_dtls_writable_state.cc",
503 "rtc_event_log/events/rtc_event_dtls_writable_state.h",
Qingsi Wang8eca1ff2018-02-02 11:49:44 -0800504 "rtc_event_log/events/rtc_event_ice_candidate_pair.cc",
505 "rtc_event_log/events/rtc_event_ice_candidate_pair.h",
506 "rtc_event_log/events/rtc_event_ice_candidate_pair_config.cc",
507 "rtc_event_log/events/rtc_event_ice_candidate_pair_config.h",
Steve Anton10542f22019-01-11 09:11:00 -0800508 "rtc_event_log/ice_logger.cc",
509 "rtc_event_log/ice_logger.h",
Qingsi Wang8eca1ff2018-02-02 11:49:44 -0800510 ]
511
512 deps = [
Qingsi Wang8eca1ff2018-02-02 11:49:44 -0800513 "../api:libjingle_logging_api",
Danil Chapovalov16cb1f62019-09-05 11:29:59 +0200514 "../api:libjingle_peerconnection_api", # For api/dtls_transport_interface.h
Danil Chapovalov83bbe912019-08-07 12:24:53 +0200515 "../api/rtc_event_log",
Björn Tereliusada810a2021-05-24 10:19:55 +0200516 "../api/units:timestamp",
Qingsi Wang8eca1ff2018-02-02 11:49:44 -0800517 "../rtc_base:rtc_base_approved",
518 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200519 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
Qingsi Wang8eca1ff2018-02-02 11:49:44 -0800520}
521
Patrik Höglund731082c2018-01-03 09:08:20 +0100522if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200523 rtc_library("mocks") {
Patrik Höglund731082c2018-01-03 09:08:20 +0100524 testonly = true
525 sources = [
Danil Chapovalovdd7e2842018-03-09 15:37:03 +0000526 "rtc_event_log/mock/mock_rtc_event_log.cc",
Patrik Höglund731082c2018-01-03 09:08:20 +0100527 "rtc_event_log/mock/mock_rtc_event_log.h",
528 ]
529 deps = [
Danil Chapovalov83bbe912019-08-07 12:24:53 +0200530 "../api/rtc_event_log",
Oleh Prypinda04e062018-07-23 10:04:12 +0200531 "../test:test_support",
Patrik Höglund731082c2018-01-03 09:08:20 +0100532 ]
533 }
534}