Restructure RtcpTransceiver tests to use fake time instead of real time

to make tests faster and more determenistic.

Bug: webrtc:8239
Change-Id: I18067251a1f1a349fda28bbfbb59bce333bfddca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201737
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36938}
This commit is contained in:
Danil Chapovalov
2022-05-19 15:07:56 +02:00
committed by WebRTC LUCI CQ
parent f2c710852e
commit fa6ec69232
5 changed files with 248 additions and 329 deletions

View File

@ -37,7 +37,7 @@
#include "rtc_base/numerics/divide_round.h"
#include "rtc_base/task_utils/repeating_task.h"
#include "rtc_base/task_utils/to_queued_task.h"
#include "rtc_base/time_utils.h"
#include "system_wrappers/include/clock.h"
namespace webrtc {
namespace {
@ -562,13 +562,15 @@ void RtcpTransceiverImpl::ReschedulePeriodicCompoundPackets() {
}
void RtcpTransceiverImpl::SchedulePeriodicCompoundPackets(TimeDelta delay) {
periodic_task_handle_ =
RepeatingTaskHandle::DelayedStart(config_.task_queue, delay, [this] {
periodic_task_handle_ = RepeatingTaskHandle::DelayedStart(
config_.task_queue, delay,
[this] {
RTC_DCHECK(config_.schedule_periodic_compound_packets);
RTC_DCHECK(ready_to_send_);
SendPeriodicCompoundPacket();
return config_.report_period;
});
},
TaskQueueBase::DelayPrecision::kLow, config_.clock);
}
std::vector<uint32_t> RtcpTransceiverImpl::FillReports(