From 0908d0dcf227b78c55ba4d59d7f5eadcc95af75b Mon Sep 17 00:00:00 2001 From: Stefan Holmer Date: Mon, 1 Jun 2015 10:20:26 +0200 Subject: [PATCH] Fix issue with RTT computations in simulator. R=magalhaesc@google.com Review URL: https://webrtc-codereview.appspot.com/56429005 Cr-Commit-Position: refs/heads/master@{#9343} --- .../test/bwe_test_framework.cc | 1 + .../test/estimators/send_side.cc | 6 ++++-- .../remote_bitrate_estimator/test/packet_sender.cc | 12 +++--------- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc index 4beb34d333..ad1f5fd5bf 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc +++ b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc @@ -676,6 +676,7 @@ void VideoSource::RunFor(int64_t time_ms, Packets* in_out) { new MediaPacket(flow_id_, send_time_us, size, prototype_header_); new_packets.push_back(new_packet); new_packet->SetAbsSendTimeMs(next_frame_ms_); + new_packet->set_sender_timestamp_us(send_time_us); payload_size -= size; } diff --git a/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc b/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc index 5111e921e5..f7074d27e9 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc +++ b/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc @@ -17,6 +17,8 @@ namespace webrtc { namespace testing { namespace bwe { +const int kFeedbackIntervalMs = 50; + FullBweSender::FullBweSender(int kbps, BitrateObserver* observer, Clock* clock) : bitrate_controller_( BitrateController::CreateBitrateController(clock, observer)), @@ -38,7 +40,7 @@ FullBweSender::~FullBweSender() { } int FullBweSender::GetFeedbackIntervalMs() const { - return 100; + return kFeedbackIntervalMs; } void FullBweSender::GiveFeedback(const FeedbackPacket& feedback) { @@ -128,7 +130,7 @@ void SendSideBweReceiver::ReceivePacket(int64_t arrival_time_ms, } FeedbackPacket* SendSideBweReceiver::GetFeedback(int64_t now_ms) { - if (now_ms - last_feedback_ms_ < 100) + if (now_ms - last_feedback_ms_ < kFeedbackIntervalMs) return NULL; last_feedback_ms_ = now_ms; int64_t corrected_send_time_ms = diff --git a/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc b/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc index c3334460e7..eeaec86589 100644 --- a/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc +++ b/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc @@ -40,12 +40,6 @@ std::list GetFeedbackPackets(Packets* in_out, return fb_packets; } -void PacketSender::SetSenderTimestamps(Packets* in_out) { - for (auto it = in_out->begin(); it != in_out->end(); ++it) { - (*it)->set_sender_timestamp_us(clock_.TimeInMilliseconds() * 1000); - } -} - VideoSender::VideoSender(PacketProcessorListener* listener, VideoSource* source, BandwidthEstimatorType estimator_type) @@ -65,7 +59,6 @@ void VideoSender::RunFor(int64_t time_ms, Packets* in_out) { std::list feedbacks = GetFeedbackPackets( in_out, clock_.TimeInMilliseconds() + time_ms, source_->flow_id()); ProcessFeedbackAndGeneratePackets(time_ms, &feedbacks, in_out); - SetSenderTimestamps(in_out); } void VideoSender::ProcessFeedbackAndGeneratePackets( @@ -192,7 +185,6 @@ void PacedVideoSender::RunFor(int64_t time_ms, Packets* in_out) { } } while (clock_.TimeInMilliseconds() < end_time_ms); QueuePackets(in_out, end_time_ms * 1000); - SetSenderTimestamps(in_out); } int64_t PacedVideoSender::TimeUntilNextProcess( @@ -248,6 +240,7 @@ bool PacedVideoSender::TimeToSendPacket(uint32_t ssrc, assert(pace_out_time_ms >= (media_packet->send_time_us() + 500) / 1000); media_packet->SetAbsSendTimeMs(pace_out_time_ms); media_packet->set_send_time_us(1000 * pace_out_time_ms); + media_packet->set_sender_timestamp_us(1000 * pace_out_time_ms); queue_.push_back(media_packet); pacer_queue_.erase(it); return true; @@ -301,7 +294,6 @@ void TcpSender::RunFor(int64_t time_ms, Packets* in_out) { clock_.AdvanceTimeMilliseconds(time_ms - (clock_.TimeInMilliseconds() - start_time_ms)); SendPackets(in_out); - SetSenderTimestamps(in_out); } void TcpSender::SendPackets(Packets* in_out) { @@ -371,6 +363,8 @@ Packets TcpSender::GeneratePackets(size_t num_packets) { generated.push_back(new MediaPacket(*flow_ids().begin(), 1000 * clock_.TimeInMilliseconds(), 1200, next_sequence_number_++)); + generated.back()->set_sender_timestamp_us( + 1000 * clock_.TimeInMilliseconds()); } return generated; }