Index: webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h |
diff --git a/webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h b/webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h |
index 7642285caf152967f8a57542a2ea9803c35b6d55..8f3500ef1a5ada74eabacddfbf82645f26894030 100644 |
--- a/webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h |
+++ b/webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h |
@@ -24,6 +24,9 @@ |
#define TIMEOUT_SEI_MESSAGES_MS 30000 // in milliseconds |
namespace webrtc { |
+namespace rtcp { |
+class TransportFeedback; |
+} |
const int kVideoPayloadTypeFrequency = 90000; |
@@ -293,15 +296,42 @@ class RtcpBandwidthObserver { |
virtual ~RtcpBandwidthObserver() {} |
}; |
-class SendTimeObserver { |
+struct PacketInfo { |
+ PacketInfo(int64_t arrival_time_ms, |
+ int64_t send_time_ms, |
+ uint16_t sequence_number, |
+ size_t payload_size, |
+ bool was_paced) |
+ : arrival_time_ms(arrival_time_ms), |
+ send_time_ms(send_time_ms), |
+ sequence_number(sequence_number), |
+ payload_size(payload_size), |
+ was_paced(was_paced) {} |
+ // Time corresponding to when the packet was received. Timestamped with the |
+ // receiver's clock. |
+ int64_t arrival_time_ms; |
+ // Time corresponding to when the packet was sent, timestamped with the |
+ // sender's clock. |
+ int64_t send_time_ms; |
+ // Packet identifier, incremented with 1 for every packet generated by the |
+ // sender. |
+ uint16_t sequence_number; |
+ // Size of the packet excluding RTP headers. |
+ size_t payload_size; |
+ // True if the packet was paced out by the pacer. |
+ bool was_paced; |
+}; |
+ |
+class TransportFeedbackObserver { |
public: |
- SendTimeObserver() {} |
- virtual ~SendTimeObserver() {} |
+ TransportFeedbackObserver() {} |
+ virtual ~TransportFeedbackObserver() {} |
+ |
+ // Note: Transport-wide sequence number as sequence number. Arrival time |
+ // must be set to 0. |
+ virtual void OnPacketSent(const PacketInfo& info) = 0; |
- // Transport-wide sequence number and timestamp (system time in milliseconds), |
- // of when the packet was put on the wire. |
- virtual void OnPacketSent(uint16_t transport_sequence_number, |
- int64_t send_time) = 0; |
+ virtual void OnTransportFeedback(const rtcp::TransportFeedback& feedback) = 0; |
}; |
class RtcpRttStats { |