Preparing for task queue in congenstion controller
This cl prepares for a later CL introducing a new send side congestion controller that will run on a task queue. It mostly consists of minor fixes but adds some new interfaces that are unused in practice. Bug: webrtc:8415 Change-Id: I1b58d0180a18eb15320d18733dac0dfe2e0f902a Reviewed-on: https://webrtc-review.googlesource.com/53321 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22099}
This commit is contained in:
committed by
Commit Bot
parent
645898a454
commit
439f0bc69a
@ -477,47 +477,47 @@ TEST_P(BweSimulation, Evaluation8) {
|
||||
RunPauseResumeFlows(GetParam());
|
||||
}
|
||||
|
||||
// Following test cases begin with "GccComparison" run the
|
||||
// evaluation test cases for both GCC and other calling RMCAT.
|
||||
// Following test cases begin with "GoogCcComparison" run the
|
||||
// evaluation test cases for both GoogCc and other calling RMCAT.
|
||||
|
||||
TEST_P(BweSimulation, GccComparison1) {
|
||||
TEST_P(BweSimulation, GoogCcComparison1) {
|
||||
RunVariableCapacity1SingleFlow(GetParam());
|
||||
BweTest gcc_test(false);
|
||||
gcc_test.RunVariableCapacity1SingleFlow(kSendSideEstimator);
|
||||
BweTest goog_cc_test(false);
|
||||
goog_cc_test.RunVariableCapacity1SingleFlow(kSendSideEstimator);
|
||||
}
|
||||
|
||||
TEST_P(BweSimulation, GccComparison2) {
|
||||
TEST_P(BweSimulation, GoogCcComparison2) {
|
||||
const size_t kNumFlows = 2;
|
||||
RunVariableCapacity2MultipleFlows(GetParam(), kNumFlows);
|
||||
BweTest gcc_test(false);
|
||||
gcc_test.RunVariableCapacity2MultipleFlows(kSendSideEstimator, kNumFlows);
|
||||
BweTest goog_cc_test(false);
|
||||
goog_cc_test.RunVariableCapacity2MultipleFlows(kSendSideEstimator, kNumFlows);
|
||||
}
|
||||
|
||||
TEST_P(BweSimulation, GccComparison3) {
|
||||
TEST_P(BweSimulation, GoogCcComparison3) {
|
||||
RunBidirectionalFlow(GetParam());
|
||||
BweTest gcc_test(false);
|
||||
gcc_test.RunBidirectionalFlow(kSendSideEstimator);
|
||||
BweTest goog_cc_test(false);
|
||||
goog_cc_test.RunBidirectionalFlow(kSendSideEstimator);
|
||||
}
|
||||
|
||||
TEST_P(BweSimulation, GccComparison4) {
|
||||
TEST_P(BweSimulation, GoogCcComparison4) {
|
||||
RunSelfFairness(GetParam());
|
||||
BweTest gcc_test(false);
|
||||
gcc_test.RunSelfFairness(GetParam());
|
||||
BweTest goog_cc_test(false);
|
||||
goog_cc_test.RunSelfFairness(GetParam());
|
||||
}
|
||||
|
||||
TEST_P(BweSimulation, GccComparison5) {
|
||||
TEST_P(BweSimulation, GoogCcComparison5) {
|
||||
RunRoundTripTimeFairness(GetParam());
|
||||
BweTest gcc_test(false);
|
||||
gcc_test.RunRoundTripTimeFairness(kSendSideEstimator);
|
||||
BweTest goog_cc_test(false);
|
||||
goog_cc_test.RunRoundTripTimeFairness(kSendSideEstimator);
|
||||
}
|
||||
|
||||
TEST_P(BweSimulation, GccComparison6) {
|
||||
TEST_P(BweSimulation, GoogCcComparison6) {
|
||||
RunLongTcpFairness(GetParam());
|
||||
BweTest gcc_test(false);
|
||||
gcc_test.RunLongTcpFairness(kSendSideEstimator);
|
||||
BweTest goog_cc_test(false);
|
||||
goog_cc_test.RunLongTcpFairness(kSendSideEstimator);
|
||||
}
|
||||
|
||||
TEST_P(BweSimulation, GccComparison7) {
|
||||
TEST_P(BweSimulation, GoogCcComparison7) {
|
||||
const int kNumTcpFiles = 10;
|
||||
|
||||
std::vector<int> tcp_file_sizes_bytes =
|
||||
@ -528,24 +528,24 @@ TEST_P(BweSimulation, GccComparison7) {
|
||||
RunMultipleShortTcpFairness(GetParam(), tcp_file_sizes_bytes,
|
||||
tcp_starting_times_ms);
|
||||
|
||||
BweTest gcc_test(false);
|
||||
gcc_test.RunMultipleShortTcpFairness(kSendSideEstimator, tcp_file_sizes_bytes,
|
||||
tcp_starting_times_ms);
|
||||
BweTest goog_cc_test(false);
|
||||
goog_cc_test.RunMultipleShortTcpFairness(
|
||||
kSendSideEstimator, tcp_file_sizes_bytes, tcp_starting_times_ms);
|
||||
}
|
||||
|
||||
TEST_P(BweSimulation, GccComparison8) {
|
||||
TEST_P(BweSimulation, GoogCcComparison8) {
|
||||
RunPauseResumeFlows(GetParam());
|
||||
BweTest gcc_test(false);
|
||||
gcc_test.RunPauseResumeFlows(kSendSideEstimator);
|
||||
BweTest goog_cc_test(false);
|
||||
goog_cc_test.RunPauseResumeFlows(kSendSideEstimator);
|
||||
}
|
||||
|
||||
TEST_P(BweSimulation, GccComparisonChoke) {
|
||||
TEST_P(BweSimulation, GoogCcComparisonChoke) {
|
||||
int array[] = {1000, 500, 1000};
|
||||
std::vector<int> capacities_kbps(array, array + 3);
|
||||
RunChoke(GetParam(), capacities_kbps);
|
||||
|
||||
BweTest gcc_test(false);
|
||||
gcc_test.RunChoke(kSendSideEstimator, capacities_kbps);
|
||||
BweTest goog_cc_test(false);
|
||||
goog_cc_test.RunChoke(kSendSideEstimator, capacities_kbps);
|
||||
}
|
||||
|
||||
} // namespace bwe
|
||||
|
||||
@ -181,7 +181,8 @@ enum BandwidthEstimatorType {
|
||||
kBbrEstimator
|
||||
};
|
||||
|
||||
const char* const bwe_names[] = {"Null", "NADA", "REMB", "GCC", "TCP", "BBR"};
|
||||
const char* const bwe_names[] = {"Null", "NADA", "REMB",
|
||||
"GoogCc", "TCP", "BBR"};
|
||||
|
||||
int64_t GetAbsSendTimeInMs(uint32_t abs_send_time);
|
||||
|
||||
|
||||
@ -24,6 +24,9 @@
|
||||
namespace webrtc {
|
||||
namespace testing {
|
||||
namespace bwe {
|
||||
namespace {
|
||||
const float kPaceMultiplier = 2.5f;
|
||||
}
|
||||
|
||||
void PacketSender::Pause() {
|
||||
running_ = false;
|
||||
@ -164,7 +167,7 @@ PacedVideoSender::PacedVideoSender(PacketProcessorListener* listener,
|
||||
? static_cast<Pacer*>(new BbrPacedSender(&clock_, this, nullptr))
|
||||
: static_cast<Pacer*>(new PacedSender(&clock_, this, nullptr))) {
|
||||
modules_.push_back(pacer_.get());
|
||||
pacer_->SetEstimatedBitrate(source->bits_per_second());
|
||||
pacer_->SetPacingRates(source->bits_per_second() * kPaceMultiplier, 0);
|
||||
}
|
||||
|
||||
PacedVideoSender::~PacedVideoSender() {
|
||||
@ -312,7 +315,7 @@ void PacedVideoSender::OnNetworkChanged(uint32_t target_bitrate_bps,
|
||||
uint8_t fraction_lost,
|
||||
int64_t rtt) {
|
||||
VideoSender::OnNetworkChanged(target_bitrate_bps, fraction_lost, rtt);
|
||||
pacer_->SetEstimatedBitrate(target_bitrate_bps);
|
||||
pacer_->SetPacingRates(target_bitrate_bps * kPaceMultiplier, 0);
|
||||
}
|
||||
|
||||
void PacedVideoSender::OnNetworkChanged(uint32_t bitrate_for_encoder_bps,
|
||||
|
||||
Reference in New Issue
Block a user