Index: webrtc/video/send_statistics_proxy_unittest.cc |
diff --git a/webrtc/video/send_statistics_proxy_unittest.cc b/webrtc/video/send_statistics_proxy_unittest.cc |
index f098ce2d239e309bc23ee64dc55429f572cdbcab..fc1f3fdbdea1ad3a287198aaf259af4c9e655273 100644 |
--- a/webrtc/video/send_statistics_proxy_unittest.cc |
+++ b/webrtc/video/send_statistics_proxy_unittest.cc |
@@ -16,6 +16,7 @@ |
#include <vector> |
#include "testing/gtest/include/gtest/gtest.h" |
+#include "webrtc/test/histogram.h" |
namespace webrtc { |
@@ -296,6 +297,25 @@ TEST_F(SendStatisticsProxyTest, OnEncodedFrame) { |
EXPECT_EQ(kEncodeTimeMs, stats.avg_encode_time_ms); |
} |
+TEST_F(SendStatisticsProxyTest, SwitchContentTypeUpdatesHistograms) { |
+ test::ClearHistograms(); |
+ const int kMinRequiredSamples = 200; |
+ const int kWidth = 640; |
+ const int kHeight = 480; |
+ |
+ for (int i = 0; i < kMinRequiredSamples; ++i) |
+ statistics_proxy_->OnIncomingFrame(kWidth, kHeight); |
+ |
+ // No switch, stats not should be updated. |
+ statistics_proxy_->SetContentType( |
+ VideoEncoderConfig::ContentType::kRealtimeVideo); |
+ EXPECT_EQ(0, test::NumHistogramSamples("WebRTC.Video.InputWidthInPixels")); |
+ |
+ // Switch to screenshare, real-time stats should be updated. |
+ statistics_proxy_->SetContentType(VideoEncoderConfig::ContentType::kScreen); |
+ EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.InputWidthInPixels")); |
+} |
+ |
TEST_F(SendStatisticsProxyTest, NoSubstreams) { |
uint32_t excluded_ssrc = |
std::max( |