Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(269)

Side by Side Diff: webrtc/video/end_to_end_tests.cc

Issue 2708723003: Introduce new constructor to PlatformThread. (Closed)
Patch Set: Update IncomingVideoStream again Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 #include <algorithm> 10 #include <algorithm>
(...skipping 2127 matching lines...) Expand 10 before | Expand all | Expand 10 after
2138 rtp_rtcp_->SetSSRC((*receive_configs)[0].rtp.local_ssrc); 2138 rtp_rtcp_->SetSSRC((*receive_configs)[0].rtp.local_ssrc);
2139 rtp_rtcp_->SetREMBStatus(true); 2139 rtp_rtcp_->SetREMBStatus(true);
2140 rtp_rtcp_->SetSendingStatus(true); 2140 rtp_rtcp_->SetSendingStatus(true);
2141 rtp_rtcp_->SetRTCPStatus(RtcpMode::kReducedSize); 2141 rtp_rtcp_->SetRTCPStatus(RtcpMode::kReducedSize);
2142 } 2142 }
2143 2143
2144 void OnCallsCreated(Call* sender_call, Call* receiver_call) override { 2144 void OnCallsCreated(Call* sender_call, Call* receiver_call) override {
2145 sender_call_ = sender_call; 2145 sender_call_ = sender_call;
2146 } 2146 }
2147 2147
2148 static bool BitrateStatsPollingThread(void* obj) { 2148 static void BitrateStatsPollingThread(void* obj) {
2149 return static_cast<BweObserver*>(obj)->PollStats(); 2149 static_cast<BweObserver*>(obj)->PollStats();
2150 } 2150 }
2151 2151
2152 bool PollStats() { 2152 void PollStats() {
2153 if (sender_call_) { 2153 do {
2154 Call::Stats stats = sender_call_->GetStats(); 2154 if (sender_call_) {
2155 switch (state_) { 2155 Call::Stats stats = sender_call_->GetStats();
2156 case kWaitForFirstRampUp: 2156 switch (state_) {
2157 if (stats.send_bandwidth_bps >= remb_bitrate_bps_) { 2157 case kWaitForFirstRampUp:
2158 state_ = kWaitForRemb; 2158 if (stats.send_bandwidth_bps >= remb_bitrate_bps_) {
2159 remb_bitrate_bps_ /= 2; 2159 state_ = kWaitForRemb;
2160 rtp_rtcp_->SetREMBData( 2160 remb_bitrate_bps_ /= 2;
2161 remb_bitrate_bps_, 2161 rtp_rtcp_->SetREMBData(
2162 std::vector<uint32_t>(&sender_ssrc_, &sender_ssrc_ + 1)); 2162 remb_bitrate_bps_,
2163 rtp_rtcp_->SendRTCP(kRtcpRr); 2163 std::vector<uint32_t>(&sender_ssrc_, &sender_ssrc_ + 1));
2164 } 2164 rtp_rtcp_->SendRTCP(kRtcpRr);
2165 break; 2165 }
2166 break;
2166 2167
2167 case kWaitForRemb: 2168 case kWaitForRemb:
2168 if (stats.send_bandwidth_bps == remb_bitrate_bps_) { 2169 if (stats.send_bandwidth_bps == remb_bitrate_bps_) {
2169 state_ = kWaitForSecondRampUp; 2170 state_ = kWaitForSecondRampUp;
2170 remb_bitrate_bps_ *= 2; 2171 remb_bitrate_bps_ *= 2;
2171 rtp_rtcp_->SetREMBData( 2172 rtp_rtcp_->SetREMBData(
2172 remb_bitrate_bps_, 2173 remb_bitrate_bps_,
2173 std::vector<uint32_t>(&sender_ssrc_, &sender_ssrc_ + 1)); 2174 std::vector<uint32_t>(&sender_ssrc_, &sender_ssrc_ + 1));
2174 rtp_rtcp_->SendRTCP(kRtcpRr); 2175 rtp_rtcp_->SendRTCP(kRtcpRr);
2175 } 2176 }
2176 break; 2177 break;
2177 2178
2178 case kWaitForSecondRampUp: 2179 case kWaitForSecondRampUp:
2179 if (stats.send_bandwidth_bps == remb_bitrate_bps_) { 2180 if (stats.send_bandwidth_bps == remb_bitrate_bps_) {
2180 observation_complete_.Set(); 2181 observation_complete_.Set();
2181 } 2182 }
2182 break; 2183 break;
2184 }
2183 } 2185 }
2184 } 2186 } 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.
2185
2186 return !stop_event_.Wait(1000);
2187 } 2187 }
2188 2188
2189 void PerformTest() override { 2189 void PerformTest() override {
2190 poller_thread_.Start(); 2190 poller_thread_.Start();
2191 EXPECT_TRUE(Wait()) 2191 EXPECT_TRUE(Wait())
2192 << "Timed out while waiting for bitrate to change according to REMB."; 2192 << "Timed out while waiting for bitrate to change according to REMB.";
2193 stop_event_.Set(); 2193 stop_event_.Set();
2194 poller_thread_.Stop(); 2194 poller_thread_.Stop();
2195 } 2195 }
2196 2196
(...skipping 1993 matching lines...) Expand 10 before | Expand all | Expand 10 after
4190 std::unique_ptr<VideoEncoder> encoder_; 4190 std::unique_ptr<VideoEncoder> encoder_;
4191 std::unique_ptr<VideoDecoder> decoder_; 4191 std::unique_ptr<VideoDecoder> decoder_;
4192 rtc::CriticalSection crit_; 4192 rtc::CriticalSection crit_;
4193 int recorded_frames_ GUARDED_BY(crit_); 4193 int recorded_frames_ GUARDED_BY(crit_);
4194 } test(this); 4194 } test(this);
4195 4195
4196 RunBaseTest(&test); 4196 RunBaseTest(&test);
4197 } 4197 }
4198 4198
4199 } // namespace webrtc 4199 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698