[fix] fix sent packet size in congestion control feedbacks

This commit is contained in:
dijunkun
2025-02-10 16:06:19 +08:00
parent 2c48ce12c5
commit 0595112d4f
5 changed files with 3 additions and 12 deletions

View File

@@ -69,6 +69,7 @@ int RtpVideoSender::SendRtpPacket(RtpPacket& rtp_packet) {
webrtc::RtpPacketToSend rtp_packet_to_send;
rtp_packet_to_send.SetSequenceNumber(rtp_packet.SequenceNumber());
rtp_packet_to_send.SetSsrc(rtp_packet.Ssrc());
rtp_packet_to_send.SetSize(rtp_packet.Size());
rtp_packet_to_send.set_transport_sequence_number(transport_seq_++);
rtp_packet_to_send.set_packet_type(webrtc::RtpPacketMediaType::kVideo);
on_sent_packet_func_(rtp_packet_to_send);

View File

@@ -133,19 +133,9 @@ NetworkControlUpdate CongestionControl::OnTransportPacketsFeedback(
}
previously_in_alr_ = alr_start_time.has_value();
int count = 0;
for (auto r : report.SortedByReceiveTime()) {
count++;
LOG_WARN("{} packet.sent_packet.size: {}", count,
ToString(r.sent_packet.size));
}
acknowledged_bitrate_estimator_->IncomingPacketFeedbackVector(
report.SortedByReceiveTime());
auto acknowledged_bitrate = acknowledged_bitrate_estimator_->bitrate();
LOG_WARN("acknowledged_bitrate:{}", acknowledged_bitrate->kbps());
// TODO: fix acknowledged_bitrate
// acknowledged_bitrate = DataRate::KilobitsPerSec(1000);
bandwidth_estimation_->SetAcknowledgedRate(acknowledged_bitrate,
report.feedback_time);
for (const auto& feedback : report.SortedByReceiveTime()) {

View File

@@ -96,7 +96,6 @@ void TransportFeedbackAdapter::AddPacket(const RtpPacketToSend& packet_to_send,
feedback.sent.sequence_number = seq_num_unwrapper_.Unwrap(
packet_to_send.transport_sequence_number().value_or(0));
feedback.sent.size = DataSize::Bytes(packet_to_send.size() + overhead_bytes);
LOG_WARN("!!! packet_to_send.size: {}", packet_to_send.size());
feedback.sent.audio =
packet_to_send.packet_type() == RtpPacketMediaType::kAudio;
feedback.network_route = network_route_;

View File

@@ -207,6 +207,7 @@ class RtpPacket {
void SetTimestamp(uint64_t timestamp) { timestamp_ = timestamp; }
void SetSsrc(uint32_t ssrc) { ssrc_ = ssrc; }
void SetCsrcs(std::vector<uint32_t> &csrcs) { csrcs_ = csrcs; }
void SetSize(size_t size) { size_ = size; }
void SetAbsoluteSendTimestamp(uint32_t abs_send_time) {
// Absolute Send Time is a 24-bit field, we need to ensure it fits in 24