Re-comitting r5711: "Fixing a flaky test in video_engine_tests"
The CL was reverted in r5712, due to bots going red. However, these bots are unrelated to this CL. Original description: VideoSendStreamTest.SuspendBelowMinBitrate was flaky. The problem was that when the first non-padding packet was sent after the stream was resumed, the statistics had not always been updated so that stats.suspended was false. After seeing the first non-padding packet after suspension, the test will now go into a state where it waits for the statistics to be changed. BUG=3068 R=pbos@webrtc.org TBR=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/10099004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5713 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
12499ff20b
commit
ed8b281265
@ -870,7 +870,8 @@ TEST_F(VideoSendStreamTest, CanChangeSendCodec) {
|
||||
// 3. Wait until |kSuspendTimeFrames| have been captured without seeing any RTP
|
||||
// packets.
|
||||
// 4. Signal a high REMB and then wait for the RTP stream to start again.
|
||||
// When the stream is detected again, the test ends.
|
||||
// When the stream is detected again, and the stats show that the stream
|
||||
// is no longer suspended, the test ends.
|
||||
TEST_F(VideoSendStreamTest, SuspendBelowMinBitrate) {
|
||||
static const int kSuspendTimeFrames = 60; // Suspend for 2 seconds @ 30 fps.
|
||||
|
||||
@ -922,10 +923,15 @@ TEST_F(VideoSendStreamTest, SuspendBelowMinBitrate) {
|
||||
}
|
||||
} else if (test_state_ == kWaitingForPacket) {
|
||||
if (header.paddingLength == 0) {
|
||||
// Non-padding packet observed. Test is complete.
|
||||
// Non-padding packet observed. Test is almost complete. Will just
|
||||
// have to wait for the stats to change.
|
||||
test_state_ = kWaitingForStats;
|
||||
}
|
||||
} else if (test_state_ == kWaitingForStats) {
|
||||
assert(*send_stream_ptr_);
|
||||
VideoSendStream::Stats stats = (*send_stream_ptr_)->GetStats();
|
||||
EXPECT_FALSE(stats.suspended);
|
||||
if (stats.suspended == false) {
|
||||
// Stats flipped to false. Test is complete.
|
||||
observation_complete_->Set();
|
||||
}
|
||||
}
|
||||
@ -957,7 +963,7 @@ TEST_F(VideoSendStreamTest, SuspendBelowMinBitrate) {
|
||||
kBeforeSuspend,
|
||||
kDuringSuspend,
|
||||
kWaitingForPacket,
|
||||
kAfterSuspend
|
||||
kWaitingForStats
|
||||
};
|
||||
|
||||
virtual void SendRtcpFeedback(int remb_value) {
|
||||
|
Loading…
Reference in New Issue
Block a user