blob: 34737d2b44e94bb1b05de98a6e8c3d4fa5e507e0 [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")
skvladcc91d282016-10-03 18:31:22 -070010import("//third_party/protobuf/proto_library.gni")
11if (is_android) {
12 import("//build/config/android/config.gni")
13 import("//build/config/android/rules.gni")
14}
15
kjellander6ceab082016-10-28 05:44:03 -070016group("logging") {
17 public_deps = [
18 ":rtc_event_log_impl",
19 ]
20 if (rtc_enable_protobuf) {
21 public_deps += [ ":rtc_event_log_parser" ]
22 }
23}
24
skvladcc91d282016-10-03 18:31:22 -070025rtc_source_set("rtc_event_log_api") {
26 sources = [
Elad Alon652cc842017-10-02 11:27:52 +020027 "rtc_event_log/events/rtc_event.h",
28 "rtc_event_log/events/rtc_event_audio_network_adaptation.cc",
29 "rtc_event_log/events/rtc_event_audio_network_adaptation.h",
30 "rtc_event_log/events/rtc_event_audio_playout.cc",
31 "rtc_event_log/events/rtc_event_audio_playout.h",
32 "rtc_event_log/events/rtc_event_audio_receive_stream_config.cc",
33 "rtc_event_log/events/rtc_event_audio_receive_stream_config.h",
34 "rtc_event_log/events/rtc_event_audio_send_stream_config.cc",
35 "rtc_event_log/events/rtc_event_audio_send_stream_config.h",
36 "rtc_event_log/events/rtc_event_bwe_update_delay_based.cc",
37 "rtc_event_log/events/rtc_event_bwe_update_delay_based.h",
38 "rtc_event_log/events/rtc_event_bwe_update_loss_based.cc",
39 "rtc_event_log/events/rtc_event_bwe_update_loss_based.h",
40 "rtc_event_log/events/rtc_event_logging_started.cc",
41 "rtc_event_log/events/rtc_event_logging_started.h",
42 "rtc_event_log/events/rtc_event_logging_stopped.cc",
43 "rtc_event_log/events/rtc_event_logging_stopped.h",
44 "rtc_event_log/events/rtc_event_probe_cluster_created.cc",
45 "rtc_event_log/events/rtc_event_probe_cluster_created.h",
46 "rtc_event_log/events/rtc_event_probe_result_failure.cc",
47 "rtc_event_log/events/rtc_event_probe_result_failure.h",
48 "rtc_event_log/events/rtc_event_probe_result_success.cc",
49 "rtc_event_log/events/rtc_event_probe_result_success.h",
50 "rtc_event_log/events/rtc_event_rtcp_packet_incoming.cc",
51 "rtc_event_log/events/rtc_event_rtcp_packet_incoming.h",
52 "rtc_event_log/events/rtc_event_rtcp_packet_outgoing.cc",
53 "rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h",
54 "rtc_event_log/events/rtc_event_rtp_packet_incoming.cc",
55 "rtc_event_log/events/rtc_event_rtp_packet_incoming.h",
56 "rtc_event_log/events/rtc_event_rtp_packet_outgoing.cc",
57 "rtc_event_log/events/rtc_event_rtp_packet_outgoing.h",
58 "rtc_event_log/events/rtc_event_video_receive_stream_config.cc",
59 "rtc_event_log/events/rtc_event_video_receive_stream_config.h",
60 "rtc_event_log/events/rtc_event_video_send_stream_config.cc",
61 "rtc_event_log/events/rtc_event_video_send_stream_config.h",
skvladcc91d282016-10-03 18:31:22 -070062 "rtc_event_log/rtc_event_log.h",
zhihuang38ede132017-06-15 12:52:32 -070063 "rtc_event_log/rtc_event_log_factory_interface.h",
eladalon4bb3b9c2017-09-11 07:25:26 -070064 "rtc_event_log/rtc_stream_config.cc",
65 "rtc_event_log/rtc_stream_config.h",
skvladcc91d282016-10-03 18:31:22 -070066 ]
kjellander727ac1d2017-03-08 02:12:11 -080067 deps = [
perkj77cd58e2017-05-30 03:52:10 -070068 "..:webrtc_common",
Bjorn Terelius440216f2017-09-29 21:01:42 +020069 "../api:array_view",
Stefan Holmer1acbd682017-09-01 15:29:28 +020070 "../api:libjingle_peerconnection_api",
aleloi440b6d92017-08-22 05:43:23 -070071 "../call:video_stream_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -070072 "../rtc_base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -080073 ]
skvladcc91d282016-10-03 18:31:22 -070074}
75
76rtc_static_library("rtc_event_log_impl") {
77 sources = [
skvladcc91d282016-10-03 18:31:22 -070078 "rtc_event_log/rtc_event_log.cc",
zhihuang38ede132017-06-15 12:52:32 -070079 "rtc_event_log/rtc_event_log_factory.cc",
80 "rtc_event_log/rtc_event_log_factory.h",
skvladcc91d282016-10-03 18:31:22 -070081 ]
82
83 defines = []
84
85 deps = [
86 ":rtc_event_log_api",
87 "..:webrtc_common",
minyue4b7c9522017-01-24 04:54:59 -080088 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -070089 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
skvladcc91d282016-10-03 18:31:22 -070090 "../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -070091 "../rtc_base:protobuf_utils",
92 "../rtc_base:rtc_base_approved",
eladalon248fd4f2017-09-06 05:18:15 -070093 "../rtc_base:rtc_task_queue",
94 "../rtc_base:sequenced_task_checker",
kjellander727ac1d2017-03-08 02:12:11 -080095 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -070096 ]
97
98 if (rtc_enable_protobuf) {
99 defines += [ "ENABLE_RTC_EVENT_LOG" ]
100 deps += [ ":rtc_event_log_proto" ]
101 }
kjellandere40a7ee2016-10-16 23:56:12 -0700102 if (!build_with_chromium && is_clang) {
103 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -0700104 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
105 }
106}
107
skvladcc91d282016-10-03 18:31:22 -0700108if (rtc_enable_protobuf) {
109 proto_library("rtc_event_log_proto") {
110 sources = [
111 "rtc_event_log/rtc_event_log.proto",
112 ]
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200113 proto_out_dir = "logging/rtc_event_log"
skvladcc91d282016-10-03 18:31:22 -0700114 }
skvladcc91d282016-10-03 18:31:22 -0700115
skvladcc91d282016-10-03 18:31:22 -0700116 rtc_static_library("rtc_event_log_parser") {
117 sources = [
118 "rtc_event_log/rtc_event_log_parser.cc",
119 "rtc_event_log/rtc_event_log_parser.h",
120 ]
121
122 public_deps = [
kjellander727ac1d2017-03-08 02:12:11 -0800123 ":rtc_event_log_api",
skvladcc91d282016-10-03 18:31:22 -0700124 ":rtc_event_log_proto",
125 "..:webrtc_common",
michaeltcde46b72017-04-06 05:59:10 -0700126 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -0700127 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
kjellander727ac1d2017-03-08 02:12:11 -0800128 "../modules/rtp_rtcp:rtp_rtcp",
129 "../system_wrappers",
skvladcc91d282016-10-03 18:31:22 -0700130 ]
131
kjellandere40a7ee2016-10-16 23:56:12 -0700132 if (!build_with_chromium && is_clang) {
133 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
skvladcc91d282016-10-03 18:31:22 -0700134 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
135 }
kjellander727ac1d2017-03-08 02:12:11 -0800136 deps = [
aleloi440b6d92017-08-22 05:43:23 -0700137 "../call:video_stream_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700138 "../rtc_base:protobuf_utils",
139 "../rtc_base:rtc_base_approved",
kjellander727ac1d2017-03-08 02:12:11 -0800140 ]
skvladcc91d282016-10-03 18:31:22 -0700141 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800142
143 if (rtc_include_tests) {
144 rtc_source_set("rtc_event_log_tests") {
145 testonly = true
146 sources = [
ehmaldonado1fd08c12017-01-17 02:37:34 -0800147 "rtc_event_log/rtc_event_log_unittest.cc",
148 "rtc_event_log/rtc_event_log_unittest_helper.cc",
eladalonb5c319a2017-08-17 08:32:39 -0700149 "rtc_event_log/rtc_event_log_unittest_helper.h",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800150 ]
151 deps = [
152 ":rtc_event_log_impl",
153 ":rtc_event_log_parser",
154 "../call",
michaeltcde46b72017-04-06 05:59:10 -0700155 "../modules/audio_coding:audio_network_adaptor",
michaelt97653702017-04-11 00:49:44 -0700156 "../modules/remote_bitrate_estimator:remote_bitrate_estimator",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800157 "../modules/rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700158 "../rtc_base:rtc_base_approved",
159 "../rtc_base:rtc_base_tests_utils",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800160 "../system_wrappers:metrics_default",
kjellander727ac1d2017-03-08 02:12:11 -0800161 "../test:test_support",
ehmaldonado1fd08c12017-01-17 02:37:34 -0800162 "//testing/gmock",
163 "//testing/gtest",
164 ]
165 if (!build_with_chromium && is_clang) {
166 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
167 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
168 }
169 }
ivoc54b6e982017-02-08 00:28:09 -0800170 rtc_test("rtc_event_log2rtp_dump") {
171 testonly = true
172 sources = [
173 "rtc_event_log/rtc_event_log2rtp_dump.cc",
174 ]
175 deps = [
176 ":rtc_event_log_api",
177 ":rtc_event_log_impl",
178 ":rtc_event_log_parser",
ivoc54b6e982017-02-08 00:28:09 -0800179 "../modules/rtp_rtcp:rtp_rtcp",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700180 "../rtc_base:rtc_base_approved",
ivoc54b6e982017-02-08 00:28:09 -0800181 "../system_wrappers:field_trial_default",
182 "../system_wrappers:metrics_default",
183 "../test:rtp_test_utils",
ivoc54b6e982017-02-08 00:28:09 -0800184 ]
185 if (!build_with_chromium && is_clang) {
186 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
187 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
188 }
189 }
ehmaldonado1fd08c12017-01-17 02:37:34 -0800190 }
tereliusd4ed7f52017-02-08 04:22:53 -0800191 if (rtc_include_tests) {
192 rtc_executable("rtc_event_log2text") {
193 testonly = true
194 sources = [
195 "rtc_event_log/rtc_event_log2text.cc",
196 ]
197 deps = [
198 ":rtc_event_log_api",
199 ":rtc_event_log_impl",
200 ":rtc_event_log_parser",
Stefan Holmer1acbd682017-09-01 15:29:28 +0200201 "../call:video_stream_api",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700202 "../rtc_base:rtc_base_approved",
tereliusbb46b952017-02-08 09:37:30 -0800203
204 # TODO(kwiberg): Remove this dependency.
kwiberg087bd342017-02-10 08:15:44 -0800205 "../api/audio_codecs:audio_codecs_api",
Elad Alona96fd7f2017-09-15 16:13:21 +0200206 "../modules/audio_coding:audio_network_adaptor_config",
tereliusd4ed7f52017-02-08 04:22:53 -0800207 "../modules/rtp_rtcp:rtp_rtcp",
tereliusd4ed7f52017-02-08 04:22:53 -0800208 ]
209 if (!build_with_chromium && is_clang) {
210 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
211 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
212 }
213 }
214 }
tereliusee37e862017-04-28 07:48:17 -0700215 if (rtc_include_tests) {
216 rtc_executable("rtc_event_log2stats") {
217 testonly = true
218 sources = [
219 "rtc_event_log/rtc_event_log2stats.cc",
220 ]
221 deps = [
222 ":rtc_event_log_api",
223 ":rtc_event_log_impl",
224 ":rtc_event_log_proto",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700225 "../rtc_base:rtc_base_approved",
tereliusee37e862017-04-28 07:48:17 -0700226 ]
227 if (!build_with_chromium && is_clang) {
228 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
229 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
230 }
231 }
232 }
skvladcc91d282016-10-03 18:31:22 -0700233}