De-flake VideoSendStreamTest.ReconfigureBitratesSetsEncoderBitratesCorrectly
BUG=webrtc:5382 R=pbos@webrtc.org, stefan@webrtc.org Review URL: https://codereview.webrtc.org/1922483002 . Cr-Commit-Position: refs/heads/master@{#12547}
This commit is contained in:
parent
6b470a9413
commit
c6957c7b73
@ -122,6 +122,18 @@ void BitrateControllerImpl::SetMinMaxBitrate(int min_bitrate_bps,
|
||||
MaybeTriggerOnNetworkChanged();
|
||||
}
|
||||
|
||||
void BitrateControllerImpl::SetBitrates(int start_bitrate_bps,
|
||||
int min_bitrate_bps,
|
||||
int max_bitrate_bps) {
|
||||
{
|
||||
rtc::CritScope cs(&critsect_);
|
||||
bandwidth_estimation_.SetBitrates(start_bitrate_bps,
|
||||
min_bitrate_bps,
|
||||
max_bitrate_bps);
|
||||
}
|
||||
MaybeTriggerOnNetworkChanged();
|
||||
}
|
||||
|
||||
void BitrateControllerImpl::SetReservedBitrate(uint32_t reserved_bitrate_bps) {
|
||||
{
|
||||
rtc::CritScope cs(&critsect_);
|
||||
|
||||
@ -35,9 +35,15 @@ class BitrateControllerImpl : public BitrateController {
|
||||
|
||||
RtcpBandwidthObserver* CreateRtcpBandwidthObserver() override;
|
||||
|
||||
// Deprecated
|
||||
void SetStartBitrate(int start_bitrate_bps) override;
|
||||
// Deprecated
|
||||
void SetMinMaxBitrate(int min_bitrate_bps, int max_bitrate_bps) override;
|
||||
|
||||
void SetBitrates(int start_bitrate_bps,
|
||||
int min_bitrate_bps,
|
||||
int max_bitrate_bps) override;
|
||||
|
||||
void UpdateDelayBasedEstimate(uint32_t bitrate_bps) override;
|
||||
|
||||
void SetReservedBitrate(uint32_t reserved_bitrate_bps) override;
|
||||
|
||||
@ -54,8 +54,13 @@ class BitrateController : public Module {
|
||||
|
||||
virtual RtcpBandwidthObserver* CreateRtcpBandwidthObserver() = 0;
|
||||
|
||||
// Deprecated
|
||||
virtual void SetStartBitrate(int start_bitrate_bps) = 0;
|
||||
// Deprecated
|
||||
virtual void SetMinMaxBitrate(int min_bitrate_bps, int max_bitrate_bps) = 0;
|
||||
virtual void SetBitrates(int start_bitrate_bps,
|
||||
int min_bitrate_bps,
|
||||
int max_bitrate_bps) = 0;
|
||||
|
||||
virtual void UpdateDelayBasedEstimate(uint32_t bitrate_bps) = 0;
|
||||
|
||||
|
||||
@ -31,6 +31,10 @@ class MockBitrateController : public BitrateController {
|
||||
MOCK_METHOD1(SetStartBitrate, void(int start_bitrate_bps));
|
||||
MOCK_METHOD2(SetMinMaxBitrate,
|
||||
void(int min_bitrate_bps, int max_bitrate_bps));
|
||||
MOCK_METHOD3(SetBitrates,
|
||||
void(int start_bitrate_bps,
|
||||
int min_bitrate_bps,
|
||||
int max_bitrate_bps));
|
||||
MOCK_METHOD1(UpdateDelayBasedEstimate, void(uint32_t bitrate_bps));
|
||||
MOCK_METHOD1(SetEventLog, void(RtcEventLog* event_log));
|
||||
MOCK_CONST_METHOD1(AvailableBandwidth, bool(uint32_t* bandwidth));
|
||||
|
||||
@ -67,6 +67,14 @@ SendSideBandwidthEstimation::SendSideBandwidthEstimation()
|
||||
|
||||
SendSideBandwidthEstimation::~SendSideBandwidthEstimation() {}
|
||||
|
||||
void SendSideBandwidthEstimation::SetBitrates(int send_bitrate,
|
||||
int min_bitrate,
|
||||
int max_bitrate) {
|
||||
if (send_bitrate > 0)
|
||||
SetSendBitrate(send_bitrate);
|
||||
SetMinMaxBitrate(min_bitrate, max_bitrate);
|
||||
}
|
||||
|
||||
void SendSideBandwidthEstimation::SetSendBitrate(int bitrate) {
|
||||
RTC_DCHECK_GT(bitrate, 0);
|
||||
bitrate_ = bitrate;
|
||||
|
||||
@ -46,6 +46,9 @@ class SendSideBandwidthEstimation {
|
||||
int number_of_packets,
|
||||
int64_t now_ms);
|
||||
|
||||
void SetBitrates(int send_bitrate,
|
||||
int min_bitrate,
|
||||
int max_bitrate);
|
||||
void SetSendBitrate(int bitrate);
|
||||
void SetMinMaxBitrate(int min_bitrate, int max_bitrate);
|
||||
int GetMinBitrate() const;
|
||||
|
||||
@ -177,11 +177,13 @@ void CongestionController::SetBweBitrates(int min_bitrate_bps,
|
||||
min_bitrate_bps = kMinBitrateBps;
|
||||
if (max_bitrate_bps > 0)
|
||||
max_bitrate_bps = std::max(min_bitrate_bps, max_bitrate_bps);
|
||||
if (start_bitrate_bps > 0) {
|
||||
if (start_bitrate_bps > 0)
|
||||
start_bitrate_bps = std::max(min_bitrate_bps, start_bitrate_bps);
|
||||
bitrate_controller_->SetStartBitrate(start_bitrate_bps);
|
||||
}
|
||||
bitrate_controller_->SetMinMaxBitrate(min_bitrate_bps, max_bitrate_bps);
|
||||
|
||||
bitrate_controller_->SetBitrates(start_bitrate_bps,
|
||||
min_bitrate_bps,
|
||||
max_bitrate_bps);
|
||||
|
||||
if (remote_bitrate_estimator_)
|
||||
remote_bitrate_estimator_->SetMinBitrate(min_bitrate_bps);
|
||||
min_bitrate_bps_ = min_bitrate_bps;
|
||||
|
||||
@ -1690,18 +1690,7 @@ TEST_F(VideoSendStreamTest, TranslatesTwoLayerScreencastToTargetBitrate) {
|
||||
RunBaseTest(&test);
|
||||
}
|
||||
|
||||
// Disabled on LinuxAsan:
|
||||
// https://bugs.chromium.org/p/webrtc/issues/detail?id=5382
|
||||
#if defined(ADDRESS_SANITIZER) && defined(WEBRTC_LINUX)
|
||||
#define MAYBE_ReconfigureBitratesSetsEncoderBitratesCorrectly \
|
||||
DISABLED_ReconfigureBitratesSetsEncoderBitratesCorrectly
|
||||
#else
|
||||
#define MAYBE_ReconfigureBitratesSetsEncoderBitratesCorrectly \
|
||||
ReconfigureBitratesSetsEncoderBitratesCorrectly
|
||||
#endif
|
||||
|
||||
TEST_F(VideoSendStreamTest,
|
||||
MAYBE_ReconfigureBitratesSetsEncoderBitratesCorrectly) {
|
||||
TEST_F(VideoSendStreamTest, ReconfigureBitratesSetsEncoderBitratesCorrectly) {
|
||||
// These are chosen to be "kind of odd" to not be accidentally checked against
|
||||
// default values.
|
||||
static const int kMinBitrateKbps = 137;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user