mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-27 12:45:35 +08:00
[fix] fix pacer rate setting
This commit is contained in:
@@ -60,7 +60,6 @@ void BitrateProber::MaybeSetActiveState(DataSize packet_size) {
|
||||
if (ReadyToSetActiveState(packet_size)) {
|
||||
next_probe_time_ = Timestamp::MinusInfinity();
|
||||
probing_state_ = ProbingState::kActive;
|
||||
LOG_WARN("Probing set to active");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,14 +110,8 @@ void BitrateProber::CreateProbeCluster(
|
||||
cluster.pace_info.send_bitrate = cluster_config.target_data_rate;
|
||||
cluster.pace_info.probe_cluster_id = cluster_config.id;
|
||||
clusters_.push(cluster);
|
||||
LOG_WARN("a1 clusters size = {}", clusters_.size());
|
||||
MaybeSetActiveState(/*packet_size=*/DataSize::Zero());
|
||||
|
||||
LOG_INFO("Probe cluster (bitrate_bps:min bytes:min packets): ({}:{}:{}, {})",
|
||||
cluster.pace_info.send_bitrate.bps(),
|
||||
cluster.pace_info.probe_cluster_min_bytes,
|
||||
cluster.pace_info.probe_cluster_min_probes,
|
||||
probing_state_ == ProbingState::kInactive ? "Inactive" : "Active");
|
||||
MaybeSetActiveState(/*packet_size=*/DataSize::Zero());
|
||||
}
|
||||
|
||||
Timestamp BitrateProber::NextProbeTime(Timestamp /* now */) const {
|
||||
|
||||
@@ -169,8 +169,8 @@ void PacingController::SetPacingRates(DataRate pacing_rate,
|
||||
padding_rate_ = padding_rate;
|
||||
MaybeUpdateMediaRateDueToLongQueue(CurrentTime());
|
||||
|
||||
LOG_INFO("bwe:pacer_updated pacing_kbps={} padding_budget_kbps={}",
|
||||
pacing_rate_.kbps(), padding_rate.kbps());
|
||||
// LOG_INFO("bwe:pacer_updated pacing_kbps={} padding_budget_kbps={}",
|
||||
// pacing_rate_.kbps(), padding_rate.kbps());
|
||||
}
|
||||
|
||||
void PacingController::EnqueuePacket(std::unique_ptr<RtpPacketToSend> packet) {
|
||||
@@ -200,6 +200,7 @@ void PacingController::EnqueuePacket(std::unique_ptr<RtpPacketToSend> packet) {
|
||||
}
|
||||
UpdateBudgetWithElapsedTime(UpdateTimeAndGetElapsed(target_process_time));
|
||||
}
|
||||
|
||||
packet_queue_.Push(now, std::move(packet));
|
||||
seen_first_packet_ = true;
|
||||
|
||||
@@ -361,7 +362,6 @@ void PacingController::ProcessPackets() {
|
||||
});
|
||||
const Timestamp now = CurrentTime();
|
||||
Timestamp target_send_time = now;
|
||||
|
||||
if (ShouldSendKeepalive(now)) {
|
||||
DataSize keepalive_data_sent = DataSize::Zero();
|
||||
// We can not send padding unless a normal packet has first been sent. If
|
||||
@@ -464,7 +464,6 @@ void PacingController::ProcessPackets() {
|
||||
transport_overhead_per_packet_;
|
||||
}
|
||||
|
||||
// LOG_ERROR("Send packet_size {}", rtp_packet->Size());
|
||||
packet_sender_->SendPacket(std::move(rtp_packet), pacing_info);
|
||||
for (auto& packet : packet_sender_->FetchFec()) {
|
||||
EnqueuePacket(std::move(packet));
|
||||
|
||||
@@ -108,7 +108,6 @@ std::vector<ProbeClusterConfig> ProbeController::SetBitrates(
|
||||
if (start_bitrate > DataRate::Zero()) {
|
||||
start_bitrate_ = start_bitrate;
|
||||
estimated_bitrate_ = start_bitrate;
|
||||
LOG_WARN("1 setting estimated_bitrate_ = {}", estimated_bitrate_.bps());
|
||||
} else if (start_bitrate_.IsZero()) {
|
||||
start_bitrate_ = min_bitrate;
|
||||
}
|
||||
@@ -235,7 +234,7 @@ std::vector<ProbeClusterConfig> ProbeController::InitiateExponentialProbing(
|
||||
LOG_INFO("Repeated initial probing enabled, last allowed probe: {} now: {}",
|
||||
last_allowed_repeated_initial_probe_.ms(), at_time.ms());
|
||||
}
|
||||
LOG_WARN("InitiateExponentialProbing");
|
||||
|
||||
return InitiateProbing(at_time, probes, true);
|
||||
}
|
||||
|
||||
@@ -344,7 +343,6 @@ void ProbeController::Reset(Timestamp at_time) {
|
||||
min_bitrate_to_probe_further_ = DataRate::PlusInfinity();
|
||||
time_last_probing_initiated_ = Timestamp::Zero();
|
||||
estimated_bitrate_ = DataRate::Zero();
|
||||
LOG_WARN("3 setting estimated_bitrate_ = {}", estimated_bitrate_.bps());
|
||||
network_estimate_ = std::nullopt;
|
||||
start_bitrate_ = DataRate::Zero();
|
||||
max_bitrate_ = kDefaultMaxProbingBitrate;
|
||||
@@ -422,16 +420,11 @@ std::vector<ProbeClusterConfig> ProbeController::Process(Timestamp at_time) {
|
||||
return {};
|
||||
}
|
||||
if (TimeForNextRepeatedInitialProbe(at_time)) {
|
||||
LOG_WARN(
|
||||
"InitiateProbing TimeForNextRepeatedInitialProbe, estimated_bitrate_ = "
|
||||
"{}",
|
||||
estimated_bitrate_.bps());
|
||||
return InitiateProbing(
|
||||
at_time, {estimated_bitrate_ * config_.first_exponential_probe_scale},
|
||||
true);
|
||||
}
|
||||
if (TimeForAlrProbe(at_time) || TimeForNetworkStateProbe(at_time)) {
|
||||
LOG_WARN("InitiateProbing TimeForNetworkStateProbe");
|
||||
return InitiateProbing(
|
||||
at_time, {estimated_bitrate_ * config_.alr_probe_scale}, true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user