Add RTP sequence number to TransportFeedbackObserver::AddPacket()
With this change, both the normal RTP and the transport-wide sequence numbers are propagated with with AddPacket() call via a new RtpPacketSendInfo struct, replacing the previous set of parameters. The intent with this is that SendTimeHistory can hold a mapping from transport-wide to rtp sequence numbers, and then via callbacks let the RTP modules know when packets have been received by the remote end. Bug: webrtc:8975 Change-Id: I6a24fc6282cbb041393752d39593c2867b242192 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133021 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Sebastian Jansson <srte@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27708}
This commit is contained in:
@ -1286,10 +1286,16 @@ void EventLogAnalyzer::CreateSendSideBweSimulationGraph(Plot* plot) {
|
||||
const RtpPacketType& rtp_packet = *rtp_iterator->second;
|
||||
if (rtp_packet.rtp.header.extension.hasTransportSequenceNumber) {
|
||||
RTC_DCHECK(rtp_packet.rtp.header.extension.hasTransportSequenceNumber);
|
||||
RtpPacketSendInfo packet_info;
|
||||
packet_info.ssrc = rtp_packet.rtp.header.ssrc;
|
||||
packet_info.rtp_sequence_number =
|
||||
rtp_packet.rtp.header.extension.transportSequenceNumber;
|
||||
packet_info.rtp_sequence_number = rtp_packet.rtp.header.sequenceNumber;
|
||||
packet_info.has_rtp_sequence_number = true;
|
||||
packet_info.length = rtp_packet.rtp.total_length;
|
||||
transport_feedback.AddPacket(
|
||||
rtp_packet.rtp.header.ssrc,
|
||||
rtp_packet.rtp.header.extension.transportSequenceNumber,
|
||||
rtp_packet.rtp.total_length, PacedPacketInfo(),
|
||||
packet_info,
|
||||
0u, // Per packet overhead bytes.
|
||||
Timestamp::us(rtp_packet.rtp.log_time_us()));
|
||||
rtc::SentPacket sent_packet(
|
||||
rtp_packet.rtp.header.extension.transportSequenceNumber,
|
||||
|
||||
@ -80,8 +80,15 @@ void LogBasedNetworkControllerSimulation::OnPacketSent(
|
||||
pending_probes_.pop_front();
|
||||
}
|
||||
}
|
||||
transport_feedback_.AddPacket(packet.ssrc, packet.transport_seq_no,
|
||||
packet.size + packet.overhead, probe_info,
|
||||
|
||||
RtpPacketSendInfo packet_info;
|
||||
packet_info.ssrc = packet.ssrc;
|
||||
packet_info.transport_sequence_number = packet.transport_seq_no;
|
||||
packet_info.rtp_sequence_number = packet.stream_seq_no;
|
||||
packet_info.has_rtp_sequence_number = true;
|
||||
packet_info.length = packet.size;
|
||||
packet_info.pacing_info = probe_info;
|
||||
transport_feedback_.AddPacket(packet_info, packet.overhead,
|
||||
packet.log_packet_time);
|
||||
}
|
||||
rtc::SentPacket sent_packet;
|
||||
|
||||
Reference in New Issue
Block a user