aboutsummaryrefslogtreecommitdiff
path: root/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
diff options
context:
space:
mode:
authorstefan@webrtc.org <stefan@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2014-03-06 15:46:46 +0000
committerstefan@webrtc.org <stefan@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2014-03-06 15:46:46 +0000
commit45846977f962cb06a8dc33b6b39bcb28c321f21d (patch)
treecff042ce8554690e2dc4a440d3b536117c61e1e5 /webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
parented865b5d460ae0046e5a56a22a7041d533cbdb02 (diff)
downloadwebrtc-45846977f962cb06a8dc33b6b39bcb28c321f21d.tar.gz
Fixes a bug in the simulation framework where the time offset is accumulating as the packet trace is repeated, causing increasingly large gaps with no packets being transmitted.
R=solenberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/9469004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5650 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc')
-rw-r--r--webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc5
1 files changed, 4 insertions, 1 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 546ae2c400..86506fb1b7 100644
--- a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
+++ b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
@@ -335,6 +335,7 @@ void ChokeFilter::RunFor(int64_t /*time_ms*/, Packets* in_out) {
TraceBasedDeliveryFilter::TraceBasedDeliveryFilter(
PacketProcessorListener* listener)
: PacketProcessor(listener),
+ current_offset_us_(0),
delivery_times_us_(),
next_delivery_it_(),
local_time_us_(-1),
@@ -345,6 +346,7 @@ TraceBasedDeliveryFilter::TraceBasedDeliveryFilter(
PacketProcessorListener* listener,
const std::string& name)
: PacketProcessor(listener),
+ current_offset_us_(0),
delivery_times_us_(),
next_delivery_it_(),
local_time_us_(-1),
@@ -409,8 +411,9 @@ void TraceBasedDeliveryFilter::ProceedToNextSlot() {
// When the trace wraps we allow two packets to be sent back-to-back.
for (TimeList::iterator it = delivery_times_us_.begin();
it != delivery_times_us_.end(); ++it) {
- *it += local_time_us_;
+ *it += local_time_us_ - current_offset_us_;
}
+ current_offset_us_ += local_time_us_ - current_offset_us_;
next_delivery_it_ = delivery_times_us_.begin();
}
}