Move FecController to RtpVideoSender.
This also moves the packet feedback tracking to RtpVideoSender.
Bug: webrtc:9517
Change-Id: Ifb1ff85051730108a0b0d1dd30f6f8595ad2af6e
Reviewed-on: https://webrtc-review.googlesource.com/c/95920
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25019}diff --git a/call/rtp_transport_controller_send_interface.h b/call/rtp_transport_controller_send_interface.h
index 828fec4..5c51c54 100644
--- a/call/rtp_transport_controller_send_interface.h
+++ b/call/rtp_transport_controller_send_interface.h
@@ -14,11 +14,13 @@
#include <stdint.h>
#include <map>
+#include <memory>
#include <string>
#include <vector>
#include "absl/types/optional.h"
#include "api/bitrate_constraints.h"
+#include "api/fec_controller.h"
#include "api/transport/bitrate_settings.h"
#include "call/rtp_config.h"
#include "logging/rtc_event_log/rtc_event_log.h"
@@ -58,7 +60,6 @@
RtcpPacketTypeCounterObserver* rtcp_type_observer;
SendSideDelayObserver* send_delay_observer;
SendPacketObserver* send_packet_observer;
- OverheadObserver* overhead_observer;
};
// An RtpTransportController should own everything related to the RTP
@@ -99,7 +100,8 @@
const RtcpConfig& rtcp_config,
Transport* send_transport,
const RtpSenderObservers& observers,
- RtcEventLog* event_log) = 0;
+ RtcEventLog* event_log,
+ std::unique_ptr<FecController> fec_controller) = 0;
virtual void DestroyRtpVideoSender(
RtpVideoSenderInterface* rtp_video_sender) = 0;
@@ -149,6 +151,9 @@
const BitrateSettings& preferences) = 0;
virtual void SetAllocatedBitrateWithoutFeedback(uint32_t bitrate_bps) = 0;
+
+ virtual void OnTransportOverheadChanged(
+ size_t transport_overhead_per_packet) = 0;
};
} // namespace webrtc