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

Side by Side Diff: webrtc/media/engine/webrtcvideoengine2_unittest.cc

Issue 1836043004: Cleanup the VideoAdapter (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Addressed sprangs comments. Created 4 years, 8 months 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) 2004 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2004 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 10
(...skipping 1994 matching lines...) Expand 10 before | Expand all | Expand 10 after
2005 EXPECT_EQ(1280 * 3 / 4, send_stream->GetLastWidth()); 2005 EXPECT_EQ(1280 * 3 / 4, send_stream->GetLastWidth());
2006 EXPECT_EQ(720 * 3 / 4, send_stream->GetLastHeight()); 2006 EXPECT_EQ(720 * 3 / 4, send_stream->GetLastHeight());
2007 2007
2008 // Trigger overuse again. 2008 // Trigger overuse again.
2009 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); 2009 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse);
2010 EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720, cricket::FOURCC_I420)); 2010 EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720, cricket::FOURCC_I420));
2011 EXPECT_EQ(3, send_stream->GetNumberOfSwappedFrames()); 2011 EXPECT_EQ(3, send_stream->GetNumberOfSwappedFrames());
2012 EXPECT_EQ(1280 * 2 / 4, send_stream->GetLastWidth()); 2012 EXPECT_EQ(1280 * 2 / 4, send_stream->GetLastWidth());
2013 EXPECT_EQ(720 * 2 / 4, send_stream->GetLastHeight()); 2013 EXPECT_EQ(720 * 2 / 4, send_stream->GetLastHeight());
2014 2014
2015 // Trigger overuse again. This should not decrease the resolution since we
2016 // should only adapt the resolution down max two steps.
2017 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse);
2018 EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720, cricket::FOURCC_I420));
2019 EXPECT_EQ(4, send_stream->GetNumberOfSwappedFrames());
2020 EXPECT_EQ(1280 * 2 / 4, send_stream->GetLastWidth());
2021 EXPECT_EQ(720 * 2 / 4, send_stream->GetLastHeight());
2022
2015 // Change input resolution. 2023 // Change input resolution.
2016 EXPECT_TRUE(capturer.CaptureCustomFrame(1284, 724, cricket::FOURCC_I420)); 2024 EXPECT_TRUE(capturer.CaptureCustomFrame(1284, 724, cricket::FOURCC_I420));
2017 EXPECT_EQ(4, send_stream->GetNumberOfSwappedFrames()); 2025 EXPECT_EQ(5, send_stream->GetNumberOfSwappedFrames());
2018 EXPECT_EQ(1284 / 2, send_stream->GetLastWidth()); 2026 EXPECT_EQ(1284 / 2, send_stream->GetLastWidth());
2019 EXPECT_EQ(724 / 2, send_stream->GetLastHeight()); 2027 EXPECT_EQ(724 / 2, send_stream->GetLastHeight());
2020 2028
2021 // Trigger underuse which should go back up in resolution. 2029 // Trigger underuse which should go back up in resolution.
2022 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kUnderuse); 2030 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kUnderuse);
2023 EXPECT_TRUE(capturer.CaptureCustomFrame(1284, 724, cricket::FOURCC_I420)); 2031 EXPECT_TRUE(capturer.CaptureCustomFrame(1284, 724, cricket::FOURCC_I420));
2024 EXPECT_EQ(5, send_stream->GetNumberOfSwappedFrames()); 2032 EXPECT_EQ(6, send_stream->GetNumberOfSwappedFrames());
2025 EXPECT_EQ(1284 * 3 / 4, send_stream->GetLastWidth()); 2033 EXPECT_EQ(1284 * 3 / 4, send_stream->GetLastWidth());
2026 EXPECT_EQ(724 * 3 / 4, send_stream->GetLastHeight()); 2034 EXPECT_EQ(724 * 3 / 4, send_stream->GetLastHeight());
2027 2035
2028 // Trigger underuse which should go back up in resolution. 2036 // Trigger underuse which should go back up in resolution.
2029 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kUnderuse); 2037 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kUnderuse);
2030 EXPECT_TRUE(capturer.CaptureCustomFrame(1284, 724, cricket::FOURCC_I420)); 2038 EXPECT_TRUE(capturer.CaptureCustomFrame(1284, 724, cricket::FOURCC_I420));
2031 EXPECT_EQ(6, send_stream->GetNumberOfSwappedFrames()); 2039 EXPECT_EQ(7, send_stream->GetNumberOfSwappedFrames());
2032 EXPECT_EQ(1284, send_stream->GetLastWidth()); 2040 EXPECT_EQ(1284, send_stream->GetLastWidth());
2033 EXPECT_EQ(724, send_stream->GetLastHeight()); 2041 EXPECT_EQ(724, send_stream->GetLastHeight());
2034 2042
2035 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL)); 2043 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL));
2036 } 2044 }
2037 2045
2046 TEST_F(WebRtcVideoChannel2Test, AdaptsOnOveruseAndSwitchToScreenShare) {
pbos-webrtc 2016/04/05 10:22:32 PreviousAdaptationDoesNotApplyToScreenshare?
perkj_webrtc 2016/04/05 11:44:45 Done.
2047 cricket::VideoCodec codec = kVp8Codec720p;
2048 cricket::VideoSendParameters parameters;
2049 parameters.codecs.push_back(codec);
2050
2051 MediaConfig media_config = MediaConfig();
2052 channel_.reset(
2053 engine_.CreateChannel(fake_call_.get(), media_config, VideoOptions()));
2054 ASSERT_TRUE(channel_->SetSendParameters(parameters));
2055
2056 AddSendStream();
2057
2058 cricket::FakeVideoCapturer capturer;
2059 ASSERT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer));
2060 ASSERT_EQ(cricket::CS_RUNNING,
2061 capturer.Start(capturer.GetSupportedFormats()->front()));
2062 ASSERT_TRUE(channel_->SetSend(true));
2063 cricket::VideoOptions camera_options;
2064 channel_->SetVideoSend(last_ssrc_, true /* enable */, &camera_options);
2065
2066 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size());
2067 FakeVideoSendStream* send_stream = fake_call_->GetVideoSendStreams().front();
2068 webrtc::LoadObserver* overuse_callback =
2069 send_stream->GetConfig().overuse_callback;
2070 ASSERT_TRUE(overuse_callback != NULL);
2071
2072 EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720, cricket::FOURCC_I420));
2073 EXPECT_EQ(1, send_stream->GetNumberOfSwappedFrames());
2074 EXPECT_EQ(1280, send_stream->GetLastWidth());
2075 EXPECT_EQ(720, send_stream->GetLastHeight());
2076
2077 // Trigger overuse.
2078 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse);
2079 EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720, cricket::FOURCC_I420));
2080 EXPECT_EQ(2, send_stream->GetNumberOfSwappedFrames());
2081 EXPECT_EQ(1280 * 3 / 4, send_stream->GetLastWidth());
2082 EXPECT_EQ(720 * 3 / 4, send_stream->GetLastHeight());
2083
2084 // Switch to screen share. Expect no CPU adaptation.
2085 cricket::FakeVideoCapturer screen_share(true);
2086 ASSERT_EQ(cricket::CS_RUNNING,
2087 screen_share.Start(screen_share.GetSupportedFormats()->front()));
2088 ASSERT_TRUE(channel_->SetCapturer(last_ssrc_, &screen_share));
2089 cricket::VideoOptions screenshare_options;
2090 screenshare_options.is_screencast = rtc::Optional<bool>(true);
2091 channel_->SetVideoSend(last_ssrc_, true /* enable */, &screenshare_options);
2092 EXPECT_TRUE(screen_share.CaptureCustomFrame(1284, 724, cricket::FOURCC_I420));
2093 EXPECT_EQ(3, send_stream->GetNumberOfSwappedFrames());
2094 EXPECT_EQ(1284, send_stream->GetLastWidth());
2095 EXPECT_EQ(724, send_stream->GetLastHeight());
2096
2097 // Switch back to the normal capturer. Expect the frame to be CPU adapted.
2098 ASSERT_TRUE(channel_->SetCapturer(last_ssrc_, &capturer));
2099 channel_->SetVideoSend(last_ssrc_, true /* enable */, &camera_options);
2100 EXPECT_TRUE(capturer.CaptureCustomFrame(1280, 720, cricket::FOURCC_I420));
2101 EXPECT_EQ(4, send_stream->GetNumberOfSwappedFrames());
2102 EXPECT_EQ(1280 * 3 / 4, send_stream->GetLastWidth());
2103 EXPECT_EQ(720 * 3 / 4, send_stream->GetLastHeight());
2104
2105 EXPECT_TRUE(channel_->SetCapturer(last_ssrc_, NULL));
2106 }
2107
2038 void WebRtcVideoChannel2Test::TestCpuAdaptation(bool enable_overuse, 2108 void WebRtcVideoChannel2Test::TestCpuAdaptation(bool enable_overuse,
2039 bool is_screenshare) { 2109 bool is_screenshare) {
2040 cricket::VideoCodec codec = kVp8Codec720p; 2110 cricket::VideoCodec codec = kVp8Codec720p;
2041 cricket::VideoSendParameters parameters; 2111 cricket::VideoSendParameters parameters;
2042 parameters.codecs.push_back(codec); 2112 parameters.codecs.push_back(codec);
2043 2113
2044 MediaConfig media_config = MediaConfig(); 2114 MediaConfig media_config = MediaConfig();
2045 if (!enable_overuse) { 2115 if (!enable_overuse) {
2046 media_config.video.enable_cpu_overuse_detection = false; 2116 media_config.video.enable_cpu_overuse_detection = false;
2047 } 2117 }
(...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after
2752 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; 2822 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback;
2753 ASSERT_TRUE(overuse_callback != NULL); 2823 ASSERT_TRUE(overuse_callback != NULL);
2754 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); 2824 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse);
2755 2825
2756 // Capture format VGA -> adapt (OnCpuResolutionRequest downgrade) -> VGA/2. 2826 // Capture format VGA -> adapt (OnCpuResolutionRequest downgrade) -> VGA/2.
2757 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); 2827 EXPECT_TRUE(video_capturer_vga.CaptureFrame());
2758 cricket::VideoMediaInfo info; 2828 cricket::VideoMediaInfo info;
2759 EXPECT_TRUE(channel_->GetStats(&info)); 2829 EXPECT_TRUE(channel_->GetStats(&info));
2760 ASSERT_EQ(1U, info.senders.size()); 2830 ASSERT_EQ(1U, info.senders.size());
2761 EXPECT_EQ(1, info.senders[0].adapt_changes); 2831 EXPECT_EQ(1, info.senders[0].adapt_changes);
2762 EXPECT_EQ(CoordinatedVideoAdapter::ADAPTREASON_CPU, 2832 EXPECT_EQ(WebRtcVideoChannel2::ADAPTREASON_CPU, info.senders[0].adapt_reason);
2763 info.senders[0].adapt_reason);
2764 2833
2765 // Trigger upgrade and verify that we adapt back up to VGA. 2834 // Trigger upgrade and verify that we adapt back up to VGA.
2766 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kUnderuse); 2835 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kUnderuse);
2767 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); 2836 EXPECT_TRUE(video_capturer_vga.CaptureFrame());
2768 info.Clear(); 2837 info.Clear();
2769 EXPECT_TRUE(channel_->GetStats(&info)); 2838 EXPECT_TRUE(channel_->GetStats(&info));
2770 ASSERT_EQ(1U, info.senders.size()); 2839 ASSERT_EQ(1U, info.senders.size());
2771 EXPECT_EQ(2, info.senders[0].adapt_changes); 2840 EXPECT_EQ(2, info.senders[0].adapt_changes);
2772 EXPECT_EQ(CoordinatedVideoAdapter::ADAPTREASON_NONE, 2841 EXPECT_EQ(WebRtcVideoChannel2::ADAPTREASON_NONE,
2773 info.senders[0].adapt_reason); 2842 info.senders[0].adapt_reason);
2774 2843
2775 // No capturer (no adapter). Adapt changes from old adapter should be kept. 2844 // No capturer (no adapter). Adapt changes from old adapter should be kept.
2776 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], NULL)); 2845 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], NULL));
2777 info.Clear(); 2846 info.Clear();
2778 EXPECT_TRUE(channel_->GetStats(&info)); 2847 EXPECT_TRUE(channel_->GetStats(&info));
2779 ASSERT_EQ(1U, info.senders.size()); 2848 ASSERT_EQ(1U, info.senders.size());
2780 EXPECT_EQ(2, info.senders[0].adapt_changes); 2849 EXPECT_EQ(2, info.senders[0].adapt_changes);
2781 EXPECT_EQ(CoordinatedVideoAdapter::ADAPTREASON_NONE, 2850 EXPECT_EQ(WebRtcVideoChannel2::ADAPTREASON_NONE,
2782 info.senders[0].adapt_reason); 2851 info.senders[0].adapt_reason);
2783 2852
2784 // Set new capturer, capture format HD. 2853 // Set new capturer, capture format HD.
2785 cricket::FakeVideoCapturer video_capturer_hd; 2854 cricket::FakeVideoCapturer video_capturer_hd;
2786 cricket::VideoFormat capture_format_hd = (*formats)[0]; 2855 cricket::VideoFormat capture_format_hd = (*formats)[0];
2787 EXPECT_EQ(cricket::CS_RUNNING, video_capturer_hd.Start(capture_format_hd)); 2856 EXPECT_EQ(cricket::CS_RUNNING, video_capturer_hd.Start(capture_format_hd));
2788 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_hd)); 2857 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], &video_capturer_hd));
2789 EXPECT_TRUE(video_capturer_hd.CaptureFrame()); 2858 EXPECT_TRUE(video_capturer_hd.CaptureFrame());
2790 2859
2791 // Trigger overuse, HD -> adapt (OnCpuResolutionRequest downgrade) -> HD/2. 2860 // Trigger overuse, HD -> adapt (OnCpuResolutionRequest downgrade) -> HD/2.
2792 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); 2861 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse);
2793 EXPECT_TRUE(video_capturer_hd.CaptureFrame()); 2862 EXPECT_TRUE(video_capturer_hd.CaptureFrame());
2794 info.Clear(); 2863 info.Clear();
2795 EXPECT_TRUE(channel_->GetStats(&info)); 2864 EXPECT_TRUE(channel_->GetStats(&info));
2796 ASSERT_EQ(1U, info.senders.size()); 2865 ASSERT_EQ(1U, info.senders.size());
2797 EXPECT_EQ(3, info.senders[0].adapt_changes); 2866 EXPECT_EQ(3, info.senders[0].adapt_changes);
2798 EXPECT_EQ(CoordinatedVideoAdapter::ADAPTREASON_CPU, 2867 EXPECT_EQ(WebRtcVideoChannel2::ADAPTREASON_CPU, info.senders[0].adapt_reason);
2799 info.senders[0].adapt_reason);
2800 2868
2801 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], NULL)); 2869 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], NULL));
2802 } 2870 }
2803 2871
2804 TEST_F(WebRtcVideoChannel2Test, GetStatsTracksAdaptationAndBandwidthStats) { 2872 TEST_F(WebRtcVideoChannel2Test, GetStatsTracksAdaptationAndBandwidthStats) {
2805 AddSendStream(cricket::CreateSimStreamParams("cname", MAKE_VECTOR(kSsrcs3))); 2873 AddSendStream(cricket::CreateSimStreamParams("cname", MAKE_VECTOR(kSsrcs3)));
2806 2874
2807 // Capture format VGA. 2875 // Capture format VGA.
2808 cricket::FakeVideoCapturer video_capturer_vga; 2876 cricket::FakeVideoCapturer video_capturer_vga;
2809 const std::vector<cricket::VideoFormat>* formats = 2877 const std::vector<cricket::VideoFormat>* formats =
(...skipping 14 matching lines...) Expand all
2824 // Trigger overuse -> adapt CPU. 2892 // Trigger overuse -> adapt CPU.
2825 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size()); 2893 ASSERT_EQ(1u, fake_call_->GetVideoSendStreams().size());
2826 webrtc::LoadObserver* overuse_callback = 2894 webrtc::LoadObserver* overuse_callback =
2827 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback; 2895 fake_call_->GetVideoSendStreams().front()->GetConfig().overuse_callback;
2828 ASSERT_TRUE(overuse_callback != NULL); 2896 ASSERT_TRUE(overuse_callback != NULL);
2829 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse); 2897 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kOveruse);
2830 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); 2898 EXPECT_TRUE(video_capturer_vga.CaptureFrame());
2831 cricket::VideoMediaInfo info; 2899 cricket::VideoMediaInfo info;
2832 EXPECT_TRUE(channel_->GetStats(&info)); 2900 EXPECT_TRUE(channel_->GetStats(&info));
2833 ASSERT_EQ(1U, info.senders.size()); 2901 ASSERT_EQ(1U, info.senders.size());
2834 EXPECT_EQ(CoordinatedVideoAdapter::ADAPTREASON_CPU, 2902 EXPECT_EQ(WebRtcVideoChannel2::ADAPTREASON_CPU, info.senders[0].adapt_reason);
2835 info.senders[0].adapt_reason);
2836 2903
2837 // Set bandwidth limitation stats for the stream -> adapt CPU + BW. 2904 // Set bandwidth limitation stats for the stream -> adapt CPU + BW.
2838 webrtc::VideoSendStream::Stats stats; 2905 webrtc::VideoSendStream::Stats stats;
2839 stats.bw_limited_resolution = true; 2906 stats.bw_limited_resolution = true;
2840 fake_call_->GetVideoSendStreams().front()->SetStats(stats); 2907 fake_call_->GetVideoSendStreams().front()->SetStats(stats);
2841 info.Clear(); 2908 info.Clear();
2842 EXPECT_TRUE(channel_->GetStats(&info)); 2909 EXPECT_TRUE(channel_->GetStats(&info));
2843 ASSERT_EQ(1U, info.senders.size()); 2910 ASSERT_EQ(1U, info.senders.size());
2844 EXPECT_EQ(CoordinatedVideoAdapter::ADAPTREASON_CPU + 2911 EXPECT_EQ(WebRtcVideoChannel2::ADAPTREASON_CPU |
2845 CoordinatedVideoAdapter::ADAPTREASON_BANDWIDTH, 2912 WebRtcVideoChannel2::ADAPTREASON_BANDWIDTH,
2846 info.senders[0].adapt_reason); 2913 info.senders[0].adapt_reason);
2847 2914
2848 // Trigger upgrade -> adapt BW. 2915 // Trigger upgrade -> adapt BW.
2849 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kUnderuse); 2916 overuse_callback->OnLoadUpdate(webrtc::LoadObserver::kUnderuse);
2850 EXPECT_TRUE(video_capturer_vga.CaptureFrame()); 2917 EXPECT_TRUE(video_capturer_vga.CaptureFrame());
2851 info.Clear(); 2918 info.Clear();
2852 EXPECT_TRUE(channel_->GetStats(&info)); 2919 EXPECT_TRUE(channel_->GetStats(&info));
2853 ASSERT_EQ(1U, info.senders.size()); 2920 ASSERT_EQ(1U, info.senders.size());
2854 EXPECT_EQ(CoordinatedVideoAdapter::ADAPTREASON_BANDWIDTH, 2921 EXPECT_EQ(WebRtcVideoChannel2::ADAPTREASON_BANDWIDTH,
2855 info.senders[0].adapt_reason); 2922 info.senders[0].adapt_reason);
2856 2923
2857 // Reset bandwidth limitation state -> adapt NONE. 2924 // Reset bandwidth limitation state -> adapt NONE.
2858 stats.bw_limited_resolution = false; 2925 stats.bw_limited_resolution = false;
2859 fake_call_->GetVideoSendStreams().front()->SetStats(stats); 2926 fake_call_->GetVideoSendStreams().front()->SetStats(stats);
2860 info.Clear(); 2927 info.Clear();
2861 EXPECT_TRUE(channel_->GetStats(&info)); 2928 EXPECT_TRUE(channel_->GetStats(&info));
2862 ASSERT_EQ(1U, info.senders.size()); 2929 ASSERT_EQ(1U, info.senders.size());
2863 EXPECT_EQ(CoordinatedVideoAdapter::ADAPTREASON_NONE, 2930 EXPECT_EQ(WebRtcVideoChannel2::ADAPTREASON_NONE,
2864 info.senders[0].adapt_reason); 2931 info.senders[0].adapt_reason);
2865 2932
2866 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], NULL)); 2933 EXPECT_TRUE(channel_->SetCapturer(kSsrcs3[0], NULL));
2867 } 2934 }
2868 2935
2869 TEST_F(WebRtcVideoChannel2Test, 2936 TEST_F(WebRtcVideoChannel2Test,
2870 GetStatsTranslatesBandwidthLimitedResolutionCorrectly) { 2937 GetStatsTranslatesBandwidthLimitedResolutionCorrectly) {
2871 FakeVideoSendStream* stream = AddSendStream(); 2938 FakeVideoSendStream* stream = AddSendStream();
2872 webrtc::VideoSendStream::Stats stats; 2939 webrtc::VideoSendStream::Stats stats;
2873 stats.bw_limited_resolution = true; 2940 stats.bw_limited_resolution = true;
2874 stream->SetStats(stats); 2941 stream->SetStats(stats);
2875 2942
2876 cricket::VideoMediaInfo info; 2943 cricket::VideoMediaInfo info;
2877 EXPECT_TRUE(channel_->GetStats(&info)); 2944 EXPECT_TRUE(channel_->GetStats(&info));
2878 ASSERT_EQ(1U, info.senders.size()); 2945 ASSERT_EQ(1U, info.senders.size());
2879 EXPECT_EQ(CoordinatedVideoAdapter::ADAPTREASON_BANDWIDTH, 2946 EXPECT_EQ(WebRtcVideoChannel2::ADAPTREASON_BANDWIDTH,
2880 info.senders[0].adapt_reason); 2947 info.senders[0].adapt_reason);
2881 } 2948 }
2882 2949
2883 TEST_F(WebRtcVideoChannel2Test, 2950 TEST_F(WebRtcVideoChannel2Test,
2884 GetStatsTranslatesSendRtcpPacketTypesCorrectly) { 2951 GetStatsTranslatesSendRtcpPacketTypesCorrectly) {
2885 FakeVideoSendStream* stream = AddSendStream(); 2952 FakeVideoSendStream* stream = AddSendStream();
2886 webrtc::VideoSendStream::Stats stats; 2953 webrtc::VideoSendStream::Stats stats;
2887 stats.substreams[17].rtcp_packet_type_counts.fir_packets = 2; 2954 stats.substreams[17].rtcp_packet_type_counts.fir_packets = 2;
2888 stats.substreams[17].rtcp_packet_type_counts.nack_packets = 3; 2955 stats.substreams[17].rtcp_packet_type_counts.nack_packets = 3;
2889 stats.substreams[17].rtcp_packet_type_counts.pli_packets = 4; 2956 stats.substreams[17].rtcp_packet_type_counts.pli_packets = 4;
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
3491 } 3558 }
3492 3559
3493 // Test that we normalize send codec format size in simulcast. 3560 // Test that we normalize send codec format size in simulcast.
3494 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) { 3561 TEST_F(WebRtcVideoChannel2SimulcastTest, SetSendCodecsWithOddSizeInSimulcast) {
3495 cricket::VideoCodec codec(kVp8Codec270p); 3562 cricket::VideoCodec codec(kVp8Codec270p);
3496 codec.width += 1; 3563 codec.width += 1;
3497 codec.height += 1; 3564 codec.height += 1;
3498 VerifySimulcastSettings(codec, 2, 2); 3565 VerifySimulcastSettings(codec, 2, 2);
3499 } 3566 }
3500 } // namespace cricket 3567 } // namespace cricket
OLDNEW
« webrtc/media/engine/webrtcvideoengine2.h ('K') | « webrtc/media/engine/webrtcvideoengine2.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698