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}
This commit is contained in:
Stefan Holmer
2015-06-01 10:20:26 +02:00
parent 9b07368bfb
commit 0908d0dcf2
3 changed files with 8 additions and 11 deletions

View File

@ -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;
}

View File

@ -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 =

View File

@ -40,12 +40,6 @@ std::list<FeedbackPacket*> 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<FeedbackPacket*> 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;
}