Index: webrtc/media/engine/webrtcvideoengine2_unittest.cc |
diff --git a/webrtc/media/engine/webrtcvideoengine2_unittest.cc b/webrtc/media/engine/webrtcvideoengine2_unittest.cc |
index c18f35b5e4e9730b0ca28913549caa2bc2017340..47b1d98db22e3f4e2a3f0233fcc7c3a13057e897 100644 |
--- a/webrtc/media/engine/webrtcvideoengine2_unittest.cc |
+++ b/webrtc/media/engine/webrtcvideoengine2_unittest.cc |
@@ -340,6 +340,7 @@ TEST_F(WebRtcVideoEngine2Test, UseExternalFactoryForVp8WhenSupported) { |
EXPECT_TRUE( |
channel->AddSendStream(cricket::StreamParams::CreateLegacy(kSsrc))); |
+ ASSERT_TRUE(encoder_factory.WaitForCreatedVideoEncoder()); |
ASSERT_EQ(1u, encoder_factory.encoders().size()); |
EXPECT_TRUE(channel->SetSend(true)); |
@@ -348,11 +349,13 @@ TEST_F(WebRtcVideoEngine2Test, UseExternalFactoryForVp8WhenSupported) { |
EXPECT_EQ(cricket::CS_RUNNING, |
capturer.Start(capturer.GetSupportedFormats()->front())); |
EXPECT_TRUE(capturer.CaptureFrame()); |
+ // Sending one frame will have reallocated the encoder since input size |
+ // changes from a small default to the actual frame width/height. Wait for |
+ // that to happen then for the frame to be sent. |
+ ASSERT_TRUE(encoder_factory.WaitForCreatedVideoEncoder()); |
EXPECT_TRUE_WAIT(encoder_factory.encoders()[0]->GetNumEncodedFrames() > 0, |
kTimeout); |
- // Sending one frame will have reallocated the encoder since input size |
- // changes from a small default to the actual frame width/height. |
int num_created_encoders = encoder_factory.GetNumCreatedEncoders(); |
EXPECT_EQ(num_created_encoders, 2); |
@@ -583,12 +586,14 @@ TEST_F(WebRtcVideoEngine2Test, UsesSimulcastAdapterForVp8Factories) { |
capturer.Start(capturer.GetSupportedFormats()->front())); |
EXPECT_TRUE(capturer.CaptureFrame()); |
- EXPECT_GT(encoder_factory.encoders().size(), 1u); |
+ while (encoder_factory.encoders().size() <= 1) |
+ ASSERT_TRUE(encoder_factory.WaitForCreatedVideoEncoder()); |
stefan-webrtc
2016/03/14 13:14:03
Maybe we should make WaitForCreatedVideoEncoder ta
pbos-webrtc
2016/03/14 15:12:58
Done.
|
// Verify that encoders are configured for simulcast through adapter |
// (increasing resolution and only configured to send one stream each). |
int prev_width = -1; |
for (size_t i = 0; i < encoder_factory.encoders().size(); ++i) { |
+ ASSERT_TRUE(encoder_factory.encoders()[i]->WaitForInitEncode()); |
webrtc::VideoCodec codec_settings = |
encoder_factory.encoders()[i]->GetCodecSettings(); |
EXPECT_EQ(0, codec_settings.numberOfSimulcastStreams); |
@@ -664,7 +669,9 @@ TEST_F(WebRtcVideoEngine2Test, |
capturer.Start(capturer.GetSupportedFormats()->front())); |
EXPECT_TRUE(capturer.CaptureFrame()); |
- ASSERT_GT(encoder_factory.encoders().size(), 1u); |
+ while (encoder_factory.encoders().size() <= 1) |
+ ASSERT_TRUE(encoder_factory.WaitForCreatedVideoEncoder()); |
+ ASSERT_TRUE(encoder_factory.encoders()[0]->WaitForInitEncode()); |
EXPECT_EQ(webrtc::kVideoCodecVP8, |
encoder_factory.encoders()[0]->GetCodecSettings().codecType); |
@@ -688,6 +695,7 @@ TEST_F(WebRtcVideoEngine2Test, |
EXPECT_TRUE( |
channel->AddSendStream(cricket::StreamParams::CreateLegacy(kSsrc))); |
ASSERT_EQ(1u, encoder_factory.encoders().size()); |
+ ASSERT_TRUE(encoder_factory.encoders()[0]->WaitForInitEncode()); |
EXPECT_EQ(webrtc::kVideoCodecH264, |
encoder_factory.encoders()[0]->GetCodecSettings().codecType); |
@@ -719,6 +727,7 @@ TEST_F(WebRtcVideoEngine2Test, SimulcastDisabledForH264) { |
ASSERT_EQ(1u, encoder_factory.encoders().size()); |
FakeWebRtcVideoEncoder* encoder = encoder_factory.encoders()[0]; |
+ ASSERT_TRUE(encoder_factory.encoders()[0]->WaitForInitEncode()); |
EXPECT_EQ(webrtc::kVideoCodecH264, encoder->GetCodecSettings().codecType); |
EXPECT_EQ(1u, encoder->GetCodecSettings().numberOfSimulcastStreams); |
EXPECT_TRUE(channel->SetCapturer(ssrcs[0], nullptr)); |