Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 3138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3149 TEST_F(VideoSendStreamTest, | 3149 TEST_F(VideoSendStreamTest, |
| 3150 RequestSourceRotateIfVideoOrientationExtensionNotSupported) { | 3150 RequestSourceRotateIfVideoOrientationExtensionNotSupported) { |
| 3151 TestRequestSourceRotateVideo(false); | 3151 TestRequestSourceRotateVideo(false); |
| 3152 } | 3152 } |
| 3153 | 3153 |
| 3154 TEST_F(VideoSendStreamTest, | 3154 TEST_F(VideoSendStreamTest, |
| 3155 DoNotRequestsRotationIfVideoOrientationExtensionSupported) { | 3155 DoNotRequestsRotationIfVideoOrientationExtensionSupported) { |
| 3156 TestRequestSourceRotateVideo(true); | 3156 TestRequestSourceRotateVideo(true); |
| 3157 } | 3157 } |
| 3158 | 3158 |
| 3159 // Flaky on Win http://crbug.com/webrtc/6886 | |
| 3160 #if defined(WEBRTC_WIN) | |
| 3161 #define MAYBE_RemoveOverheadFromBandwidth DISABLED_RemoveOverheadFromBandwidth | |
| 3162 #else | |
| 3163 #define MAYBE_RemoveOverheadFromBandwidth RemoveOverheadFromBandwidth | |
| 3164 #endif | |
| 3165 | |
| 3166 // This test verifies that overhead is removed from the bandwidth estimate by | 3159 // This test verifies that overhead is removed from the bandwidth estimate by |
| 3167 // testing that the maximum possible target payload rate is smaller than the | 3160 // testing that the maximum possible target payload rate is smaller than the |
| 3168 // maximum bandwidth estimate by the overhead rate. | 3161 // maximum bandwidth estimate by the overhead rate. |
| 3169 TEST_F(VideoSendStreamTest, MAYBE_RemoveOverheadFromBandwidth) { | 3162 TEST_F(VideoSendStreamTest, RemoveOverheadFromBandwidth) { |
| 3170 test::ScopedFieldTrials override_field_trials( | 3163 test::ScopedFieldTrials override_field_trials( |
| 3171 "WebRTC-SendSideBwe-WithOverhead/Enabled/"); | 3164 "WebRTC-SendSideBwe-WithOverhead/Enabled/"); |
| 3172 class RemoveOverheadFromBandwidthTest : public test::EndToEndTest, | 3165 class RemoveOverheadFromBandwidthTest : public test::EndToEndTest, |
| 3173 public test::FakeEncoder { | 3166 public test::FakeEncoder { |
| 3174 public: | 3167 public: |
| 3175 RemoveOverheadFromBandwidthTest() | 3168 RemoveOverheadFromBandwidthTest() |
| 3176 : EndToEndTest(test::CallTest::kDefaultTimeoutMs), | 3169 : EndToEndTest(test::CallTest::kDefaultTimeoutMs), |
| 3177 FakeEncoder(Clock::GetRealTimeClock()), | 3170 FakeEncoder(Clock::GetRealTimeClock()), |
| 3178 call_(nullptr), | 3171 call_(nullptr), |
| 3179 max_bitrate_bps_(0), | 3172 max_bitrate_bps_(0), |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3213 | 3206 |
| 3214 void PerformTest() override { | 3207 void PerformTest() override { |
| 3215 Call::Config::BitrateConfig bitrate_config; | 3208 Call::Config::BitrateConfig bitrate_config; |
| 3216 constexpr int kStartBitrateBps = 60000; | 3209 constexpr int kStartBitrateBps = 60000; |
| 3217 constexpr int kMaxBitrateBps = 60000; | 3210 constexpr int kMaxBitrateBps = 60000; |
| 3218 constexpr int kMinBitrateBps = 10000; | 3211 constexpr int kMinBitrateBps = 10000; |
| 3219 bitrate_config.start_bitrate_bps = kStartBitrateBps; | 3212 bitrate_config.start_bitrate_bps = kStartBitrateBps; |
| 3220 bitrate_config.max_bitrate_bps = kMaxBitrateBps; | 3213 bitrate_config.max_bitrate_bps = kMaxBitrateBps; |
| 3221 bitrate_config.min_bitrate_bps = kMinBitrateBps; | 3214 bitrate_config.min_bitrate_bps = kMinBitrateBps; |
| 3222 call_->SetBitrateConfig(bitrate_config); | 3215 call_->SetBitrateConfig(bitrate_config); |
| 3223 call_->OnTransportOverheadChanged(webrtc::MediaType::VIDEO, 20); | 3216 call_->OnTransportOverheadChanged(webrtc::MediaType::VIDEO, 40); |
| 3224 | 3217 |
| 3225 // At a bitrate of 60kbps with a packet size of 1200B video and an | 3218 // At a bitrate of 60kbps with a packet size of 1200B video and an |
| 3226 // overhead of 40B per packet video produces 2240bps overhead. | 3219 // overhead of 40B per packet video produces 2240bps overhead. |
| 3227 // So the encoder BW should be set to 57760bps. | 3220 // So the encoder BW should be set to 57760bps. |
| 3228 bitrate_changed_event_.Wait(VideoSendStreamTest::kDefaultTimeoutMs); | 3221 bitrate_changed_event_.Wait(VideoSendStreamTest::kDefaultTimeoutMs); |
| 3229 { | 3222 { |
| 3230 rtc::CritScope lock(&crit_); | 3223 rtc::CritScope lock(&crit_); |
| 3231 EXPECT_LE(57760u, max_bitrate_bps_); | 3224 EXPECT_LE(max_bitrate_bps_, 57760u); |
|
minyue-webrtc
2017/02/07 13:04:00
alternatively, we can change this to 57780u right?
minyue-webrtc
2017/02/07 13:04:00
GE?
minyue-webrtc
2017/02/07 13:08:50
forget this comment.
I see the point. We used a w
| |
| 3232 } | 3225 } |
| 3233 } | 3226 } |
| 3234 | 3227 |
| 3235 private: | 3228 private: |
| 3236 Call* call_; | 3229 Call* call_; |
| 3237 rtc::CriticalSection crit_; | 3230 rtc::CriticalSection crit_; |
| 3238 uint32_t max_bitrate_bps_ GUARDED_BY(&crit_); | 3231 uint32_t max_bitrate_bps_ GUARDED_BY(&crit_); |
| 3239 bool first_packet_sent_ GUARDED_BY(&crit_); | 3232 bool first_packet_sent_ GUARDED_BY(&crit_); |
| 3240 rtc::Event bitrate_changed_event_; | 3233 rtc::Event bitrate_changed_event_; |
| 3241 } test; | 3234 } test; |
| 3242 | 3235 |
| 3243 RunBaseTest(&test); | 3236 RunBaseTest(&test); |
| 3244 } | 3237 } |
| 3245 | 3238 |
| 3246 } // namespace webrtc | 3239 } // namespace webrtc |
| OLD | NEW |