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:

committed by
WebRTC LUCI CQ

parent
f2c710852e
commit
fa6ec69232
@ -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",
|
||||
|
@ -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 {
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
Reference in New Issue
Block a user