[feat] modify the implementation of rtx packet

This commit is contained in:
dijunkun
2025-03-31 17:34:28 +08:00
parent 794d57eb40
commit f9717f8481
8 changed files with 166 additions and 17 deletions

View File

@@ -217,9 +217,16 @@ void RtpVideoReceiver::InsertRtpPacket(RtpPacket& rtp_packet) {
rtp_packet_h264->Build(rtp_packet.Buffer().data(), rtp_packet.Size())) {
rtp_packet_h264->GetFrameHeaderInfo();
if (rtp_packet.PayloadType() != rtp::PAYLOAD_TYPE::RTX) {
if (rtp_packet.PayloadType() == rtp::PAYLOAD_TYPE::RTX) {
receive_side_congestion_controller_.OnReceivedPacket(
rtp_packet_received, MediaType::VIDEO);
size_t osn_offset = rtp_packet.HeaderSize();
uint16_t osn = rtp_packet.Buffer().data()[osn_offset] << 8 |
rtp_packet.Buffer().data()[osn_offset + 1];
uint32_t abs_send_time = 0;
LOG_WARN("!!!!!!!!!!! osn = {}, abs {}", osn,
rtp_packet.GetAbsoluteSendTimestamp(&abs_send_time));
nack_->OnReceivedPacket(rtp_packet.SequenceNumber(), true);
} else {
nack_->OnReceivedPacket(rtp_packet.SequenceNumber(), false);