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

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

Issue 1438543002: Revert of Work on flexible mode and screen sharing. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: 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
« no previous file with comments | « webrtc/video/video_send_stream.cc ('k') | no next file » | 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> // max 10 #include <algorithm> // max
(...skipping 1775 matching lines...) Expand 10 before | Expand all | Expand 10 after
1786 } test; 1786 } test;
1787 1787
1788 RunBaseTest(&test, FakeNetworkPipe::Config()); 1788 RunBaseTest(&test, FakeNetworkPipe::Config());
1789 } 1789 }
1790 1790
1791 class VP9HeaderObeserver : public test::SendTest { 1791 class VP9HeaderObeserver : public test::SendTest {
1792 public: 1792 public:
1793 VP9HeaderObeserver() 1793 VP9HeaderObeserver()
1794 : SendTest(VideoSendStreamTest::kDefaultTimeoutMs), 1794 : SendTest(VideoSendStreamTest::kDefaultTimeoutMs),
1795 vp9_encoder_(VP9Encoder::Create()), 1795 vp9_encoder_(VP9Encoder::Create()),
1796 vp9_settings_(VideoEncoder::GetDefaultVp9Settings()) { 1796 vp9_settings_(VideoEncoder::GetDefaultVp9Settings()) {}
1797 vp9_settings_.numberOfTemporalLayers = 1;
1798 vp9_settings_.numberOfSpatialLayers = 2;
1799 }
1800 1797
1801 virtual void ModifyConfigsHook( 1798 virtual void ModifyConfigsHook(
1802 VideoSendStream::Config* send_config, 1799 VideoSendStream::Config* send_config,
1803 std::vector<VideoReceiveStream::Config>* receive_configs, 1800 std::vector<VideoReceiveStream::Config>* receive_configs,
1804 VideoEncoderConfig* encoder_config) {} 1801 VideoEncoderConfig* encoder_config) {}
1805 1802
1806 virtual void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) = 0; 1803 virtual void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) = 0;
1807 1804
1808 private: 1805 private:
1809 const int kVp9PayloadType = 105; 1806 const int kVp9PayloadType = 105;
1810 1807
1811 void ModifyConfigs(VideoSendStream::Config* send_config, 1808 void ModifyConfigs(VideoSendStream::Config* send_config,
1812 std::vector<VideoReceiveStream::Config>* receive_configs, 1809 std::vector<VideoReceiveStream::Config>* receive_configs,
1813 VideoEncoderConfig* encoder_config) override { 1810 VideoEncoderConfig* encoder_config) override {
1814 encoder_config->encoder_specific_settings = &vp9_settings_; 1811 encoder_config->encoder_specific_settings = &vp9_settings_;
1815 encoder_config->content_type = VideoEncoderConfig::ContentType::kScreen;
1816 send_config->encoder_settings.encoder = vp9_encoder_.get(); 1812 send_config->encoder_settings.encoder = vp9_encoder_.get();
1817 send_config->encoder_settings.payload_name = "VP9"; 1813 send_config->encoder_settings.payload_name = "VP9";
1818 send_config->encoder_settings.payload_type = kVp9PayloadType; 1814 send_config->encoder_settings.payload_type = kVp9PayloadType;
1819 ModifyConfigsHook(send_config, receive_configs, encoder_config); 1815 ModifyConfigsHook(send_config, receive_configs, encoder_config);
1820 } 1816 }
1821 1817
1822 void PerformTest() override { 1818 void PerformTest() override {
1823 EXPECT_EQ(kEventSignaled, Wait()) 1819 EXPECT_EQ(kEventSignaled, Wait())
1824 << "Test timed out waiting for VP9 packet"; 1820 << "Test timed out waiting for VP9 packet";
1825 } 1821 }
(...skipping 28 matching lines...) Expand all
1854 } 1850 }
1855 1851
1856 return SEND_PACKET; 1852 return SEND_PACKET;
1857 } 1853 }
1858 1854
1859 protected: 1855 protected:
1860 rtc::scoped_ptr<VP9Encoder> vp9_encoder_; 1856 rtc::scoped_ptr<VP9Encoder> vp9_encoder_;
1861 VideoCodecVP9 vp9_settings_; 1857 VideoCodecVP9 vp9_settings_;
1862 }; 1858 };
1863 1859
1860 TEST_F(VideoSendStreamTest, VP9NoFlexMode) {
1861 class NoFlexibleMode : public VP9HeaderObeserver {
1862 void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) override {
1863 EXPECT_FALSE(vp9videoHeader->flexible_mode);
1864 observation_complete_->Set();
1865 }
1866 } test;
1867
1868 RunBaseTest(&test, FakeNetworkPipe::Config());
1869 }
1870
1864 TEST_F(VideoSendStreamTest, DISABLED_VP9FlexMode) { 1871 TEST_F(VideoSendStreamTest, DISABLED_VP9FlexMode) {
1865 class FlexibleMode : public VP9HeaderObeserver { 1872 class FlexibleMode : public VP9HeaderObeserver {
1866 void ModifyConfigsHook( 1873 void ModifyConfigsHook(
1867 VideoSendStream::Config* send_config, 1874 VideoSendStream::Config* send_config,
1868 std::vector<VideoReceiveStream::Config>* receive_configs, 1875 std::vector<VideoReceiveStream::Config>* receive_configs,
1869 VideoEncoderConfig* encoder_config) override { 1876 VideoEncoderConfig* encoder_config) override {
1870 vp9_settings_.flexibleMode = true; 1877 vp9_settings_.flexibleMode = true;
1871 } 1878 }
1872 1879
1873 void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) override { 1880 void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) override {
1874 EXPECT_TRUE(vp9videoHeader->flexible_mode); 1881 EXPECT_TRUE(vp9videoHeader->flexible_mode);
1875 observation_complete_->Set(); 1882 observation_complete_->Set();
1876 } 1883 }
1877 } test;
1878
1879 RunBaseTest(&test, FakeNetworkPipe::Config());
1880 }
1881
1882 TEST_F(VideoSendStreamTest, VP9FlexModeHasPictureId) {
1883 class FlexibleMode : public VP9HeaderObeserver {
1884 void ModifyConfigsHook(
1885 VideoSendStream::Config* send_config,
1886 std::vector<VideoReceiveStream::Config>* receive_configs,
1887 VideoEncoderConfig* encoder_config) override {
1888 vp9_settings_.flexibleMode = true;
1889 }
1890
1891 void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) override {
1892 EXPECT_NE(vp9videoHeader->picture_id, kNoPictureId);
1893 observation_complete_->Set();
1894 }
1895 } test;
1896
1897 RunBaseTest(&test, FakeNetworkPipe::Config());
1898 }
1899
1900 TEST_F(VideoSendStreamTest, VP9FlexModeRefCount) {
1901 class FlexibleMode : public VP9HeaderObeserver {
1902 void ModifyConfigsHook(
1903 VideoSendStream::Config* send_config,
1904 std::vector<VideoReceiveStream::Config>* receive_configs,
1905 VideoEncoderConfig* encoder_config) override {
1906 vp9_settings_.flexibleMode = true;
1907 }
1908
1909 void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) override {
1910 EXPECT_TRUE(vp9videoHeader->flexible_mode);
1911 if (vp9videoHeader->inter_pic_predicted) {
1912 EXPECT_GT(vp9videoHeader->num_ref_pics, 0u);
1913 observation_complete_->Set();
1914 }
1915 }
1916 } test;
1917
1918 RunBaseTest(&test, FakeNetworkPipe::Config());
1919 }
1920
1921 TEST_F(VideoSendStreamTest, VP9FlexModeRefs) {
1922 class FlexibleMode : public VP9HeaderObeserver {
1923 void ModifyConfigsHook(
1924 VideoSendStream::Config* send_config,
1925 std::vector<VideoReceiveStream::Config>* receive_configs,
1926 VideoEncoderConfig* encoder_config) override {
1927 vp9_settings_.flexibleMode = true;
1928 }
1929
1930 void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) override {
1931 EXPECT_TRUE(vp9videoHeader->flexible_mode);
1932 if (vp9videoHeader->inter_pic_predicted) {
1933 EXPECT_GT(vp9videoHeader->num_ref_pics, 0u);
1934 observation_complete_->Set();
1935 }
1936 }
1937 1884
1938 } test; 1885 } test;
1939 1886
1940 RunBaseTest(&test, FakeNetworkPipe::Config()); 1887 RunBaseTest(&test, FakeNetworkPipe::Config());
1941 } 1888 }
1942 1889
1943 } // namespace webrtc 1890 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/video_send_stream.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698