Do not report quality limited resolution stats when quality scaler is disabled.
WebRTC.Video.QualityLimitedResolutionInPercent is reported as zero for calls when the quality scaler is off (and the degradation preference allows scaling).
Update SetResolutionRestrictionStats to specify if quality scaler is enabled.
BUG=webrtc:7432
Review-Url: https://codereview.webrtc.org/2783213002
Cr-Commit-Position: refs/heads/master@{#17487}
diff --git a/webrtc/video/send_statistics_proxy_unittest.cc b/webrtc/video/send_statistics_proxy_unittest.cc
index 778514a..08a2fd2 100644
--- a/webrtc/video/send_statistics_proxy_unittest.cc
+++ b/webrtc/video/send_statistics_proxy_unittest.cc
@@ -367,6 +367,24 @@
EXPECT_EQ(rtc::Optional<uint64_t>(), statistics_proxy_->GetStats().qp_sum);
}
+TEST_F(SendStatisticsProxyTest, SetCpuScalingUpdatesStats) {
+ EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution);
+ statistics_proxy_->SetCpuScalingStats(true);
+ EXPECT_TRUE(statistics_proxy_->GetStats().cpu_limited_resolution);
+ statistics_proxy_->SetCpuScalingStats(false);
+ EXPECT_FALSE(statistics_proxy_->GetStats().cpu_limited_resolution);
+}
+
+TEST_F(SendStatisticsProxyTest, SetQualityScalingUpdatesStats) {
+ EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution);
+ statistics_proxy_->SetQualityScalingStats(-1);
+ EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution);
+ statistics_proxy_->SetQualityScalingStats(0);
+ EXPECT_FALSE(statistics_proxy_->GetStats().bw_limited_resolution);
+ statistics_proxy_->SetQualityScalingStats(1);
+ EXPECT_TRUE(statistics_proxy_->GetStats().bw_limited_resolution);
+}
+
TEST_F(SendStatisticsProxyTest, SwitchContentTypeUpdatesHistograms) {
for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i)
statistics_proxy_->OnIncomingFrame(kWidth, kHeight);
@@ -779,9 +797,9 @@
TEST_F(SendStatisticsProxyTest,
QualityLimitedHistogramsNotUpdatedWhenDisabled) {
+ const int kNumDownscales = -1;
EncodedImage encoded_image;
- statistics_proxy_->SetResolutionRestrictionStats(false /* scaling_enabled */,
- 0, 0);
+ statistics_proxy_->SetQualityScalingStats(kNumDownscales);
for (int i = 0; i < SendStatisticsProxy::kMinRequiredMetricsSamples; ++i)
statistics_proxy_->OnSendEncodedImage(encoded_image, &kDefaultCodecInfo);