Chromium Code Reviews| Index: webrtc/call/rampup_tests.cc |
| diff --git a/webrtc/call/rampup_tests.cc b/webrtc/call/rampup_tests.cc |
| index 94153b08ae62287978313b3cfcef526f6037e017..05868fdd0d0418eee2e8ed396013d9528f205701 100644 |
| --- a/webrtc/call/rampup_tests.cc |
| +++ b/webrtc/call/rampup_tests.cc |
| @@ -282,25 +282,25 @@ void RampUpTester::OnCallsCreated(Call* sender_call, Call* receiver_call) { |
| sender_call_ = sender_call; |
| } |
| -bool RampUpTester::BitrateStatsPollingThread(void* obj) { |
| - return static_cast<RampUpTester*>(obj)->PollStats(); |
| -} |
| - |
| -bool RampUpTester::PollStats() { |
| - if (sender_call_) { |
| - Call::Stats stats = sender_call_->GetStats(); |
| - |
| - EXPECT_GE(stats.send_bandwidth_bps, start_bitrate_bps_); |
| - EXPECT_GE(expected_bitrate_bps_, 0); |
| - if (stats.send_bandwidth_bps >= expected_bitrate_bps_ && |
| - (min_run_time_ms_ == -1 || |
| - clock_->TimeInMilliseconds() - test_start_ms_ >= min_run_time_ms_)) { |
| - ramp_up_finished_ms_ = clock_->TimeInMilliseconds(); |
| - observation_complete_.Set(); |
| +void RampUpTester::BitrateStatsPollingThread(void* obj) { |
| + static_cast<RampUpTester*>(obj)->PollStats(); |
| +} |
| + |
| +void RampUpTester::PollStats() { |
| + do { |
| + if (sender_call_) { |
| + Call::Stats stats = sender_call_->GetStats(); |
| + |
| + EXPECT_GE(stats.send_bandwidth_bps, start_bitrate_bps_); |
| + EXPECT_GE(expected_bitrate_bps_, 0); |
| + if (stats.send_bandwidth_bps >= expected_bitrate_bps_ && |
| + (min_run_time_ms_ == -1 || |
| + clock_->TimeInMilliseconds() - test_start_ms_ >= min_run_time_ms_)) { |
| + ramp_up_finished_ms_ = clock_->TimeInMilliseconds(); |
| + observation_complete_.Set(); |
| + } |
| } |
| - } |
| - |
| - return !event_.Wait(kPollIntervalMs); |
| + } while (!event_.Wait(kPollIntervalMs)); |
|
the sun
2017/02/22 13:42:57
It looks like RampUpTester::PerformTest() intends
tommi
2017/02/22 15:04:01
Indeed! Thanks for catching. It turns out that th
the sun
2017/02/22 16:31:30
I looked at the other places in your CL, and they
|
| } |
| void RampUpTester::ReportResult(const std::string& measurement, |
| @@ -415,22 +415,22 @@ RampUpDownUpTester::RampUpDownUpTester(size_t num_video_streams, |
| RampUpDownUpTester::~RampUpDownUpTester() {} |
| -bool RampUpDownUpTester::PollStats() { |
| - if (send_stream_) { |
| - webrtc::VideoSendStream::Stats stats = send_stream_->GetStats(); |
| - int transmit_bitrate_bps = 0; |
| - for (auto it : stats.substreams) { |
| - transmit_bitrate_bps += it.second.total_bitrate_bps; |
| +void RampUpDownUpTester::PollStats() { |
|
the sun
2017/02/22 13:42:58
oh, crikey, PollStats is overloaded...
tommi
2017/02/22 15:04:01
Acknowledged.
|
| + do { |
| + if (send_stream_) { |
| + webrtc::VideoSendStream::Stats stats = send_stream_->GetStats(); |
| + int transmit_bitrate_bps = 0; |
| + for (auto it : stats.substreams) { |
| + transmit_bitrate_bps += it.second.total_bitrate_bps; |
| + } |
| + EvolveTestState(transmit_bitrate_bps, stats.suspended); |
| + } else if (num_audio_streams_ > 0 && sender_call_ != nullptr) { |
| + // An audio send stream doesn't have bitrate stats, so the call send BW is |
| + // currently used instead. |
| + int transmit_bitrate_bps = sender_call_->GetStats().send_bandwidth_bps; |
| + EvolveTestState(transmit_bitrate_bps, false); |
| } |
| - EvolveTestState(transmit_bitrate_bps, stats.suspended); |
| - } else if (num_audio_streams_ > 0 && sender_call_ != nullptr) { |
| - // An audio send stream doesn't have bitrate stats, so the call send BW is |
| - // currently used instead. |
| - int transmit_bitrate_bps = sender_call_->GetStats().send_bandwidth_bps; |
| - EvolveTestState(transmit_bitrate_bps, false); |
| - } |
| - |
| - return !event_.Wait(kPollIntervalMs); |
| + } while (!event_.Wait(kPollIntervalMs)); |
| } |
| Call::Config RampUpDownUpTester::GetReceiverCallConfig() { |