| Index: talk/media/webrtc/webrtcvideoengine2_unittest.cc
|
| diff --git a/talk/media/webrtc/webrtcvideoengine2_unittest.cc b/talk/media/webrtc/webrtcvideoengine2_unittest.cc
|
| index e3e21dd39f4daea172a92551517491f868fa0488..5c17955584289ee1790d7ef650b647847c6d47c4 100644
|
| --- a/talk/media/webrtc/webrtcvideoengine2_unittest.cc
|
| +++ b/talk/media/webrtc/webrtcvideoengine2_unittest.cc
|
| @@ -372,6 +372,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));
|
|
|
| @@ -380,11 +381,14 @@ 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);
|
|
|
| @@ -578,12 +582,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());
|
|
|
| // 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);
|
| @@ -659,7 +665,10 @@ 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);
|
|
|
| @@ -683,6 +692,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);
|
|
|
| @@ -710,6 +720,7 @@ TEST_F(WebRtcVideoEngine2Test, SimulcastDisabledForH264) {
|
| EXPECT_TRUE(channel->SetSendStreamFormat(ssrcs[0], format));
|
| 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);
|
| }
|
|
|