Do not report cpu limited resolution stats when degradation preference is disabled and no scaling is done.
When degradation preference is kDegradationDisabled, do not update WebRTC.Video.CpuLimitedResolutionInPercent.
BUG=webrtc:6634
Review-Url: https://codereview.webrtc.org/2807133002
Cr-Commit-Position: refs/heads/master@{#17757}
diff --git a/webrtc/video/vie_encoder_unittest.cc b/webrtc/video/vie_encoder_unittest.cc
index 79a08b3..765efbc 100644
--- a/webrtc/video/vie_encoder_unittest.cc
+++ b/webrtc/video/vie_encoder_unittest.cc
@@ -1425,9 +1425,8 @@
vie_encoder_->Stop();
}
-TEST_F(ViEEncoderTest, UMACpuLimitedResolutionInPercent) {
+TEST_F(ViEEncoderTest, CpuLimitedHistogramIsReported) {
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
-
const int kWidth = 640;
const int kHeight = 360;
@@ -1454,6 +1453,28 @@
1, metrics::NumEvents("WebRTC.Video.CpuLimitedResolutionInPercent", 50));
}
+TEST_F(ViEEncoderTest, CpuLimitedHistogramIsNotReportedForDisabledDegradation) {
+ vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
+ const int kWidth = 640;
+ const int kHeight = 360;
+
+ vie_encoder_->SetSource(
+ &video_source_,
+ VideoSendStream::DegradationPreference::kDegradationDisabled);
+
+ for (int i = 1; i <= SendStatisticsProxy::kMinRequiredMetricsSamples; ++i) {
+ video_source_.IncomingCapturedFrame(CreateFrame(i, kWidth, kHeight));
+ sink_.WaitForEncodedFrame(i);
+ }
+
+ vie_encoder_->Stop();
+ vie_encoder_.reset();
+ stats_proxy_.reset();
+
+ EXPECT_EQ(0,
+ metrics::NumSamples("WebRTC.Video.CpuLimitedResolutionInPercent"));
+}
+
TEST_F(ViEEncoderTest, CallsBitrateObserver) {
class MockBitrateObserver : public VideoBitrateAllocationObserver {
public: