OLD | NEW |
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 Loading... |
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) { |
| 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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |