Add RtpPacketPacer interface for pacer control
The PacedSender is being reworked and will need an interface so we can inject different implementations of it. This CL introduces a new RtpPacketPacer interface inside the pacing module. This interface handles the details of _how_ packets should be paced, such as pacing rates/account for audio/max queue length etc. The RtpPacketSender interface exposed from the rtp_rtcp module handles only the actual sending of packets. Some minor cleanups are included here. Bug: webrtc:10809 Change-Id: I150b1a6262306d99e3f9d5f0b4afdb16a50e5ad8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145212 Reviewed-by: Sebastian Jansson <srte@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28699}
This commit is contained in:
@ -23,6 +23,7 @@
|
||||
#include "api/crypto/crypto_options.h"
|
||||
#include "api/fec_controller.h"
|
||||
#include "api/transport/bitrate_settings.h"
|
||||
#include "api/units/timestamp.h"
|
||||
#include "call/rtp_config.h"
|
||||
#include "logging/rtc_event_log/rtc_event_log.h"
|
||||
#include "modules/rtp_rtcp/include/report_block_data.h"
|
||||
@ -148,7 +149,7 @@ class RtpTransportControllerSendInterface {
|
||||
virtual void OnNetworkAvailability(bool network_available) = 0;
|
||||
virtual RtcpBandwidthObserver* GetBandwidthObserver() = 0;
|
||||
virtual int64_t GetPacerQueuingDelayMs() const = 0;
|
||||
virtual int64_t GetFirstPacketTimeMs() const = 0;
|
||||
virtual absl::optional<Timestamp> GetFirstPacketTime() const = 0;
|
||||
virtual void EnablePeriodicAlrProbing(bool enable) = 0;
|
||||
virtual void OnSentPacket(const rtc::SentPacket& sent_packet) = 0;
|
||||
virtual void OnReceivedPacket(const ReceivedPacket& received_packet) = 0;
|
||||
|
||||
Reference in New Issue
Block a user