Index: webrtc/video/video_send_stream_tests.cc |
diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc |
index de5f4b0f28bea0910289c78a402346f14745f32a..4243ee69de42b8e9c9afd1efc79d5985e18e2b69 100644 |
--- a/webrtc/video/video_send_stream_tests.cc |
+++ b/webrtc/video/video_send_stream_tests.cc |
@@ -1116,22 +1116,18 @@ |
class StartBitrateObserver : public test::FakeEncoder { |
public: |
StartBitrateObserver() |
- : FakeEncoder(Clock::GetRealTimeClock()), |
- start_bitrate_changed_(false, false), |
- start_bitrate_kbps_(0) {} |
+ : FakeEncoder(Clock::GetRealTimeClock()), start_bitrate_kbps_(0) {} |
int32_t InitEncode(const VideoCodec* config, |
int32_t number_of_cores, |
size_t max_payload_size) override { |
rtc::CritScope lock(&crit_); |
start_bitrate_kbps_ = config->startBitrate; |
- start_bitrate_changed_.Set(); |
return FakeEncoder::InitEncode(config, number_of_cores, max_payload_size); |
} |
int32_t SetRates(uint32_t new_target_bitrate, uint32_t framerate) override { |
rtc::CritScope lock(&crit_); |
start_bitrate_kbps_ = new_target_bitrate; |
- start_bitrate_changed_.Set(); |
return FakeEncoder::SetRates(new_target_bitrate, framerate); |
} |
@@ -1140,14 +1136,8 @@ |
return start_bitrate_kbps_; |
} |
- bool WaitForStartBitrate() { |
- return start_bitrate_changed_.Wait( |
- VideoSendStreamTest::kDefaultTimeoutMs); |
- } |
- |
private: |
rtc::CriticalSection crit_; |
- rtc::Event start_bitrate_changed_; |
int start_bitrate_kbps_ GUARDED_BY(crit_); |
}; |
@@ -1166,7 +1156,6 @@ |
CreateVideoStreams(); |
- EXPECT_TRUE(encoder.WaitForStartBitrate()); |
EXPECT_EQ(video_encoder_config_.streams[0].max_bitrate_bps / 1000, |
encoder.GetStartBitrateKbps()); |
@@ -1177,7 +1166,6 @@ |
// New bitrate should be reconfigured above the previous max. As there's no |
// network connection this shouldn't be flaky, as no bitrate should've been |
// reported in between. |
- EXPECT_TRUE(encoder.WaitForStartBitrate()); |
EXPECT_EQ(bitrate_config.start_bitrate_bps / 1000, |
encoder.GetStartBitrateKbps()); |
@@ -1391,6 +1379,9 @@ |
void OnVideoStreamsCreated( |
VideoSendStream* send_stream, |
const std::vector<VideoReceiveStream*>& receive_streams) override { |
+ // Encoder initialization should be done in stream construction before |
+ // starting. |
+ EXPECT_TRUE(IsReadyForEncode()); |
stream_ = send_stream; |
} |
@@ -1438,7 +1429,6 @@ |
VideoCodecConfigObserver() |
: SendTest(kDefaultTimeoutMs), |
FakeEncoder(Clock::GetRealTimeClock()), |
- init_encode_event_(false, false), |
num_initializations_(0) {} |
private: |
@@ -1467,23 +1457,19 @@ |
EXPECT_EQ(kScreensharing, config->mode); |
} |
++num_initializations_; |
- init_encode_event_.Set(); |
return FakeEncoder::InitEncode(config, number_of_cores, max_payload_size); |
} |
void PerformTest() override { |
- EXPECT_TRUE(init_encode_event_.Wait(kDefaultTimeoutMs)); |
EXPECT_EQ(1u, num_initializations_) << "VideoEncoder not initialized."; |
encoder_config_.content_type = VideoEncoderConfig::ContentType::kScreen; |
stream_->ReconfigureVideoEncoder(encoder_config_); |
- EXPECT_TRUE(init_encode_event_.Wait(kDefaultTimeoutMs)); |
EXPECT_EQ(2u, num_initializations_) |
<< "ReconfigureVideoEncoder did not reinitialize the encoder with " |
"new encoder settings."; |
} |
- rtc::Event init_encode_event_; |
size_t num_initializations_; |
VideoSendStream* stream_; |
VideoEncoderConfig encoder_config_; |
@@ -1503,7 +1489,6 @@ |
FakeEncoder(Clock::GetRealTimeClock()), |
video_codec_type_(video_codec_type), |
codec_name_(codec_name), |
- init_encode_event_(false, false), |
num_initializations_(0) { |
memset(&encoder_settings_, 0, sizeof(encoder_settings_)); |
} |
@@ -1537,21 +1522,16 @@ |
EXPECT_EQ(video_codec_type_, config->codecType); |
VerifyCodecSpecifics(*config); |
++num_initializations_; |
- init_encode_event_.Set(); |
return FakeEncoder::InitEncode(config, number_of_cores, max_payload_size); |
} |
void VerifyCodecSpecifics(const VideoCodec& config) const; |
void PerformTest() override { |
- EXPECT_TRUE( |
- init_encode_event_.Wait(VideoSendStreamTest::kDefaultTimeoutMs)); |
- ASSERT_EQ(1u, num_initializations_) << "VideoEncoder not initialized."; |
+ EXPECT_EQ(1u, num_initializations_) << "VideoEncoder not initialized."; |
encoder_settings_.frameDroppingOn = true; |
stream_->ReconfigureVideoEncoder(encoder_config_); |
- ASSERT_TRUE( |
- init_encode_event_.Wait(VideoSendStreamTest::kDefaultTimeoutMs)); |
EXPECT_EQ(2u, num_initializations_) |
<< "ReconfigureVideoEncoder did not reinitialize the encoder with " |
"new encoder settings."; |
@@ -1567,7 +1547,6 @@ |
T encoder_settings_; |
const VideoCodecType video_codec_type_; |
const char* const codec_name_; |
- rtc::Event init_encode_event_; |
size_t num_initializations_; |
VideoSendStream* stream_; |
VideoEncoderConfig encoder_config_; |
@@ -1756,7 +1735,6 @@ |
EncoderBitrateThresholdObserver() |
: SendTest(kDefaultTimeoutMs), |
FakeEncoder(Clock::GetRealTimeClock()), |
- init_encode_event_(false, false), |
num_initializations_(0) {} |
private: |
@@ -1785,7 +1763,6 @@ |
codecSettings->startBitrate); |
} |
++num_initializations_; |
- init_encode_event_.Set(); |
return FakeEncoder::InitEncode(codecSettings, numberOfCores, |
maxPayloadSize); |
} |
@@ -1821,9 +1798,6 @@ |
} |
void PerformTest() override { |
- ASSERT_TRUE( |
- init_encode_event_.Wait(VideoSendStreamTest::kDefaultTimeoutMs)) |
- << "Timed out while waiting encoder to be configured."; |
Call::Config::BitrateConfig bitrate_config; |
bitrate_config.start_bitrate_bps = kIncreasedStartBitrateKbps * 1000; |
bitrate_config.max_bitrate_bps = kIncreasedMaxBitrateKbps * 1000; |
@@ -1833,8 +1807,6 @@ |
encoder_config_.streams[0].min_bitrate_bps = 0; |
encoder_config_.streams[0].max_bitrate_bps = kLowerMaxBitrateKbps * 1000; |
send_stream_->ReconfigureVideoEncoder(encoder_config_); |
- ASSERT_TRUE( |
- init_encode_event_.Wait(VideoSendStreamTest::kDefaultTimeoutMs)); |
EXPECT_EQ(2, num_initializations_) |
<< "Encoder should have been reconfigured with the new value."; |
encoder_config_.streams[0].target_bitrate_bps = |
@@ -1842,13 +1814,10 @@ |
encoder_config_.streams[0].max_bitrate_bps = |
kIncreasedMaxBitrateKbps * 1000; |
send_stream_->ReconfigureVideoEncoder(encoder_config_); |
- ASSERT_TRUE( |
- init_encode_event_.Wait(VideoSendStreamTest::kDefaultTimeoutMs)); |
EXPECT_EQ(3, num_initializations_) |
<< "Encoder should have been reconfigured with the new value."; |
} |
- rtc::Event init_encode_event_; |
int num_initializations_; |
webrtc::Call* call_; |
webrtc::VideoSendStream* send_stream_; |