Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: webrtc/video/end_to_end_tests.cc

Issue 1433393002: Add separate send-side UMA stats for screenshare and video. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fixed compile error Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | webrtc/video/send_statistics_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 #include <algorithm> 10 #include <algorithm>
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 return false; 74 return false;
75 } 75 }
76 }; 76 };
77 77
78 void DecodesRetransmittedFrame(bool use_rtx, bool use_red); 78 void DecodesRetransmittedFrame(bool use_rtx, bool use_red);
79 void ReceivesPliAndRecovers(int rtp_history_ms); 79 void ReceivesPliAndRecovers(int rtp_history_ms);
80 void RespectsRtcpMode(RtcpMode rtcp_mode); 80 void RespectsRtcpMode(RtcpMode rtcp_mode);
81 void TestXrReceiverReferenceTimeReport(bool enable_rrtr); 81 void TestXrReceiverReferenceTimeReport(bool enable_rrtr);
82 void TestSendsSetSsrcs(size_t num_ssrcs, bool send_single_ssrc_first); 82 void TestSendsSetSsrcs(size_t num_ssrcs, bool send_single_ssrc_first);
83 void TestRtpStatePreservation(bool use_rtx); 83 void TestRtpStatePreservation(bool use_rtx);
84 void VerifyHistogramStats(bool use_rtx, bool use_red); 84 void VerifyHistogramStats(bool use_rtx, bool use_red, bool screenshare);
85 }; 85 };
86 86
87 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) { 87 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) {
88 CreateCalls(Call::Config(), Call::Config()); 88 CreateCalls(Call::Config(), Call::Config());
89 89
90 test::NullTransport transport; 90 test::NullTransport transport;
91 CreateSendConfig(1, &transport); 91 CreateSendConfig(1, &transport);
92 CreateMatchingReceiveConfigs(&transport); 92 CreateMatchingReceiveConfigs(&transport);
93 93
94 CreateStreams(); 94 CreateStreams();
(...skipping 1775 matching lines...) Expand 10 before | Expand all | Expand 10 after
1870 EXPECT_EQ(1, test::NumHistogramSamples( 1870 EXPECT_EQ(1, test::NumHistogramSamples(
1871 "WebRTC.Video.UniqueNackRequestsSentInPercent")); 1871 "WebRTC.Video.UniqueNackRequestsSentInPercent"));
1872 EXPECT_EQ(1, test::NumHistogramSamples( 1872 EXPECT_EQ(1, test::NumHistogramSamples(
1873 "WebRTC.Video.UniqueNackRequestsReceivedInPercent")); 1873 "WebRTC.Video.UniqueNackRequestsReceivedInPercent"));
1874 EXPECT_GT(test::LastHistogramSample( 1874 EXPECT_GT(test::LastHistogramSample(
1875 "WebRTC.Video.NackPacketsSentPerMinute"), 0); 1875 "WebRTC.Video.NackPacketsSentPerMinute"), 0);
1876 EXPECT_GT(test::LastHistogramSample( 1876 EXPECT_GT(test::LastHistogramSample(
1877 "WebRTC.Video.NackPacketsReceivedPerMinute"), 0); 1877 "WebRTC.Video.NackPacketsReceivedPerMinute"), 0);
1878 } 1878 }
1879 1879
1880 void EndToEndTest::VerifyHistogramStats(bool use_rtx, bool use_red) { 1880 void EndToEndTest::VerifyHistogramStats(bool use_rtx,
1881 bool use_red,
1882 bool screenshare) {
1881 class StatsObserver : public test::EndToEndTest { 1883 class StatsObserver : public test::EndToEndTest {
1882 public: 1884 public:
1883 StatsObserver(bool use_rtx, bool use_red) 1885 StatsObserver(bool use_rtx, bool use_red, bool screenshare)
1884 : EndToEndTest(kLongTimeoutMs), 1886 : EndToEndTest(kLongTimeoutMs),
1885 use_rtx_(use_rtx), 1887 use_rtx_(use_rtx),
1886 use_red_(use_red), 1888 use_red_(use_red),
1889 screenshare_(screenshare),
1887 sender_call_(nullptr), 1890 sender_call_(nullptr),
1888 receiver_call_(nullptr), 1891 receiver_call_(nullptr),
1889 start_runtime_ms_(-1) {} 1892 start_runtime_ms_(-1) {}
1890 1893
1891 private: 1894 private:
1892 Action OnSendRtp(const uint8_t* packet, size_t length) override { 1895 Action OnSendRtp(const uint8_t* packet, size_t length) override {
1893 if (MinMetricRunTimePassed()) 1896 if (MinMetricRunTimePassed())
1894 observation_complete_->Set(); 1897 observation_complete_->Set();
1895 1898
1896 // GetStats calls GetSendChannelRtcpStatistics 1899 // GetStats calls GetSendChannelRtcpStatistics
(...skipping 30 matching lines...) Expand all
1927 } 1930 }
1928 // RTX 1931 // RTX
1929 if (use_rtx_) { 1932 if (use_rtx_) {
1930 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); 1933 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]);
1931 send_config->rtp.rtx.payload_type = kSendRtxPayloadType; 1934 send_config->rtp.rtx.payload_type = kSendRtxPayloadType;
1932 (*receive_configs)[0].rtp.rtx[kFakeSendPayloadType].ssrc = 1935 (*receive_configs)[0].rtp.rtx[kFakeSendPayloadType].ssrc =
1933 kSendRtxSsrcs[0]; 1936 kSendRtxSsrcs[0];
1934 (*receive_configs)[0].rtp.rtx[kFakeSendPayloadType].payload_type = 1937 (*receive_configs)[0].rtp.rtx[kFakeSendPayloadType].payload_type =
1935 kSendRtxPayloadType; 1938 kSendRtxPayloadType;
1936 } 1939 }
1940 encoder_config->content_type =
1941 screenshare_ ? VideoEncoderConfig::ContentType::kScreen
1942 : VideoEncoderConfig::ContentType::kRealtimeVideo;
1937 } 1943 }
1938 1944
1939 void OnCallsCreated(Call* sender_call, Call* receiver_call) override { 1945 void OnCallsCreated(Call* sender_call, Call* receiver_call) override {
1940 sender_call_ = sender_call; 1946 sender_call_ = sender_call;
1941 receiver_call_ = receiver_call; 1947 receiver_call_ = receiver_call;
1942 } 1948 }
1943 1949
1944 void PerformTest() override { 1950 void PerformTest() override {
1945 EXPECT_EQ(kEventSignaled, Wait()) 1951 EXPECT_EQ(kEventSignaled, Wait())
1946 << "Timed out waiting for packet to be NACKed."; 1952 << "Timed out waiting for packet to be NACKed.";
1947 } 1953 }
1948 1954
1949 bool use_rtx_; 1955 const bool use_rtx_;
1950 bool use_red_; 1956 const bool use_red_;
1957 const bool screenshare_;
1951 Call* sender_call_; 1958 Call* sender_call_;
1952 Call* receiver_call_; 1959 Call* receiver_call_;
1953 int64_t start_runtime_ms_; 1960 int64_t start_runtime_ms_;
1954 } test(use_rtx, use_red); 1961 } test(use_rtx, use_red, screenshare);
1955 1962
1956 test::ClearHistograms(); 1963 test::ClearHistograms();
1957 RunBaseTest(&test, FakeNetworkPipe::Config()); 1964 RunBaseTest(&test, FakeNetworkPipe::Config());
1958 1965
1959 // Delete the call for Call stats to be reported. 1966 // Delete the call for Call stats to be reported.
1960 sender_call_.reset(); 1967 sender_call_.reset();
1961 receiver_call_.reset(); 1968 receiver_call_.reset();
1962 1969
1970 std::string video_prefix =
1971 screenshare ? "WebRTC.Video.Screenshare." : "WebRTC.Video.";
1972
1963 // Verify that stats have been updated once. 1973 // Verify that stats have been updated once.
1964 EXPECT_EQ( 1974 EXPECT_EQ(
1965 1, test::NumHistogramSamples("WebRTC.Call.VideoBitrateReceivedInKbps")); 1975 1, test::NumHistogramSamples("WebRTC.Call.VideoBitrateReceivedInKbps"));
1966 EXPECT_EQ(1, 1976 EXPECT_EQ(1,
1967 test::NumHistogramSamples("WebRTC.Call.RtcpBitrateReceivedInBps")); 1977 test::NumHistogramSamples("WebRTC.Call.RtcpBitrateReceivedInBps"));
1968 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Call.BitrateReceivedInKbps")); 1978 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Call.BitrateReceivedInKbps"));
1969 EXPECT_EQ( 1979 EXPECT_EQ(
1970 1, test::NumHistogramSamples("WebRTC.Call.EstimatedSendBitrateInKbps")); 1980 1, test::NumHistogramSamples("WebRTC.Call.EstimatedSendBitrateInKbps"));
1971 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Call.PacerBitrateInKbps")); 1981 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Call.PacerBitrateInKbps"));
1972 1982
1973 EXPECT_EQ(1, test::NumHistogramSamples( 1983 EXPECT_EQ(1, test::NumHistogramSamples(
1974 "WebRTC.Video.NackPacketsSentPerMinute")); 1984 "WebRTC.Video.NackPacketsSentPerMinute"));
1975 EXPECT_EQ(1, test::NumHistogramSamples( 1985 EXPECT_EQ(1, test::NumHistogramSamples(
1976 "WebRTC.Video.NackPacketsReceivedPerMinute")); 1986 "WebRTC.Video.NackPacketsReceivedPerMinute"));
1977 EXPECT_EQ(1, test::NumHistogramSamples( 1987 EXPECT_EQ(1, test::NumHistogramSamples(
1978 "WebRTC.Video.FirPacketsSentPerMinute")); 1988 "WebRTC.Video.FirPacketsSentPerMinute"));
1979 EXPECT_EQ(1, test::NumHistogramSamples( 1989 EXPECT_EQ(1, test::NumHistogramSamples(
1980 "WebRTC.Video.FirPacketsReceivedPerMinute")); 1990 "WebRTC.Video.FirPacketsReceivedPerMinute"));
1981 EXPECT_EQ(1, test::NumHistogramSamples( 1991 EXPECT_EQ(1, test::NumHistogramSamples(
1982 "WebRTC.Video.PliPacketsSentPerMinute")); 1992 "WebRTC.Video.PliPacketsSentPerMinute"));
1983 EXPECT_EQ(1, test::NumHistogramSamples( 1993 EXPECT_EQ(1, test::NumHistogramSamples(
1984 "WebRTC.Video.PliPacketsReceivedPerMinute")); 1994 "WebRTC.Video.PliPacketsReceivedPerMinute"));
1985 1995
1986 EXPECT_EQ(1, test::NumHistogramSamples( 1996 EXPECT_EQ(
1987 "WebRTC.Video.KeyFramesSentInPermille")); 1997 1, test::NumHistogramSamples(video_prefix + "KeyFramesSentInPermille"));
1988 EXPECT_EQ(1, test::NumHistogramSamples( 1998 EXPECT_EQ(1, test::NumHistogramSamples(
1989 "WebRTC.Video.KeyFramesReceivedInPermille")); 1999 "WebRTC.Video.KeyFramesReceivedInPermille"));
1990 2000
1991 EXPECT_EQ(1, test::NumHistogramSamples( 2001 EXPECT_EQ(1, test::NumHistogramSamples(
1992 "WebRTC.Video.SentPacketsLostInPercent")); 2002 "WebRTC.Video.SentPacketsLostInPercent"));
1993 EXPECT_EQ(1, test::NumHistogramSamples( 2003 EXPECT_EQ(1, test::NumHistogramSamples(
1994 "WebRTC.Video.ReceivedPacketsLostInPercent")); 2004 "WebRTC.Video.ReceivedPacketsLostInPercent"));
1995 2005
1996 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.InputWidthInPixels")); 2006 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "InputWidthInPixels"));
1997 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.InputHeightInPixels")); 2007 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "InputHeightInPixels"));
1998 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SentWidthInPixels")); 2008 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "SentWidthInPixels"));
1999 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SentHeightInPixels")); 2009 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "SentHeightInPixels"));
2000 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.ReceivedWidthInPixels")); 2010 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.ReceivedWidthInPixels"));
2001 EXPECT_EQ(1, 2011 EXPECT_EQ(1,
2002 test::NumHistogramSamples("WebRTC.Video.ReceivedHeightInPixels")); 2012 test::NumHistogramSamples("WebRTC.Video.ReceivedHeightInPixels"));
2003 2013
2004 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width), 2014 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width),
2005 test::LastHistogramSample("WebRTC.Video.InputWidthInPixels")); 2015 test::LastHistogramSample(video_prefix + "InputWidthInPixels"));
2006 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height), 2016 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height),
2007 test::LastHistogramSample("WebRTC.Video.InputHeightInPixels")); 2017 test::LastHistogramSample(video_prefix + "InputHeightInPixels"));
2008 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width), 2018 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width),
2009 test::LastHistogramSample("WebRTC.Video.SentWidthInPixels")); 2019 test::LastHistogramSample(video_prefix + "SentWidthInPixels"));
2010 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height), 2020 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height),
2011 test::LastHistogramSample("WebRTC.Video.SentHeightInPixels")); 2021 test::LastHistogramSample(video_prefix + "SentHeightInPixels"));
2012 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width), 2022 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width),
2013 test::LastHistogramSample("WebRTC.Video.ReceivedWidthInPixels")); 2023 test::LastHistogramSample("WebRTC.Video.ReceivedWidthInPixels"));
2014 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height), 2024 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height),
2015 test::LastHistogramSample("WebRTC.Video.ReceivedHeightInPixels")); 2025 test::LastHistogramSample("WebRTC.Video.ReceivedHeightInPixels"));
2016 2026
2017 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.InputFramesPerSecond")); 2027 EXPECT_EQ(1,
2018 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SentFramesPerSecond")); 2028 test::NumHistogramSamples(video_prefix + "InputFramesPerSecond"));
2029 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "SentFramesPerSecond"));
2019 EXPECT_EQ(1, test::NumHistogramSamples( 2030 EXPECT_EQ(1, test::NumHistogramSamples(
2020 "WebRTC.Video.DecodedFramesPerSecond")); 2031 "WebRTC.Video.DecodedFramesPerSecond"));
2021 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.RenderFramesPerSecond")); 2032 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.RenderFramesPerSecond"));
2022 2033
2023 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.OnewayDelayInMs")); 2034 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.OnewayDelayInMs"));
2024 EXPECT_EQ( 2035 EXPECT_EQ(
2025 1, test::NumHistogramSamples("WebRTC.Video.RenderSqrtPixelsPerSecond")); 2036 1, test::NumHistogramSamples("WebRTC.Video.RenderSqrtPixelsPerSecond"));
2026 2037
2027 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.EncodeTimeInMs")); 2038 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "EncodeTimeInMs"));
2028 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.DecodeTimeInMs")); 2039 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.DecodeTimeInMs"));
2029 2040
2030 EXPECT_EQ(1, test::NumHistogramSamples( 2041 EXPECT_EQ(1, test::NumHistogramSamples(
2031 "WebRTC.Video.BitrateSentInKbps")); 2042 "WebRTC.Video.BitrateSentInKbps"));
2032 EXPECT_EQ(1, test::NumHistogramSamples( 2043 EXPECT_EQ(1, test::NumHistogramSamples(
2033 "WebRTC.Video.BitrateReceivedInKbps")); 2044 "WebRTC.Video.BitrateReceivedInKbps"));
2034 EXPECT_EQ(1, test::NumHistogramSamples( 2045 EXPECT_EQ(1, test::NumHistogramSamples(
2035 "WebRTC.Video.MediaBitrateSentInKbps")); 2046 "WebRTC.Video.MediaBitrateSentInKbps"));
2036 EXPECT_EQ(1, test::NumHistogramSamples( 2047 EXPECT_EQ(1, test::NumHistogramSamples(
2037 "WebRTC.Video.MediaBitrateReceivedInKbps")); 2048 "WebRTC.Video.MediaBitrateReceivedInKbps"));
2038 EXPECT_EQ(1, test::NumHistogramSamples( 2049 EXPECT_EQ(1, test::NumHistogramSamples(
2039 "WebRTC.Video.PaddingBitrateSentInKbps")); 2050 "WebRTC.Video.PaddingBitrateSentInKbps"));
2040 EXPECT_EQ(1, test::NumHistogramSamples( 2051 EXPECT_EQ(1, test::NumHistogramSamples(
2041 "WebRTC.Video.PaddingBitrateReceivedInKbps")); 2052 "WebRTC.Video.PaddingBitrateReceivedInKbps"));
2042 EXPECT_EQ(1, test::NumHistogramSamples( 2053 EXPECT_EQ(1, test::NumHistogramSamples(
2043 "WebRTC.Video.RetransmittedBitrateSentInKbps")); 2054 "WebRTC.Video.RetransmittedBitrateSentInKbps"));
2044 EXPECT_EQ(1, test::NumHistogramSamples( 2055 EXPECT_EQ(1, test::NumHistogramSamples(
2045 "WebRTC.Video.RetransmittedBitrateReceivedInKbps")); 2056 "WebRTC.Video.RetransmittedBitrateReceivedInKbps"));
2046 2057
2047 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SendSideDelayInMs")); 2058 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "SendSideDelayInMs"));
2048 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SendSideDelayMaxInMs")); 2059 EXPECT_EQ(1,
2060 test::NumHistogramSamples(video_prefix + "SendSideDelayMaxInMs"));
2049 2061
2050 int num_rtx_samples = use_rtx ? 1 : 0; 2062 int num_rtx_samples = use_rtx ? 1 : 0;
2051 EXPECT_EQ(num_rtx_samples, test::NumHistogramSamples( 2063 EXPECT_EQ(num_rtx_samples, test::NumHistogramSamples(
2052 "WebRTC.Video.RtxBitrateSentInKbps")); 2064 "WebRTC.Video.RtxBitrateSentInKbps"));
2053 EXPECT_EQ(num_rtx_samples, test::NumHistogramSamples( 2065 EXPECT_EQ(num_rtx_samples, test::NumHistogramSamples(
2054 "WebRTC.Video.RtxBitrateReceivedInKbps")); 2066 "WebRTC.Video.RtxBitrateReceivedInKbps"));
2055 2067
2056 int num_red_samples = use_red ? 1 : 0; 2068 int num_red_samples = use_red ? 1 : 0;
2057 EXPECT_EQ(num_red_samples, test::NumHistogramSamples( 2069 EXPECT_EQ(num_red_samples, test::NumHistogramSamples(
2058 "WebRTC.Video.FecBitrateSentInKbps")); 2070 "WebRTC.Video.FecBitrateSentInKbps"));
2059 EXPECT_EQ(num_red_samples, test::NumHistogramSamples( 2071 EXPECT_EQ(num_red_samples, test::NumHistogramSamples(
2060 "WebRTC.Video.FecBitrateReceivedInKbps")); 2072 "WebRTC.Video.FecBitrateReceivedInKbps"));
2061 EXPECT_EQ(num_red_samples, test::NumHistogramSamples( 2073 EXPECT_EQ(num_red_samples, test::NumHistogramSamples(
2062 "WebRTC.Video.ReceivedFecPacketsInPercent")); 2074 "WebRTC.Video.ReceivedFecPacketsInPercent"));
2063 } 2075 }
2064 2076
2065 TEST_F(EndToEndTest, VerifyHistogramStatsWithRtx) { 2077 TEST_F(EndToEndTest, VerifyHistogramStatsWithRtx) {
2066 const bool kEnabledRtx = true; 2078 const bool kEnabledRtx = true;
2067 const bool kEnabledRed = false; 2079 const bool kEnabledRed = false;
2068 VerifyHistogramStats(kEnabledRtx, kEnabledRed); 2080 const bool kScreenshare = false;
2081 VerifyHistogramStats(kEnabledRtx, kEnabledRed, kScreenshare);
2069 } 2082 }
2070 2083
2071 TEST_F(EndToEndTest, VerifyHistogramStatsWithRed) { 2084 TEST_F(EndToEndTest, VerifyHistogramStatsWithRed) {
2072 const bool kEnabledRtx = false; 2085 const bool kEnabledRtx = false;
2073 const bool kEnabledRed = true; 2086 const bool kEnabledRed = true;
2074 VerifyHistogramStats(kEnabledRtx, kEnabledRed); 2087 const bool kScreenshare = false;
2088 VerifyHistogramStats(kEnabledRtx, kEnabledRed, kScreenshare);
2089 }
2090
2091 TEST_F(EndToEndTest, VerifyHistogramStatsWithScreenshare) {
2092 const bool kEnabledRtx = false;
2093 const bool kEnabledRed = false;
2094 const bool kScreenshare = true;
2095 VerifyHistogramStats(kEnabledRtx, kEnabledRed, kScreenshare);
2075 } 2096 }
2076 2097
2077 void EndToEndTest::TestXrReceiverReferenceTimeReport(bool enable_rrtr) { 2098 void EndToEndTest::TestXrReceiverReferenceTimeReport(bool enable_rrtr) {
2078 static const int kNumRtcpReportPacketsToObserve = 5; 2099 static const int kNumRtcpReportPacketsToObserve = 5;
2079 class RtcpXrObserver : public test::EndToEndTest { 2100 class RtcpXrObserver : public test::EndToEndTest {
2080 public: 2101 public:
2081 explicit RtcpXrObserver(bool enable_rrtr) 2102 explicit RtcpXrObserver(bool enable_rrtr)
2082 : EndToEndTest(kDefaultTimeoutMs), 2103 : EndToEndTest(kDefaultTimeoutMs),
2083 enable_rrtr_(enable_rrtr), 2104 enable_rrtr_(enable_rrtr),
2084 sent_rtcp_sr_(0), 2105 sent_rtcp_sr_(0),
(...skipping 1119 matching lines...) Expand 10 before | Expand all | Expand 10 after
3204 EXPECT_TRUE(default_receive_config.rtp.rtx.empty()) 3225 EXPECT_TRUE(default_receive_config.rtp.rtx.empty())
3205 << "Enabling RTX requires rtpmap: rtx negotiation."; 3226 << "Enabling RTX requires rtpmap: rtx negotiation.";
3206 EXPECT_TRUE(default_receive_config.rtp.extensions.empty()) 3227 EXPECT_TRUE(default_receive_config.rtp.extensions.empty())
3207 << "Enabling RTP extensions require negotiation."; 3228 << "Enabling RTP extensions require negotiation.";
3208 3229
3209 VerifyEmptyNackConfig(default_receive_config.rtp.nack); 3230 VerifyEmptyNackConfig(default_receive_config.rtp.nack);
3210 VerifyEmptyFecConfig(default_receive_config.rtp.fec); 3231 VerifyEmptyFecConfig(default_receive_config.rtp.fec);
3211 } 3232 }
3212 3233
3213 } // namespace webrtc 3234 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | webrtc/video/send_statistics_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698