Use the injected clock in rtcp_transciever.

Bug: webrtc:11327
Change-Id: Idb02842f2eb679f972c0449a01a81a26ceb85827
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219789
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Paul Hallak <phallak@google.com>
Cr-Commit-Position: refs/heads/master@{#34080}
This commit is contained in:
Paul Hallak
2021-05-21 18:08:04 +02:00
committed by WebRTC LUCI CQ
parent 61a287a3cb
commit fe3dd51f32
7 changed files with 186 additions and 63 deletions

View File

@ -18,6 +18,7 @@
#include "absl/types/optional.h"
#include "api/array_view.h"
#include "api/units/timestamp.h"
#include "modules/rtp_rtcp/source/rtcp_packet/common_header.h"
#include "modules/rtp_rtcp/source/rtcp_packet/dlrr.h"
#include "modules/rtp_rtcp/source/rtcp_packet/remb.h"
@ -48,7 +49,12 @@ class RtcpTransceiverImpl {
void SetReadyToSend(bool ready);
void ReceivePacket(rtc::ArrayView<const uint8_t> packet, int64_t now_us);
// ABSL_DEPRECATED("bugs.webrtc.org/11327"): Remove this flavor once
// downstream projects migrate.
void ReceivePacket(rtc::ArrayView<const uint8_t> packet, int64_t now_us) {
ReceivePacket(packet, Timestamp::Micros(now_us));
}
void ReceivePacket(rtc::ArrayView<const uint8_t> packet, Timestamp now);
void SendCompoundPacket();
@ -76,15 +82,15 @@ class RtcpTransceiverImpl {
struct RemoteSenderState;
void HandleReceivedPacket(const rtcp::CommonHeader& rtcp_packet_header,
int64_t now_us);
Timestamp now);
// Individual rtcp packet handlers.
void HandleBye(const rtcp::CommonHeader& rtcp_packet_header);
void HandleSenderReport(const rtcp::CommonHeader& rtcp_packet_header,
int64_t now_us);
Timestamp now);
void HandleExtendedReports(const rtcp::CommonHeader& rtcp_packet_header,
int64_t now_us);
Timestamp now);
// Extended Reports blocks handlers.
void HandleDlrr(const rtcp::Dlrr& dlrr, int64_t now_us);
void HandleDlrr(const rtcp::Dlrr& dlrr, Timestamp now);
void HandleTargetBitrate(const rtcp::TargetBitrate& target_bitrate,
uint32_t remote_ssrc);
@ -97,7 +103,7 @@ class RtcpTransceiverImpl {
void SendPeriodicCompoundPacket();
void SendImmediateFeedback(const rtcp::RtcpPacket& rtcp_packet);
// Generate Report Blocks to be send in Sender or Receiver Report.
std::vector<rtcp::ReportBlock> CreateReportBlocks(int64_t now_us);
std::vector<rtcp::ReportBlock> CreateReportBlocks(Timestamp now);
const RtcpTransceiverConfig config_;