xref: /aosp_15_r20/external/webrtc/modules/pacing/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2*d9f75844SAndroid Build Coastguard Worker#
3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Workerimport("../../webrtc.gni")
10*d9f75844SAndroid Build Coastguard Worker
11*d9f75844SAndroid Build Coastguard Workerrtc_library("pacing") {
12*d9f75844SAndroid Build Coastguard Worker  # Client code SHOULD NOT USE THIS TARGET, but for now it needs to be public
13*d9f75844SAndroid Build Coastguard Worker  # because there exists client code that uses it.
14*d9f75844SAndroid Build Coastguard Worker  # TODO(bugs.webrtc.org/9808): Move to private visibility as soon as that
15*d9f75844SAndroid Build Coastguard Worker  # client code gets updated.
16*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
17*d9f75844SAndroid Build Coastguard Worker  sources = [
18*d9f75844SAndroid Build Coastguard Worker    "bitrate_prober.cc",
19*d9f75844SAndroid Build Coastguard Worker    "bitrate_prober.h",
20*d9f75844SAndroid Build Coastguard Worker    "pacing_controller.cc",
21*d9f75844SAndroid Build Coastguard Worker    "pacing_controller.h",
22*d9f75844SAndroid Build Coastguard Worker    "packet_router.cc",
23*d9f75844SAndroid Build Coastguard Worker    "packet_router.h",
24*d9f75844SAndroid Build Coastguard Worker    "prioritized_packet_queue.cc",
25*d9f75844SAndroid Build Coastguard Worker    "prioritized_packet_queue.h",
26*d9f75844SAndroid Build Coastguard Worker    "rtp_packet_pacer.h",
27*d9f75844SAndroid Build Coastguard Worker    "task_queue_paced_sender.cc",
28*d9f75844SAndroid Build Coastguard Worker    "task_queue_paced_sender.h",
29*d9f75844SAndroid Build Coastguard Worker  ]
30*d9f75844SAndroid Build Coastguard Worker
31*d9f75844SAndroid Build Coastguard Worker  deps = [
32*d9f75844SAndroid Build Coastguard Worker    ":interval_budget",
33*d9f75844SAndroid Build Coastguard Worker    "../../api:field_trials_view",
34*d9f75844SAndroid Build Coastguard Worker    "../../api:field_trials_view",
35*d9f75844SAndroid Build Coastguard Worker    "../../api:function_view",
36*d9f75844SAndroid Build Coastguard Worker    "../../api:sequence_checker",
37*d9f75844SAndroid Build Coastguard Worker    "../../api/rtc_event_log",
38*d9f75844SAndroid Build Coastguard Worker    "../../api/task_queue:pending_task_safety_flag",
39*d9f75844SAndroid Build Coastguard Worker    "../../api/task_queue:task_queue",
40*d9f75844SAndroid Build Coastguard Worker    "../../api/transport:field_trial_based_config",
41*d9f75844SAndroid Build Coastguard Worker    "../../api/transport:network_control",
42*d9f75844SAndroid Build Coastguard Worker    "../../api/units:data_rate",
43*d9f75844SAndroid Build Coastguard Worker    "../../api/units:data_size",
44*d9f75844SAndroid Build Coastguard Worker    "../../api/units:time_delta",
45*d9f75844SAndroid Build Coastguard Worker    "../../api/units:timestamp",
46*d9f75844SAndroid Build Coastguard Worker    "../../logging:rtc_event_bwe",
47*d9f75844SAndroid Build Coastguard Worker    "../../logging:rtc_event_pacing",
48*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
49*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
50*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
51*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
52*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_numerics",
53*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_task_queue",
54*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:timeutils",
55*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:field_trial_parser",
56*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/synchronization:mutex",
57*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:unused",
58*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
59*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:metrics",
60*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp",
61*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_rtcp_format",
62*d9f75844SAndroid Build Coastguard Worker    "../utility:utility",
63*d9f75844SAndroid Build Coastguard Worker  ]
64*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
65*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
66*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
67*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
68*d9f75844SAndroid Build Coastguard Worker  ]
69*d9f75844SAndroid Build Coastguard Worker}
70*d9f75844SAndroid Build Coastguard Worker
71*d9f75844SAndroid Build Coastguard Workerrtc_library("interval_budget") {
72*d9f75844SAndroid Build Coastguard Worker  sources = [
73*d9f75844SAndroid Build Coastguard Worker    "interval_budget.cc",
74*d9f75844SAndroid Build Coastguard Worker    "interval_budget.h",
75*d9f75844SAndroid Build Coastguard Worker  ]
76*d9f75844SAndroid Build Coastguard Worker
77*d9f75844SAndroid Build Coastguard Worker  deps = [
78*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
79*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:safe_conversions",
80*d9f75844SAndroid Build Coastguard Worker  ]
81*d9f75844SAndroid Build Coastguard Worker}
82*d9f75844SAndroid Build Coastguard Worker
83*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) {
84*d9f75844SAndroid Build Coastguard Worker  rtc_library("pacing_unittests") {
85*d9f75844SAndroid Build Coastguard Worker    testonly = true
86*d9f75844SAndroid Build Coastguard Worker
87*d9f75844SAndroid Build Coastguard Worker    sources = [
88*d9f75844SAndroid Build Coastguard Worker      "bitrate_prober_unittest.cc",
89*d9f75844SAndroid Build Coastguard Worker      "interval_budget_unittest.cc",
90*d9f75844SAndroid Build Coastguard Worker      "pacing_controller_unittest.cc",
91*d9f75844SAndroid Build Coastguard Worker      "packet_router_unittest.cc",
92*d9f75844SAndroid Build Coastguard Worker      "prioritized_packet_queue_unittest.cc",
93*d9f75844SAndroid Build Coastguard Worker      "task_queue_paced_sender_unittest.cc",
94*d9f75844SAndroid Build Coastguard Worker    ]
95*d9f75844SAndroid Build Coastguard Worker    deps = [
96*d9f75844SAndroid Build Coastguard Worker      ":interval_budget",
97*d9f75844SAndroid Build Coastguard Worker      ":pacing",
98*d9f75844SAndroid Build Coastguard Worker      "../../api/task_queue:task_queue",
99*d9f75844SAndroid Build Coastguard Worker      "../../api/transport:network_control",
100*d9f75844SAndroid Build Coastguard Worker      "../../api/units:data_rate",
101*d9f75844SAndroid Build Coastguard Worker      "../../api/units:time_delta",
102*d9f75844SAndroid Build Coastguard Worker      "../../api/units:timestamp",
103*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
104*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:rtc_base_tests_utils",
105*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base/experiments:alr_experiment",
106*d9f75844SAndroid Build Coastguard Worker      "../../system_wrappers",
107*d9f75844SAndroid Build Coastguard Worker      "../../test:explicit_key_value_config",
108*d9f75844SAndroid Build Coastguard Worker      "../../test:scoped_key_value_config",
109*d9f75844SAndroid Build Coastguard Worker      "../../test:test_support",
110*d9f75844SAndroid Build Coastguard Worker      "../../test/time_controller:time_controller",
111*d9f75844SAndroid Build Coastguard Worker      "../rtp_rtcp",
112*d9f75844SAndroid Build Coastguard Worker      "../rtp_rtcp:mock_rtp_rtcp",
113*d9f75844SAndroid Build Coastguard Worker      "../rtp_rtcp:rtp_rtcp_format",
114*d9f75844SAndroid Build Coastguard Worker    ]
115*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable" ]
116*d9f75844SAndroid Build Coastguard Worker  }
117*d9f75844SAndroid Build Coastguard Worker}
118