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}
diff --git a/rtc_tools/event_log_visualizer/analyzer.cc b/rtc_tools/event_log_visualizer/analyzer.cc
index bb662d0..00369e8 100644
--- a/rtc_tools/event_log_visualizer/analyzer.cc
+++ b/rtc_tools/event_log_visualizer/analyzer.cc
@@ -1286,10 +1286,16 @@
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,
diff --git a/rtc_tools/event_log_visualizer/log_simulation.cc b/rtc_tools/event_log_visualizer/log_simulation.cc
index 4778cc5..1595e35 100644
--- a/rtc_tools/event_log_visualizer/log_simulation.cc
+++ b/rtc_tools/event_log_visualizer/log_simulation.cc
@@ -80,8 +80,15 @@
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;