| 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 {
|
|
|