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

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 use-after-free in test Created 5 years, 1 month 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
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 1762 matching lines...) Expand 10 before | Expand all | Expand 10 after
1857 EXPECT_EQ(1, test::NumHistogramSamples( 1857 EXPECT_EQ(1, test::NumHistogramSamples(
1858 "WebRTC.Video.UniqueNackRequestsSentInPercent")); 1858 "WebRTC.Video.UniqueNackRequestsSentInPercent"));
1859 EXPECT_EQ(1, test::NumHistogramSamples( 1859 EXPECT_EQ(1, test::NumHistogramSamples(
1860 "WebRTC.Video.UniqueNackRequestsReceivedInPercent")); 1860 "WebRTC.Video.UniqueNackRequestsReceivedInPercent"));
1861 EXPECT_GT(test::LastHistogramSample( 1861 EXPECT_GT(test::LastHistogramSample(
1862 "WebRTC.Video.NackPacketsSentPerMinute"), 0); 1862 "WebRTC.Video.NackPacketsSentPerMinute"), 0);
1863 EXPECT_GT(test::LastHistogramSample( 1863 EXPECT_GT(test::LastHistogramSample(
1864 "WebRTC.Video.NackPacketsReceivedPerMinute"), 0); 1864 "WebRTC.Video.NackPacketsReceivedPerMinute"), 0);
1865 } 1865 }
1866 1866
1867 void EndToEndTest::VerifyHistogramStats(bool use_rtx, bool use_red) { 1867 void EndToEndTest::VerifyHistogramStats(bool use_rtx,
1868 bool use_red,
1869 bool screenshare) {
1868 class StatsObserver : public test::EndToEndTest { 1870 class StatsObserver : public test::EndToEndTest {
1869 public: 1871 public:
1870 StatsObserver(bool use_rtx, bool use_red) 1872 StatsObserver(bool use_rtx, bool use_red, bool screenshare)
1871 : EndToEndTest(kLongTimeoutMs), 1873 : EndToEndTest(kLongTimeoutMs),
1872 use_rtx_(use_rtx), 1874 use_rtx_(use_rtx),
1873 use_red_(use_red), 1875 use_red_(use_red),
1876 screenshare_(screenshare),
1874 sender_call_(nullptr), 1877 sender_call_(nullptr),
1875 receiver_call_(nullptr), 1878 receiver_call_(nullptr),
1876 start_runtime_ms_(-1) {} 1879 start_runtime_ms_(-1) {}
1877 1880
1878 private: 1881 private:
1879 Action OnSendRtp(const uint8_t* packet, size_t length) override { 1882 Action OnSendRtp(const uint8_t* packet, size_t length) override {
1880 if (MinMetricRunTimePassed()) 1883 if (MinMetricRunTimePassed())
1881 observation_complete_->Set(); 1884 observation_complete_->Set();
1882 1885
1883 // GetStats calls GetSendChannelRtcpStatistics 1886 // GetStats calls GetSendChannelRtcpStatistics
(...skipping 30 matching lines...) Expand all
1914 } 1917 }
1915 // RTX 1918 // RTX
1916 if (use_rtx_) { 1919 if (use_rtx_) {
1917 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); 1920 send_config->rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]);
1918 send_config->rtp.rtx.payload_type = kSendRtxPayloadType; 1921 send_config->rtp.rtx.payload_type = kSendRtxPayloadType;
1919 (*receive_configs)[0].rtp.rtx[kFakeSendPayloadType].ssrc = 1922 (*receive_configs)[0].rtp.rtx[kFakeSendPayloadType].ssrc =
1920 kSendRtxSsrcs[0]; 1923 kSendRtxSsrcs[0];
1921 (*receive_configs)[0].rtp.rtx[kFakeSendPayloadType].payload_type = 1924 (*receive_configs)[0].rtp.rtx[kFakeSendPayloadType].payload_type =
1922 kSendRtxPayloadType; 1925 kSendRtxPayloadType;
1923 } 1926 }
1927 encoder_config->content_type =
1928 screenshare_ ? VideoEncoderConfig::ContentType::kScreen
1929 : VideoEncoderConfig::ContentType::kRealtimeVideo;
1924 } 1930 }
1925 1931
1926 void OnCallsCreated(Call* sender_call, Call* receiver_call) override { 1932 void OnCallsCreated(Call* sender_call, Call* receiver_call) override {
1927 sender_call_ = sender_call; 1933 sender_call_ = sender_call;
1928 receiver_call_ = receiver_call; 1934 receiver_call_ = receiver_call;
1929 } 1935 }
1930 1936
1931 void PerformTest() override { 1937 void PerformTest() override {
1932 EXPECT_EQ(kEventSignaled, Wait()) 1938 EXPECT_EQ(kEventSignaled, Wait())
1933 << "Timed out waiting for packet to be NACKed."; 1939 << "Timed out waiting for packet to be NACKed.";
1934 } 1940 }
1935 1941
1936 bool use_rtx_; 1942 const bool use_rtx_;
1937 bool use_red_; 1943 const bool use_red_;
1944 const bool screenshare_;
1938 Call* sender_call_; 1945 Call* sender_call_;
1939 Call* receiver_call_; 1946 Call* receiver_call_;
1940 int64_t start_runtime_ms_; 1947 int64_t start_runtime_ms_;
1941 } test(use_rtx, use_red); 1948 } test(use_rtx, use_red, screenshare);
1942 1949
1943 test::ClearHistograms(); 1950 test::ClearHistograms();
1944 RunBaseTest(&test, FakeNetworkPipe::Config()); 1951 RunBaseTest(&test, FakeNetworkPipe::Config());
1945 1952
1946 // Delete the call for Call stats to be reported. 1953 // Delete the call for Call stats to be reported.
1947 sender_call_.reset(); 1954 sender_call_.reset();
1948 receiver_call_.reset(); 1955 receiver_call_.reset();
1949 1956
1957 std::string video_prefix =
1958 screenshare ? "WebRTC.Video.Screenshare." : "WebRTC.Video.";
1959
1950 // Verify that stats have been updated once. 1960 // Verify that stats have been updated once.
1951 EXPECT_EQ( 1961 EXPECT_EQ(
1952 1, test::NumHistogramSamples("WebRTC.Call.VideoBitrateReceivedInKbps")); 1962 1, test::NumHistogramSamples("WebRTC.Call.VideoBitrateReceivedInKbps"));
1953 EXPECT_EQ(1, 1963 EXPECT_EQ(1,
1954 test::NumHistogramSamples("WebRTC.Call.RtcpBitrateReceivedInBps")); 1964 test::NumHistogramSamples("WebRTC.Call.RtcpBitrateReceivedInBps"));
1955 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Call.BitrateReceivedInKbps")); 1965 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Call.BitrateReceivedInKbps"));
1956 EXPECT_EQ( 1966 EXPECT_EQ(
1957 1, test::NumHistogramSamples("WebRTC.Call.EstimatedSendBitrateInKbps")); 1967 1, test::NumHistogramSamples("WebRTC.Call.EstimatedSendBitrateInKbps"));
1958 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Call.PacerBitrateInKbps")); 1968 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Call.PacerBitrateInKbps"));
1959 1969
1960 EXPECT_EQ(1, test::NumHistogramSamples( 1970 EXPECT_EQ(1, test::NumHistogramSamples(
1961 "WebRTC.Video.NackPacketsSentPerMinute")); 1971 "WebRTC.Video.NackPacketsSentPerMinute"));
1962 EXPECT_EQ(1, test::NumHistogramSamples( 1972 EXPECT_EQ(1, test::NumHistogramSamples(
1963 "WebRTC.Video.NackPacketsReceivedPerMinute")); 1973 "WebRTC.Video.NackPacketsReceivedPerMinute"));
1964 EXPECT_EQ(1, test::NumHistogramSamples( 1974 EXPECT_EQ(1, test::NumHistogramSamples(
1965 "WebRTC.Video.FirPacketsSentPerMinute")); 1975 "WebRTC.Video.FirPacketsSentPerMinute"));
1966 EXPECT_EQ(1, test::NumHistogramSamples( 1976 EXPECT_EQ(1, test::NumHistogramSamples(
1967 "WebRTC.Video.FirPacketsReceivedPerMinute")); 1977 "WebRTC.Video.FirPacketsReceivedPerMinute"));
1968 EXPECT_EQ(1, test::NumHistogramSamples( 1978 EXPECT_EQ(1, test::NumHistogramSamples(
1969 "WebRTC.Video.PliPacketsSentPerMinute")); 1979 "WebRTC.Video.PliPacketsSentPerMinute"));
1970 EXPECT_EQ(1, test::NumHistogramSamples( 1980 EXPECT_EQ(1, test::NumHistogramSamples(
1971 "WebRTC.Video.PliPacketsReceivedPerMinute")); 1981 "WebRTC.Video.PliPacketsReceivedPerMinute"));
1972 1982
1973 EXPECT_EQ(1, test::NumHistogramSamples( 1983 EXPECT_EQ(
1974 "WebRTC.Video.KeyFramesSentInPermille")); 1984 1, test::NumHistogramSamples(video_prefix + "KeyFramesSentInPermille"));
1975 EXPECT_EQ(1, test::NumHistogramSamples( 1985 EXPECT_EQ(1, test::NumHistogramSamples(
1976 "WebRTC.Video.KeyFramesReceivedInPermille")); 1986 "WebRTC.Video.KeyFramesReceivedInPermille"));
1977 1987
1978 EXPECT_EQ(1, test::NumHistogramSamples( 1988 EXPECT_EQ(1, test::NumHistogramSamples(
1979 "WebRTC.Video.SentPacketsLostInPercent")); 1989 "WebRTC.Video.SentPacketsLostInPercent"));
1980 EXPECT_EQ(1, test::NumHistogramSamples( 1990 EXPECT_EQ(1, test::NumHistogramSamples(
1981 "WebRTC.Video.ReceivedPacketsLostInPercent")); 1991 "WebRTC.Video.ReceivedPacketsLostInPercent"));
1982 1992
1983 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.InputWidthInPixels")); 1993 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "InputWidthInPixels"));
1984 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.InputHeightInPixels")); 1994 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "InputHeightInPixels"));
1985 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SentWidthInPixels")); 1995 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "SentWidthInPixels"));
1986 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SentHeightInPixels")); 1996 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "SentHeightInPixels"));
1987 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.ReceivedWidthInPixels")); 1997 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.ReceivedWidthInPixels"));
1988 EXPECT_EQ(1, 1998 EXPECT_EQ(1,
1989 test::NumHistogramSamples("WebRTC.Video.ReceivedHeightInPixels")); 1999 test::NumHistogramSamples("WebRTC.Video.ReceivedHeightInPixels"));
1990 2000
1991 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width), 2001 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width),
1992 test::LastHistogramSample("WebRTC.Video.InputWidthInPixels")); 2002 test::LastHistogramSample(video_prefix + "InputWidthInPixels"));
1993 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height), 2003 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height),
1994 test::LastHistogramSample("WebRTC.Video.InputHeightInPixels")); 2004 test::LastHistogramSample(video_prefix + "InputHeightInPixels"));
1995 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width), 2005 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width),
1996 test::LastHistogramSample("WebRTC.Video.SentWidthInPixels")); 2006 test::LastHistogramSample(video_prefix + "SentWidthInPixels"));
1997 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height), 2007 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height),
1998 test::LastHistogramSample("WebRTC.Video.SentHeightInPixels")); 2008 test::LastHistogramSample(video_prefix + "SentHeightInPixels"));
1999 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width), 2009 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].width),
2000 test::LastHistogramSample("WebRTC.Video.ReceivedWidthInPixels")); 2010 test::LastHistogramSample("WebRTC.Video.ReceivedWidthInPixels"));
2001 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height), 2011 EXPECT_EQ(static_cast<int>(encoder_config_.streams[0].height),
2002 test::LastHistogramSample("WebRTC.Video.ReceivedHeightInPixels")); 2012 test::LastHistogramSample("WebRTC.Video.ReceivedHeightInPixels"));
2003 2013
2004 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.InputFramesPerSecond")); 2014 EXPECT_EQ(1,
2005 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SentFramesPerSecond")); 2015 test::NumHistogramSamples(video_prefix + "InputFramesPerSecond"));
2016 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "SentFramesPerSecond"));
2006 EXPECT_EQ(1, test::NumHistogramSamples( 2017 EXPECT_EQ(1, test::NumHistogramSamples(
2007 "WebRTC.Video.DecodedFramesPerSecond")); 2018 "WebRTC.Video.DecodedFramesPerSecond"));
2008 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.RenderFramesPerSecond")); 2019 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.RenderFramesPerSecond"));
2009 2020
2010 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.OnewayDelayInMs")); 2021 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.OnewayDelayInMs"));
2011 EXPECT_EQ( 2022 EXPECT_EQ(
2012 1, test::NumHistogramSamples("WebRTC.Video.RenderSqrtPixelsPerSecond")); 2023 1, test::NumHistogramSamples("WebRTC.Video.RenderSqrtPixelsPerSecond"));
2013 2024
2014 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.EncodeTimeInMs")); 2025 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "EncodeTimeInMs"));
2015 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.DecodeTimeInMs")); 2026 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.DecodeTimeInMs"));
2016 2027
2017 EXPECT_EQ(1, test::NumHistogramSamples( 2028 EXPECT_EQ(1, test::NumHistogramSamples(
2018 "WebRTC.Video.BitrateSentInKbps")); 2029 "WebRTC.Video.BitrateSentInKbps"));
2019 EXPECT_EQ(1, test::NumHistogramSamples( 2030 EXPECT_EQ(1, test::NumHistogramSamples(
2020 "WebRTC.Video.BitrateReceivedInKbps")); 2031 "WebRTC.Video.BitrateReceivedInKbps"));
2021 EXPECT_EQ(1, test::NumHistogramSamples( 2032 EXPECT_EQ(1, test::NumHistogramSamples(
2022 "WebRTC.Video.MediaBitrateSentInKbps")); 2033 "WebRTC.Video.MediaBitrateSentInKbps"));
2023 EXPECT_EQ(1, test::NumHistogramSamples( 2034 EXPECT_EQ(1, test::NumHistogramSamples(
2024 "WebRTC.Video.MediaBitrateReceivedInKbps")); 2035 "WebRTC.Video.MediaBitrateReceivedInKbps"));
2025 EXPECT_EQ(1, test::NumHistogramSamples( 2036 EXPECT_EQ(1, test::NumHistogramSamples(
2026 "WebRTC.Video.PaddingBitrateSentInKbps")); 2037 "WebRTC.Video.PaddingBitrateSentInKbps"));
2027 EXPECT_EQ(1, test::NumHistogramSamples( 2038 EXPECT_EQ(1, test::NumHistogramSamples(
2028 "WebRTC.Video.PaddingBitrateReceivedInKbps")); 2039 "WebRTC.Video.PaddingBitrateReceivedInKbps"));
2029 EXPECT_EQ(1, test::NumHistogramSamples( 2040 EXPECT_EQ(1, test::NumHistogramSamples(
2030 "WebRTC.Video.RetransmittedBitrateSentInKbps")); 2041 "WebRTC.Video.RetransmittedBitrateSentInKbps"));
2031 EXPECT_EQ(1, test::NumHistogramSamples( 2042 EXPECT_EQ(1, test::NumHistogramSamples(
2032 "WebRTC.Video.RetransmittedBitrateReceivedInKbps")); 2043 "WebRTC.Video.RetransmittedBitrateReceivedInKbps"));
2033 2044
2034 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SendSideDelayInMs")); 2045 EXPECT_EQ(1, test::NumHistogramSamples(video_prefix + "SendSideDelayInMs"));
2035 EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.SendSideDelayMaxInMs")); 2046 EXPECT_EQ(1,
2047 test::NumHistogramSamples(video_prefix + "SendSideDelayMaxInMs"));
2036 2048
2037 int num_rtx_samples = use_rtx ? 1 : 0; 2049 int num_rtx_samples = use_rtx ? 1 : 0;
2038 EXPECT_EQ(num_rtx_samples, test::NumHistogramSamples( 2050 EXPECT_EQ(num_rtx_samples, test::NumHistogramSamples(
2039 "WebRTC.Video.RtxBitrateSentInKbps")); 2051 "WebRTC.Video.RtxBitrateSentInKbps"));
2040 EXPECT_EQ(num_rtx_samples, test::NumHistogramSamples( 2052 EXPECT_EQ(num_rtx_samples, test::NumHistogramSamples(
2041 "WebRTC.Video.RtxBitrateReceivedInKbps")); 2053 "WebRTC.Video.RtxBitrateReceivedInKbps"));
2042 2054
2043 int num_red_samples = use_red ? 1 : 0; 2055 int num_red_samples = use_red ? 1 : 0;
2044 EXPECT_EQ(num_red_samples, test::NumHistogramSamples( 2056 EXPECT_EQ(num_red_samples, test::NumHistogramSamples(
2045 "WebRTC.Video.FecBitrateSentInKbps")); 2057 "WebRTC.Video.FecBitrateSentInKbps"));
2046 EXPECT_EQ(num_red_samples, test::NumHistogramSamples( 2058 EXPECT_EQ(num_red_samples, test::NumHistogramSamples(
2047 "WebRTC.Video.FecBitrateReceivedInKbps")); 2059 "WebRTC.Video.FecBitrateReceivedInKbps"));
2048 EXPECT_EQ(num_red_samples, test::NumHistogramSamples( 2060 EXPECT_EQ(num_red_samples, test::NumHistogramSamples(
2049 "WebRTC.Video.ReceivedFecPacketsInPercent")); 2061 "WebRTC.Video.ReceivedFecPacketsInPercent"));
2050 } 2062 }
2051 2063
2052 TEST_F(EndToEndTest, VerifyHistogramStatsWithRtx) { 2064 TEST_F(EndToEndTest, VerifyHistogramStatsWithRtx) {
2053 const bool kEnabledRtx = true; 2065 const bool kEnabledRtx = true;
2054 const bool kEnabledRed = false; 2066 const bool kEnabledRed = false;
2055 VerifyHistogramStats(kEnabledRtx, kEnabledRed); 2067 const bool kScreenshare = false;
2068 VerifyHistogramStats(kEnabledRtx, kEnabledRed, kScreenshare);
2056 } 2069 }
2057 2070
2058 TEST_F(EndToEndTest, VerifyHistogramStatsWithRed) { 2071 TEST_F(EndToEndTest, VerifyHistogramStatsWithRed) {
2059 const bool kEnabledRtx = false; 2072 const bool kEnabledRtx = false;
2060 const bool kEnabledRed = true; 2073 const bool kEnabledRed = true;
2061 VerifyHistogramStats(kEnabledRtx, kEnabledRed); 2074 const bool kScreenshare = false;
2075 VerifyHistogramStats(kEnabledRtx, kEnabledRed, kScreenshare);
2076 }
2077
2078 TEST_F(EndToEndTest, VerifyHistogramStatsWithScreenshare) {
2079 const bool kEnabledRtx = false;
2080 const bool kEnabledRed = false;
2081 const bool kScreenshare = true;
2082 VerifyHistogramStats(kEnabledRtx, kEnabledRed, kScreenshare);
2062 } 2083 }
2063 2084
2064 void EndToEndTest::TestXrReceiverReferenceTimeReport(bool enable_rrtr) { 2085 void EndToEndTest::TestXrReceiverReferenceTimeReport(bool enable_rrtr) {
2065 static const int kNumRtcpReportPacketsToObserve = 5; 2086 static const int kNumRtcpReportPacketsToObserve = 5;
2066 class RtcpXrObserver : public test::EndToEndTest { 2087 class RtcpXrObserver : public test::EndToEndTest {
2067 public: 2088 public:
2068 explicit RtcpXrObserver(bool enable_rrtr) 2089 explicit RtcpXrObserver(bool enable_rrtr)
2069 : EndToEndTest(kDefaultTimeoutMs), 2090 : EndToEndTest(kDefaultTimeoutMs),
2070 enable_rrtr_(enable_rrtr), 2091 enable_rrtr_(enable_rrtr),
2071 sent_rtcp_sr_(0), 2092 sent_rtcp_sr_(0),
(...skipping 1119 matching lines...) Expand 10 before | Expand all | Expand 10 after
3191 EXPECT_TRUE(default_receive_config.rtp.rtx.empty()) 3212 EXPECT_TRUE(default_receive_config.rtp.rtx.empty())
3192 << "Enabling RTX requires rtpmap: rtx negotiation."; 3213 << "Enabling RTX requires rtpmap: rtx negotiation.";
3193 EXPECT_TRUE(default_receive_config.rtp.extensions.empty()) 3214 EXPECT_TRUE(default_receive_config.rtp.extensions.empty())
3194 << "Enabling RTP extensions require negotiation."; 3215 << "Enabling RTP extensions require negotiation.";
3195 3216
3196 VerifyEmptyNackConfig(default_receive_config.rtp.nack); 3217 VerifyEmptyNackConfig(default_receive_config.rtp.nack);
3197 VerifyEmptyFecConfig(default_receive_config.rtp.fec); 3218 VerifyEmptyFecConfig(default_receive_config.rtp.fec);
3198 } 3219 }
3199 3220
3200 } // namespace webrtc 3221 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698