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:
@ -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 MediaPacket(flow_id_, send_time_us, size, prototype_header_);
|
||||||
new_packets.push_back(new_packet);
|
new_packets.push_back(new_packet);
|
||||||
new_packet->SetAbsSendTimeMs(next_frame_ms_);
|
new_packet->SetAbsSendTimeMs(next_frame_ms_);
|
||||||
|
new_packet->set_sender_timestamp_us(send_time_us);
|
||||||
payload_size -= size;
|
payload_size -= size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,8 @@ namespace webrtc {
|
|||||||
namespace testing {
|
namespace testing {
|
||||||
namespace bwe {
|
namespace bwe {
|
||||||
|
|
||||||
|
const int kFeedbackIntervalMs = 50;
|
||||||
|
|
||||||
FullBweSender::FullBweSender(int kbps, BitrateObserver* observer, Clock* clock)
|
FullBweSender::FullBweSender(int kbps, BitrateObserver* observer, Clock* clock)
|
||||||
: bitrate_controller_(
|
: bitrate_controller_(
|
||||||
BitrateController::CreateBitrateController(clock, observer)),
|
BitrateController::CreateBitrateController(clock, observer)),
|
||||||
@ -38,7 +40,7 @@ FullBweSender::~FullBweSender() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int FullBweSender::GetFeedbackIntervalMs() const {
|
int FullBweSender::GetFeedbackIntervalMs() const {
|
||||||
return 100;
|
return kFeedbackIntervalMs;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FullBweSender::GiveFeedback(const FeedbackPacket& feedback) {
|
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) {
|
FeedbackPacket* SendSideBweReceiver::GetFeedback(int64_t now_ms) {
|
||||||
if (now_ms - last_feedback_ms_ < 100)
|
if (now_ms - last_feedback_ms_ < kFeedbackIntervalMs)
|
||||||
return NULL;
|
return NULL;
|
||||||
last_feedback_ms_ = now_ms;
|
last_feedback_ms_ = now_ms;
|
||||||
int64_t corrected_send_time_ms =
|
int64_t corrected_send_time_ms =
|
||||||
|
@ -40,12 +40,6 @@ std::list<FeedbackPacket*> GetFeedbackPackets(Packets* in_out,
|
|||||||
return fb_packets;
|
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,
|
VideoSender::VideoSender(PacketProcessorListener* listener,
|
||||||
VideoSource* source,
|
VideoSource* source,
|
||||||
BandwidthEstimatorType estimator_type)
|
BandwidthEstimatorType estimator_type)
|
||||||
@ -65,7 +59,6 @@ void VideoSender::RunFor(int64_t time_ms, Packets* in_out) {
|
|||||||
std::list<FeedbackPacket*> feedbacks = GetFeedbackPackets(
|
std::list<FeedbackPacket*> feedbacks = GetFeedbackPackets(
|
||||||
in_out, clock_.TimeInMilliseconds() + time_ms, source_->flow_id());
|
in_out, clock_.TimeInMilliseconds() + time_ms, source_->flow_id());
|
||||||
ProcessFeedbackAndGeneratePackets(time_ms, &feedbacks, in_out);
|
ProcessFeedbackAndGeneratePackets(time_ms, &feedbacks, in_out);
|
||||||
SetSenderTimestamps(in_out);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoSender::ProcessFeedbackAndGeneratePackets(
|
void VideoSender::ProcessFeedbackAndGeneratePackets(
|
||||||
@ -192,7 +185,6 @@ void PacedVideoSender::RunFor(int64_t time_ms, Packets* in_out) {
|
|||||||
}
|
}
|
||||||
} while (clock_.TimeInMilliseconds() < end_time_ms);
|
} while (clock_.TimeInMilliseconds() < end_time_ms);
|
||||||
QueuePackets(in_out, end_time_ms * 1000);
|
QueuePackets(in_out, end_time_ms * 1000);
|
||||||
SetSenderTimestamps(in_out);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t PacedVideoSender::TimeUntilNextProcess(
|
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);
|
assert(pace_out_time_ms >= (media_packet->send_time_us() + 500) / 1000);
|
||||||
media_packet->SetAbsSendTimeMs(pace_out_time_ms);
|
media_packet->SetAbsSendTimeMs(pace_out_time_ms);
|
||||||
media_packet->set_send_time_us(1000 * 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);
|
queue_.push_back(media_packet);
|
||||||
pacer_queue_.erase(it);
|
pacer_queue_.erase(it);
|
||||||
return true;
|
return true;
|
||||||
@ -301,7 +294,6 @@ void TcpSender::RunFor(int64_t time_ms, Packets* in_out) {
|
|||||||
clock_.AdvanceTimeMilliseconds(time_ms -
|
clock_.AdvanceTimeMilliseconds(time_ms -
|
||||||
(clock_.TimeInMilliseconds() - start_time_ms));
|
(clock_.TimeInMilliseconds() - start_time_ms));
|
||||||
SendPackets(in_out);
|
SendPackets(in_out);
|
||||||
SetSenderTimestamps(in_out);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TcpSender::SendPackets(Packets* 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(),
|
generated.push_back(new MediaPacket(*flow_ids().begin(),
|
||||||
1000 * clock_.TimeInMilliseconds(),
|
1000 * clock_.TimeInMilliseconds(),
|
||||||
1200, next_sequence_number_++));
|
1200, next_sequence_number_++));
|
||||||
|
generated.back()->set_sender_timestamp_us(
|
||||||
|
1000 * clock_.TimeInMilliseconds());
|
||||||
}
|
}
|
||||||
return generated;
|
return generated;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user