| 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 8e6b7bcab3159e0c7e1566a1853bc002d88ba201..c422422604521e2c23cc95ec2d4f1284345a24b9 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 {
 | 
|  
 | 
| @@ -384,6 +385,50 @@ TEST_F(SendStatisticsProxyTest, ClearsResolutionFromInactiveSsrcs) {
 | 
|    EXPECT_EQ(0, stats.substreams[config_.rtp.ssrcs[1]].height);
 | 
|  }
 | 
|  
 | 
| +TEST_F(SendStatisticsProxyTest, Qp) {
 | 
| +  const int kQpIdx0 = 21;
 | 
| +  const int kQpIdx1 = 39;
 | 
| +  EncodedImage encoded_image;
 | 
| +
 | 
| +  RTPVideoHeader rtp_video_header;
 | 
| +  rtp_video_header.codec = kRtpVideoVp8;
 | 
| +
 | 
| +  rtp_video_header.simulcastIdx = 0;
 | 
| +  encoded_image.qp_ = kQpIdx0;
 | 
| +  statistics_proxy_->OnSendEncodedImage(encoded_image, &rtp_video_header);
 | 
| +
 | 
| +  rtp_video_header.simulcastIdx = 1;
 | 
| +  encoded_image.qp_ = kQpIdx1;
 | 
| +  statistics_proxy_->OnSendEncodedImage(encoded_image, &rtp_video_header);
 | 
| +
 | 
| +  VideoSendStream::Stats stats = statistics_proxy_->GetStats();
 | 
| +  EXPECT_EQ(kQpIdx0, stats.substreams[config_.rtp.ssrcs[0]].qp);
 | 
| +  EXPECT_EQ(kQpIdx1, stats.substreams[config_.rtp.ssrcs[1]].qp);
 | 
| +}
 | 
| +
 | 
| +TEST_F(SendStatisticsProxyTest, VerifyQpHistogramStats_Vp8) {
 | 
| +  test::ClearHistograms();
 | 
| +  const int kMinRequiredSamples = 200;
 | 
| +  const int kQpIdx0 = 21;
 | 
| +  const int kQpIdx1 = 39;
 | 
| +  EncodedImage encoded_image;
 | 
| +
 | 
| +  RTPVideoHeader rtp_video_header;
 | 
| +  rtp_video_header.codec = kRtpVideoVp8;
 | 
| +
 | 
| +  for (int i = 0; i < kMinRequiredSamples; ++i) {
 | 
| +    rtp_video_header.simulcastIdx = 0;
 | 
| +    encoded_image.qp_ = kQpIdx0;
 | 
| +    statistics_proxy_->OnSendEncodedImage(encoded_image, &rtp_video_header);
 | 
| +    rtp_video_header.simulcastIdx = 1;
 | 
| +    encoded_image.qp_ = kQpIdx1;
 | 
| +    statistics_proxy_->OnSendEncodedImage(encoded_image, &rtp_video_header);
 | 
| +  }
 | 
| +  statistics_proxy_.reset();
 | 
| +  EXPECT_EQ(2, test::NumHistogramSamples("WebRTC.Video.Encoded.Vp8.Qp"));
 | 
| +  EXPECT_EQ(kQpIdx1, test::LastHistogramSample("WebRTC.Video.Encoded.Vp8.Qp"));
 | 
| +}
 | 
| +
 | 
|  TEST_F(SendStatisticsProxyTest, ClearsBitratesFromInactiveSsrcs) {
 | 
|    BitrateStatistics bitrate;
 | 
|    bitrate.bitrate_bps = 42;
 | 
| 
 |