| Index: webrtc/video/vie_encoder_unittest.cc | 
| diff --git a/webrtc/video/vie_encoder_unittest.cc b/webrtc/video/vie_encoder_unittest.cc | 
| index 09d9a97d8c5d1d44ceb0fa432835fae6ebfb69a0..33b7ab3c003dc167dcad325151a2a296f6ce0c37 100644 | 
| --- a/webrtc/video/vie_encoder_unittest.cc | 
| +++ b/webrtc/video/vie_encoder_unittest.cc | 
| @@ -251,7 +251,9 @@ class ViEEncoderTest : public ::testing::Test { | 
| } | 
|  | 
| VideoEncoder::ScalingSettings GetScalingSettings() const override { | 
| -      return VideoEncoder::ScalingSettings(true, 1, 2); | 
| +      if (quality_scaling_) | 
| +        return VideoEncoder::ScalingSettings(true, 1, 2); | 
| +      return VideoEncoder::ScalingSettings(false); | 
| } | 
|  | 
| void ContinueEncode() { continue_encode_event_.Set(); } | 
| @@ -263,6 +265,8 @@ class ViEEncoderTest : public ::testing::Test { | 
| EXPECT_EQ(ntp_time_ms_, ntp_time_ms); | 
| } | 
|  | 
| +    void SetQualityScaling(bool b) { quality_scaling_ = b; } | 
| + | 
| private: | 
| int32_t Encode(const VideoFrame& input_image, | 
| const CodecSpecificInfo* codec_specific_info, | 
| @@ -295,6 +299,7 @@ class ViEEncoderTest : public ::testing::Test { | 
| int64_t ntp_time_ms_ = 0; | 
| int last_input_width_ = 0; | 
| int last_input_height_ = 0; | 
| +    bool quality_scaling_ = true; | 
| }; | 
|  | 
| class TestSink : public ViEEncoder::EncoderSink { | 
| @@ -1166,6 +1171,21 @@ TEST_F(ViEEncoderTest, InitialFrameDropOffWithMaintainResolutionPreference) { | 
| vie_encoder_->Stop(); | 
| } | 
|  | 
| +TEST_F(ViEEncoderTest, InitialFrameDropOffWhenEncoderDisabledScaling) { | 
| +  int frame_width = 640; | 
| +  int frame_height = 360; | 
| +  fake_encoder_.SetQualityScaling(false); | 
| +  vie_encoder_->OnBitrateUpdated(kLowTargetBitrateBps, 0, 0); | 
| + | 
| +  video_source_.IncomingCapturedFrame( | 
| +      CreateFrame(1, frame_width, frame_height)); | 
| +  // Frame should not be dropped, even if it's too large. | 
| +  sink_.WaitForEncodedFrame(1); | 
| + | 
| +  vie_encoder_->Stop(); | 
| +  fake_encoder_.SetQualityScaling(true); | 
| +} | 
| + | 
| // TODO(sprang): Extend this with fps throttling and any "balanced" extensions. | 
| TEST_F(ViEEncoderTest, AdaptsResolutionOnOveruse) { | 
| vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0); | 
|  |