• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 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
9import("../webrtc.gni")
10if (rtc_enable_protobuf) {
11  import("//third_party/protobuf/proto_library.gni")
12}
13if (is_android) {
14  import("//build/config/android/config.gni")
15  import("//build/config/android/rules.gni")
16}
17
18group("logging") {
19  deps = [
20    ":rtc_event_audio",
21    ":rtc_event_bwe",
22    ":rtc_event_log_impl_encoder",
23    ":rtc_event_pacing",
24    ":rtc_event_rtp_rtcp",
25    ":rtc_event_video",
26  ]
27}
28
29rtc_source_set("rtc_event_log_api") {
30  sources = [ "rtc_event_log/encoder/rtc_event_log_encoder.h" ]
31
32  deps = [ "../api/rtc_event_log" ]
33}
34
35rtc_library("rtc_stream_config") {
36  sources = [
37    "rtc_event_log/rtc_stream_config.cc",
38    "rtc_event_log/rtc_stream_config.h",
39  ]
40
41  deps = [
42    "../api:rtp_headers",
43    "../api:rtp_parameters",
44  ]
45}
46
47rtc_library("rtc_event_pacing") {
48  sources = [
49    "rtc_event_log/events/rtc_event_alr_state.cc",
50    "rtc_event_log/events/rtc_event_alr_state.h",
51  ]
52
53  deps = [
54    "../api:scoped_refptr",
55    "../api/rtc_event_log",
56  ]
57  absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
58}
59
60rtc_library("rtc_event_audio") {
61  sources = [
62    "rtc_event_log/events/rtc_event_audio_network_adaptation.cc",
63    "rtc_event_log/events/rtc_event_audio_network_adaptation.h",
64    "rtc_event_log/events/rtc_event_audio_playout.cc",
65    "rtc_event_log/events/rtc_event_audio_playout.h",
66    "rtc_event_log/events/rtc_event_audio_receive_stream_config.cc",
67    "rtc_event_log/events/rtc_event_audio_receive_stream_config.h",
68    "rtc_event_log/events/rtc_event_audio_send_stream_config.cc",
69    "rtc_event_log/events/rtc_event_audio_send_stream_config.h",
70  ]
71
72  deps = [
73    ":rtc_stream_config",
74    "../api:scoped_refptr",
75    "../api/rtc_event_log",
76    "../modules/audio_coding:audio_network_adaptor_config",
77    "../rtc_base:checks",
78  ]
79  absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
80}
81
82rtc_library("rtc_event_bwe") {
83  sources = [
84    "rtc_event_log/events/rtc_event_bwe_update_delay_based.cc",
85    "rtc_event_log/events/rtc_event_bwe_update_delay_based.h",
86    "rtc_event_log/events/rtc_event_bwe_update_loss_based.cc",
87    "rtc_event_log/events/rtc_event_bwe_update_loss_based.h",
88    "rtc_event_log/events/rtc_event_probe_cluster_created.cc",
89    "rtc_event_log/events/rtc_event_probe_cluster_created.h",
90    "rtc_event_log/events/rtc_event_probe_result_failure.cc",
91    "rtc_event_log/events/rtc_event_probe_result_failure.h",
92    "rtc_event_log/events/rtc_event_probe_result_success.cc",
93    "rtc_event_log/events/rtc_event_probe_result_success.h",
94    "rtc_event_log/events/rtc_event_remote_estimate.h",
95    "rtc_event_log/events/rtc_event_route_change.cc",
96    "rtc_event_log/events/rtc_event_route_change.h",
97  ]
98
99  deps = [
100    "../api:scoped_refptr",
101    "../api/rtc_event_log",
102    "../api/units:data_rate",
103    "../modules/remote_bitrate_estimator",
104  ]
105  absl_deps = [
106    "//third_party/abseil-cpp/absl/memory",
107    "//third_party/abseil-cpp/absl/types:optional",
108  ]
109}
110
111rtc_library("rtc_event_generic_packet_events") {
112  visibility = [ "*" ]
113  sources = [
114    "rtc_event_log/events/rtc_event_generic_ack_received.cc",
115    "rtc_event_log/events/rtc_event_generic_ack_received.h",
116    "rtc_event_log/events/rtc_event_generic_packet_received.cc",
117    "rtc_event_log/events/rtc_event_generic_packet_received.h",
118    "rtc_event_log/events/rtc_event_generic_packet_sent.cc",
119    "rtc_event_log/events/rtc_event_generic_packet_sent.h",
120  ]
121  deps = [
122    "../api/rtc_event_log",
123    "../rtc_base:timeutils",
124  ]
125  absl_deps = [
126    "//third_party/abseil-cpp/absl/memory",
127    "//third_party/abseil-cpp/absl/types:optional",
128  ]
129}
130
131rtc_library("rtc_event_rtp_rtcp") {
132  sources = [
133    "rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc",
134    "rtc_event_log/events/rtc_event_rtcp_packet_incoming.h",
135    "rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc",
136    "rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h",
137    "rtc_event_log/events/rtc_event_rtp_packet_incoming.cc",
138    "rtc_event_log/events/rtc_event_rtp_packet_incoming.h",
139    "rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc",
140    "rtc_event_log/events/rtc_event_rtp_packet_outgoing.h",
141  ]
142
143  deps = [
144    "../api:array_view",
145    "../api:scoped_refptr",
146    "../api/rtc_event_log",
147    "../modules/rtp_rtcp:rtp_rtcp_format",
148    "../rtc_base:checks",
149    "../rtc_base:rtc_base_approved",
150  ]
151  absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
152}
153
154rtc_library("rtc_event_video") {
155  sources = [
156    "rtc_event_log/events/rtc_event_video_receive_stream_config.cc",
157    "rtc_event_log/events/rtc_event_video_receive_stream_config.h",
158    "rtc_event_log/events/rtc_event_video_send_stream_config.cc",
159    "rtc_event_log/events/rtc_event_video_send_stream_config.h",
160  ]
161
162  deps = [
163    ":rtc_stream_config",
164    "../api:scoped_refptr",
165    "../api/rtc_event_log",
166    "../rtc_base:checks",
167  ]
168  absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
169}
170
171# TODO(eladalon): Break down into (1) encoder and (2) decoder; we don't need
172# the decoder code in the WebRTC library, only in unit tests and tools.
173rtc_library("rtc_event_log_impl_encoder") {
174  sources = [
175    "rtc_event_log/encoder/blob_encoding.cc",
176    "rtc_event_log/encoder/blob_encoding.h",
177    "rtc_event_log/encoder/delta_encoding.cc",
178    "rtc_event_log/encoder/delta_encoding.h",
179    "rtc_event_log/encoder/rtc_event_log_encoder_common.cc",
180    "rtc_event_log/encoder/rtc_event_log_encoder_common.h",
181    "rtc_event_log/encoder/var_int.cc",
182    "rtc_event_log/encoder/var_int.h",
183  ]
184
185  defines = []
186
187  deps = [
188    "../api:rtp_headers",
189    "../api:rtp_parameters",
190    "../api/transport:network_control",
191    "../rtc_base:checks",
192    "../rtc_base:ignore_wundef",
193    "../rtc_base:rtc_base_approved",
194  ]
195  absl_deps = [
196    "//third_party/abseil-cpp/absl/memory",
197    "//third_party/abseil-cpp/absl/strings",
198    "//third_party/abseil-cpp/absl/types:optional",
199  ]
200
201  if (rtc_enable_protobuf) {
202    deps += [
203      ":ice_log",
204      ":rtc_event_audio",
205      ":rtc_event_bwe",
206      ":rtc_event_generic_packet_events",
207      ":rtc_event_log2_proto",
208      ":rtc_event_log_api",
209      ":rtc_event_log_proto",
210      ":rtc_event_pacing",
211      ":rtc_event_rtp_rtcp",
212      ":rtc_event_video",
213      ":rtc_stream_config",
214      "../api:array_view",
215      "../modules/audio_coding:audio_network_adaptor",
216      "../modules/remote_bitrate_estimator",
217      "../modules/rtp_rtcp:rtp_rtcp_format",
218    ]
219    sources += [
220      "rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc",
221      "rtc_event_log/encoder/rtc_event_log_encoder_legacy.h",
222      "rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc",
223      "rtc_event_log/encoder/rtc_event_log_encoder_new_format.h",
224    ]
225  }
226}
227
228# TODO(bugs.webrtc.org/6463): For backwards compatibility; delete as
229# soon as downstream dependencies are updated.
230rtc_source_set("rtc_event_log_impl_output") {
231  sources = [ "rtc_event_log/output/rtc_event_log_output_file.h" ]
232  deps = [ "../api:rtc_event_log_output_file" ]
233}
234
235if (rtc_enable_protobuf) {
236  rtc_library("rtc_event_log_impl") {
237    visibility = [ "../api/rtc_event_log:rtc_event_log_factory" ]
238    sources = [
239      "rtc_event_log/rtc_event_log_impl.cc",
240      "rtc_event_log/rtc_event_log_impl.h",
241    ]
242    deps = [
243      ":ice_log",
244      ":rtc_event_log_api",
245      ":rtc_event_log_impl_encoder",
246      "../api:libjingle_logging_api",
247      "../api/rtc_event_log",
248      "../api/task_queue",
249      "../rtc_base:checks",
250      "../rtc_base:rtc_base_approved",
251      "../rtc_base:rtc_task_queue",
252      "../rtc_base:safe_minmax",
253      "../rtc_base/synchronization:sequence_checker",
254    ]
255    absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
256  }
257}
258
259rtc_library("fake_rtc_event_log") {
260  testonly = true
261  sources = [
262    "rtc_event_log/fake_rtc_event_log.cc",
263    "rtc_event_log/fake_rtc_event_log.h",
264    "rtc_event_log/fake_rtc_event_log_factory.cc",
265    "rtc_event_log/fake_rtc_event_log_factory.h",
266  ]
267
268  deps = [
269    ":ice_log",
270    "../api/rtc_event_log",
271    "../rtc_base",
272    "../rtc_base:checks",
273  ]
274}
275
276if (rtc_enable_protobuf) {
277  proto_library("rtc_event_log_proto") {
278    visibility = [ "*" ]
279    sources = [ "rtc_event_log/rtc_event_log.proto" ]
280    proto_out_dir = "logging/rtc_event_log"
281  }
282
283  proto_library("rtc_event_log2_proto") {
284    visibility = [ "*" ]
285    sources = [ "rtc_event_log/rtc_event_log2.proto" ]
286    proto_out_dir = "logging/rtc_event_log"
287  }
288
289  rtc_library("rtc_event_log_parser") {
290    visibility = [ "*" ]
291    sources = [
292      "rtc_event_log/logged_events.cc",
293      "rtc_event_log/logged_events.h",
294      "rtc_event_log/rtc_event_log_parser.cc",
295      "rtc_event_log/rtc_event_log_parser.h",
296      "rtc_event_log/rtc_event_processor.cc",
297      "rtc_event_log/rtc_event_processor.h",
298    ]
299
300    deps = [
301      ":ice_log",
302      ":rtc_event_bwe",
303      ":rtc_event_log2_proto",
304      ":rtc_event_log_impl_encoder",
305      ":rtc_event_log_proto",
306      ":rtc_stream_config",
307      "../api:function_view",
308      "../api:rtp_headers",
309      "../api:rtp_parameters",
310      "../api/rtc_event_log",
311      "../api/units:data_rate",
312      "../api/units:time_delta",
313      "../api/units:timestamp",
314      "../call:video_stream_api",
315      "../modules:module_api",
316      "../modules:module_api_public",
317      "../modules/audio_coding:audio_network_adaptor",
318      "../modules/remote_bitrate_estimator",
319      "../modules/rtp_rtcp",
320      "../modules/rtp_rtcp:rtp_rtcp_format",
321      "../rtc_base:checks",
322      "../rtc_base:deprecation",
323      "../rtc_base:ignore_wundef",
324      "../rtc_base:protobuf_utils",
325      "../rtc_base:rtc_base_approved",
326      "../rtc_base:rtc_numerics",
327    ]
328    absl_deps = [
329      "//third_party/abseil-cpp/absl/memory",
330      "//third_party/abseil-cpp/absl/types:optional",
331    ]
332  }
333
334  if (rtc_include_tests) {
335    rtc_library("rtc_event_log_tests") {
336      testonly = true
337      assert(rtc_enable_protobuf)
338      sources = [
339        "rtc_event_log/encoder/blob_encoding_unittest.cc",
340        "rtc_event_log/encoder/delta_encoding_unittest.cc",
341        "rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc",
342        "rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc",
343        "rtc_event_log/rtc_event_log_unittest.cc",
344        "rtc_event_log/rtc_event_log_unittest_helper.cc",
345        "rtc_event_log/rtc_event_log_unittest_helper.h",
346        "rtc_event_log/rtc_event_processor_unittest.cc",
347      ]
348      deps = [
349        ":ice_log",
350        ":rtc_event_audio",
351        ":rtc_event_bwe",
352        ":rtc_event_generic_packet_events",
353        ":rtc_event_log2_proto",
354        ":rtc_event_log_impl_encoder",
355        ":rtc_event_log_parser",
356        ":rtc_event_log_proto",
357        ":rtc_event_pacing",
358        ":rtc_event_rtp_rtcp",
359        ":rtc_event_video",
360        ":rtc_stream_config",
361        "../api:array_view",
362        "../api:rtc_event_log_output_file",
363        "../api:rtp_headers",
364        "../api:rtp_parameters",
365        "../api/rtc_event_log",
366        "../api/rtc_event_log:rtc_event_log_factory",
367        "../api/task_queue:default_task_queue_factory",
368        "../call",
369        "../call:call_interfaces",
370        "../modules/audio_coding:audio_network_adaptor",
371        "../modules/remote_bitrate_estimator",
372        "../modules/rtp_rtcp:rtp_rtcp_format",
373        "../rtc_base:checks",
374        "../rtc_base:rtc_base_approved",
375        "../rtc_base:rtc_base_tests_utils",
376        "../system_wrappers",
377        "../test:fileutils",
378        "../test:test_support",
379        "//testing/gtest",
380      ]
381      absl_deps = [
382        "//third_party/abseil-cpp/absl/memory",
383        "//third_party/abseil-cpp/absl/types:optional",
384      ]
385    }
386
387    rtc_executable("rtc_event_log_rtp_dump") {
388      testonly = true
389      sources = [ "rtc_event_log/rtc_event_log2rtp_dump.cc" ]
390      deps = [
391        ":rtc_event_log_parser",
392        "../api:array_view",
393        "../api:rtp_headers",
394        "../api/rtc_event_log",
395        "../modules/rtp_rtcp",
396        "../modules/rtp_rtcp:rtp_rtcp_format",
397        "../rtc_base:checks",
398        "../rtc_base:protobuf_utils",
399        "../rtc_base:rtc_base_approved",
400        "../test:rtp_test_utils",
401        "//third_party/abseil-cpp/absl/flags:flag",
402        "//third_party/abseil-cpp/absl/flags:parse",
403        "//third_party/abseil-cpp/absl/flags:usage",
404        "//third_party/abseil-cpp/absl/memory",
405        "//third_party/abseil-cpp/absl/types:optional",
406      ]
407    }
408  }
409}
410
411rtc_library("ice_log") {
412  sources = [
413    "rtc_event_log/events/rtc_event_dtls_transport_state.cc",
414    "rtc_event_log/events/rtc_event_dtls_transport_state.h",
415    "rtc_event_log/events/rtc_event_dtls_writable_state.cc",
416    "rtc_event_log/events/rtc_event_dtls_writable_state.h",
417    "rtc_event_log/events/rtc_event_ice_candidate_pair.cc",
418    "rtc_event_log/events/rtc_event_ice_candidate_pair.h",
419    "rtc_event_log/events/rtc_event_ice_candidate_pair_config.cc",
420    "rtc_event_log/events/rtc_event_ice_candidate_pair_config.h",
421    "rtc_event_log/ice_logger.cc",
422    "rtc_event_log/ice_logger.h",
423  ]
424
425  deps = [
426    "../api:libjingle_logging_api",
427    "../api:libjingle_peerconnection_api",  # For api/dtls_transport_interface.h
428    "../api/rtc_event_log",
429    "../rtc_base:rtc_base_approved",
430  ]
431  absl_deps = [ "//third_party/abseil-cpp/absl/memory" ]
432}
433
434if (rtc_include_tests) {
435  rtc_library("mocks") {
436    testonly = true
437    sources = [
438      "rtc_event_log/mock/mock_rtc_event_log.cc",
439      "rtc_event_log/mock/mock_rtc_event_log.h",
440    ]
441    deps = [
442      "../api/rtc_event_log",
443      "../test:test_support",
444    ]
445  }
446}
447