Chromium Code Reviews| Index: webrtc/video/end_to_end_tests.cc |
| diff --git a/webrtc/video/end_to_end_tests.cc b/webrtc/video/end_to_end_tests.cc |
| index bf512d2592c5233493f9c459a686ea95e4fd9bdd..c4005507bd94df7e81a19637ec33e14166129da2 100644 |
| --- a/webrtc/video/end_to_end_tests.cc |
| +++ b/webrtc/video/end_to_end_tests.cc |
| @@ -2145,45 +2145,45 @@ TEST_P(EndToEndTest, RembWithSendSideBwe) { |
| sender_call_ = sender_call; |
| } |
| - static bool BitrateStatsPollingThread(void* obj) { |
| - return static_cast<BweObserver*>(obj)->PollStats(); |
| - } |
| - |
| - bool PollStats() { |
| - if (sender_call_) { |
| - Call::Stats stats = sender_call_->GetStats(); |
| - switch (state_) { |
| - case kWaitForFirstRampUp: |
| - if (stats.send_bandwidth_bps >= remb_bitrate_bps_) { |
| - state_ = kWaitForRemb; |
| - remb_bitrate_bps_ /= 2; |
| - rtp_rtcp_->SetREMBData( |
| - remb_bitrate_bps_, |
| - std::vector<uint32_t>(&sender_ssrc_, &sender_ssrc_ + 1)); |
| - rtp_rtcp_->SendRTCP(kRtcpRr); |
| - } |
| - break; |
| - |
| - case kWaitForRemb: |
| - if (stats.send_bandwidth_bps == remb_bitrate_bps_) { |
| - state_ = kWaitForSecondRampUp; |
| - remb_bitrate_bps_ *= 2; |
| - rtp_rtcp_->SetREMBData( |
| - remb_bitrate_bps_, |
| - std::vector<uint32_t>(&sender_ssrc_, &sender_ssrc_ + 1)); |
| - rtp_rtcp_->SendRTCP(kRtcpRr); |
| - } |
| - break; |
| - |
| - case kWaitForSecondRampUp: |
| - if (stats.send_bandwidth_bps == remb_bitrate_bps_) { |
| - observation_complete_.Set(); |
| - } |
| - break; |
| + static void BitrateStatsPollingThread(void* obj) { |
| + static_cast<BweObserver*>(obj)->PollStats(); |
| + } |
| + |
| + void PollStats() { |
| + do { |
| + if (sender_call_) { |
| + Call::Stats stats = sender_call_->GetStats(); |
| + switch (state_) { |
| + case kWaitForFirstRampUp: |
| + if (stats.send_bandwidth_bps >= remb_bitrate_bps_) { |
| + state_ = kWaitForRemb; |
| + remb_bitrate_bps_ /= 2; |
| + rtp_rtcp_->SetREMBData( |
| + remb_bitrate_bps_, |
| + std::vector<uint32_t>(&sender_ssrc_, &sender_ssrc_ + 1)); |
| + rtp_rtcp_->SendRTCP(kRtcpRr); |
| + } |
| + break; |
| + |
| + case kWaitForRemb: |
| + if (stats.send_bandwidth_bps == remb_bitrate_bps_) { |
| + state_ = kWaitForSecondRampUp; |
| + remb_bitrate_bps_ *= 2; |
| + rtp_rtcp_->SetREMBData( |
| + remb_bitrate_bps_, |
| + std::vector<uint32_t>(&sender_ssrc_, &sender_ssrc_ + 1)); |
| + rtp_rtcp_->SendRTCP(kRtcpRr); |
| + } |
| + break; |
| + |
| + case kWaitForSecondRampUp: |
| + if (stats.send_bandwidth_bps == remb_bitrate_bps_) { |
| + observation_complete_.Set(); |
| + } |
| + break; |
| + } |
| } |
| - } |
| - |
| - return !stop_event_.Wait(1000); |
| + } while (!stop_event_.Wait(1000)); |
|
the sun
2017/02/22 13:42:58
note: this appears to work since stop_event_.Set()
tommi
2017/02/22 15:04:01
Yes, that's the case I found and fixed yesterday.
|
| } |
| void PerformTest() override { |