Chromium Code Reviews| 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)); |