Chromium Code Reviews| Index: webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h |
| diff --git a/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h b/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h |
| index 49bdf55479e13904c718110dae490572b2dbbe42..67338d0936b739a8bb4c39c8c74eb0eea50ad6b2 100644 |
| --- a/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h |
| +++ b/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h |
| @@ -311,13 +311,32 @@ struct PacketFeedback { |
| PacedPacketInfo pacing_info; |
| }; |
| +// Records when a packet was sent, according to its transport sequence number. |
| +struct SentTransportPacketRecord { |
|
minyue-webrtc
2017/03/15 10:54:13
I don't see the need of this struct, because first
elad.alon_webrtc.org
2017/03/16 18:37:35
This was necessary when the design was to keep the
|
| + uint16_t sequence_number; |
| + int64_t sent_time_ms; |
| +}; |
| + |
| +// TODO(elad.alon): The only implementers of this interface are |
|
minyue-webrtc
2017/03/15 10:54:13
I think this comment should be placed above Transp
elad.alon_webrtc.org
2017/03/16 18:37:35
1. I've reworded to begin with the action, then pr
minyue-webrtc
2017/03/17 09:20:31
Not a big deal. And it will be more weird to talk
elad.alon_webrtc.org
2017/03/17 10:10:32
I think I see the source of the misunderstanding.
|
| +// CongestionController and TransportFeedbackProxy. |
| +// CongestionController uses it to expose only a small subset of its |
| +// capabilities. |
| +// TransportFeedbackProxy is a temporary solution which exists to allow passing |
| +// the CongestionController down at a later stage. |
| +// Ideally, we'd get rid of this altogether, exposing CC. This will be done |
| +// after the order-of-creation issues have been resolved, and |
| +// TransportFeedbackProxy therefore removed. Then, we'll remove |
| +// TransportFeedbackAdapterObserver, reuse the name |
| +// TransportFeedbackObserver for TransportFeedbackAdapterObserver, and only |
| +// have one observer. |
| class TransportFeedbackObserver { |
| public: |
| TransportFeedbackObserver() {} |
| virtual ~TransportFeedbackObserver() {} |
| // Note: Transport-wide sequence number as sequence number. |
| - virtual void AddPacket(uint16_t sequence_number, |
| + virtual void AddPacket(uint32_t ssrc, |
| + uint16_t sequence_number, |
| size_t length, |
| const PacedPacketInfo& pacing_info) = 0; |
| @@ -326,6 +345,16 @@ class TransportFeedbackObserver { |
| virtual std::vector<PacketFeedback> GetTransportFeedbackVector() const = 0; |
| }; |
| +// See TODO above TransportFeedbackObserver for explanation of the difference |
| +// between these two. |
| +class TransportFeedbackAdapterObserver { |
| + public: |
| + virtual ~TransportFeedbackAdapterObserver() = default; |
| + |
| + virtual void OnPacketAdded(uint32_t ssrc, uint16_t seq_num) = 0; |
| + virtual void OnTransportFeedback(const rtcp::TransportFeedback& feedback) = 0; |
| +}; |
| + |
| class RtcpRttStats { |
| public: |
| virtual void OnRttUpdate(int64_t rtt) = 0; |