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

@ -606,12 +606,14 @@ if (rtc_include_tests) {
":rtp_rtcp_format",
":rtp_rtcp_legacy",
"../../api:array_view",
"../../api:create_time_controller",
"../../api:libjingle_peerconnection_api",
"../../api:mock_frame_encryptor",
"../../api:rtp_headers",
"../../api:rtp_packet_info",
"../../api:rtp_parameters",
"../../api:scoped_refptr",
"../../api:time_controller",
"../../api:transport_api",
"../../api/rtc_event_log",
"../../api/transport:field_trial_based_config",

View File

@ -19,7 +19,7 @@
#include "rtc_base/checks.h"
#include "rtc_base/event.h"
#include "rtc_base/task_utils/to_queued_task.h"
#include "rtc_base/time_utils.h"
#include "system_wrappers/include/clock.h"
namespace webrtc {

View File

@ -44,6 +44,10 @@ bool RtcpTransceiverConfig::Validate() const {
<< " more than " << IP_PACKET_SIZE << " is unsupported.";
return false;
}
if (clock == nullptr) {
RTC_LOG(LS_ERROR) << debug_id << "clock must be set";
return false;
}
if (!outgoing_transport) {
RTC_LOG(LS_ERROR) << debug_id << "outgoing transport must be set";
return false;

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(

File diff suppressed because it is too large Load Diff