| Index: webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc
|
| diff --git a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc b/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc
|
| index aafcd797ac50e10ba7ead609ffa3ae516298b96d..d00139c3b4e1a8868009007b2c931daaba4736eb 100644
|
| --- a/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc
|
| +++ b/webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc
|
| @@ -132,10 +132,7 @@ class MockVideoEncoder : public VideoEncoder {
|
|
|
| int32_t Release() /* override */ { return 0; }
|
|
|
| - int32_t SetRates(uint32_t newBitRate, uint32_t frameRate) /* override */ {
|
| - return 0;
|
| - }
|
| -
|
| + MOCK_METHOD2(SetRates, int32_t(uint32_t newBitRate, uint32_t frameRate));
|
| MOCK_METHOD2(SetChannelParameters, int32_t(uint32_t packetLoss, int64_t rtt));
|
|
|
| bool SupportsNativeHandle() const /* override */ {
|
| @@ -175,7 +172,8 @@ class MockVideoEncoderFactory : public VideoEncoderFactory {
|
| const char* encoder_name = encoder_names_.empty()
|
| ? "codec_implementation_name"
|
| : encoder_names_[encoders_.size()];
|
| - ON_CALL(*encoder, ImplementationName()).WillByDefault(Return(encoder_name));
|
| + EXPECT_CALL(*encoder, ImplementationName())
|
| + .WillRepeatedly(Return(encoder_name));
|
| encoders_.push_back(encoder);
|
| return encoder;
|
| }
|
| @@ -190,6 +188,16 @@ class MockVideoEncoderFactory : public VideoEncoderFactory {
|
| delete encoder;
|
| }
|
|
|
| + void ExpectRates(const std::vector<int>& expected_bitrates_kbps,
|
| + int expected_framerate) {
|
| + ASSERT_EQ(encoders_.size(), expected_bitrates_kbps.size());
|
| + for (size_t i = 0; i < expected_bitrates_kbps.size(); ++i) {
|
| + EXPECT_CALL(*encoders_[i],
|
| + SetRates(expected_bitrates_kbps[i], expected_framerate))
|
| + .WillOnce(Return(0));
|
| + }
|
| + }
|
| +
|
| virtual ~MockVideoEncoderFactory() {}
|
|
|
| const std::vector<MockVideoEncoder*>& encoders() const { return encoders_; }
|
| @@ -380,7 +388,16 @@ TEST_F(TestSimulcastEncoderAdapterFake, EncodedCallbackForDifferentEncoders) {
|
| SetupCodec();
|
|
|
| // Set bitrates so that we send all layers.
|
| - adapter_->SetRates(1200, 30);
|
| + int total_bitrate_kbps = 0;
|
| + std::vector<int> expected_rates_kbps;
|
| + for (int i = 0; i < codec_.numberOfSimulcastStreams; ++i) {
|
| + expected_rates_kbps.push_back(codec_.simulcastStream[i].targetBitrate);
|
| + total_bitrate_kbps += codec_.simulcastStream[i].targetBitrate;
|
| + }
|
| +
|
| + int kFrameRate = 30;
|
| + helper_->factory()->ExpectRates(expected_rates_kbps, kFrameRate);
|
| + adapter_->SetRates(total_bitrate_kbps, kFrameRate);
|
|
|
| // At this point, the simulcast encoder adapter should have 3 streams: HD,
|
| // quarter HD, and quarter quarter HD. We're going to mostly ignore the exact
|
| @@ -424,7 +441,8 @@ TEST_F(TestSimulcastEncoderAdapterFake, SupportsNativeHandleForSingleStreams) {
|
| }
|
|
|
| TEST_F(TestSimulcastEncoderAdapterFake, SupportsImplementationName) {
|
| - EXPECT_STREQ("SimulcastEncoderAdapter", adapter_->ImplementationName());
|
| + EXPECT_STREQ("SimulcastEncoderAdapter (uninitialized)",
|
| + adapter_->ImplementationName());
|
| TestVp8Simulcast::DefaultSettings(
|
| &codec_, static_cast<const int*>(kTestTemporalLayerProfile));
|
| std::vector<const char*> encoder_names;
|
|
|