blob: 090c261e4e5ea535426e45fa2170d42e91f204ef [file] [log] [blame]
nissecae45d02017-04-24 05:53:20 -07001/*
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#include "call/rtp_transport_controller_send.h"
nissecae45d02017-04-24 05:53:20 -070012
13namespace webrtc {
14
15RtpTransportControllerSend::RtpTransportControllerSend(
16 Clock* clock,
17 webrtc::RtcEventLog* event_log)
Stefan Holmer5c8942a2017-08-22 16:16:44 +020018 : pacer_(clock, &packet_router_, event_log),
19 send_side_cc_(clock, nullptr /* observer */, event_log, &pacer_) {}
nissecae45d02017-04-24 05:53:20 -070020
nisse76e62b02017-05-31 02:24:52 -070021PacketRouter* RtpTransportControllerSend::packet_router() {
22 return &packet_router_;
23}
24
Stefan Holmer5c8942a2017-08-22 16:16:44 +020025PacedSender* RtpTransportControllerSend::pacer() {
26 return &pacer_;
27}
28
nisse76e62b02017-05-31 02:24:52 -070029SendSideCongestionController* RtpTransportControllerSend::send_side_cc() {
30 return &send_side_cc_;
31}
32
33TransportFeedbackObserver*
34RtpTransportControllerSend::transport_feedback_observer() {
35 return &send_side_cc_;
36}
37
38RtpPacketSender* RtpTransportControllerSend::packet_sender() {
Stefan Holmer5c8942a2017-08-22 16:16:44 +020039 return &pacer_;
nisse76e62b02017-05-31 02:24:52 -070040}
41
sprangdb2a9fc2017-08-09 06:42:32 -070042const RtpKeepAliveConfig& RtpTransportControllerSend::keepalive_config() const {
43 return keepalive_;
44}
45
Stefan Holmer5c8942a2017-08-22 16:16:44 +020046void RtpTransportControllerSend::SetAllocatedSendBitrateLimits(
47 int min_send_bitrate_bps,
48 int max_padding_bitrate_bps) {
49 pacer_.SetSendBitrateLimits(min_send_bitrate_bps, max_padding_bitrate_bps);
50}
51
sprangdb2a9fc2017-08-09 06:42:32 -070052void RtpTransportControllerSend::SetKeepAliveConfig(
53 const RtpKeepAliveConfig& config) {
54 keepalive_ = config;
55}
56
nissecae45d02017-04-24 05:53:20 -070057} // namespace webrtc