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 ab9fc401674140a65cdb99066a1de40cfea47e08..68087deea5ae1d1480fc99796a7d2bb431858bda 100644 |
| --- a/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h |
| +++ b/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h |
| @@ -337,13 +337,28 @@ struct PacketFeedback { |
| PacedPacketInfo pacing_info; |
| }; |
| +// TODO(elad.alon): After the current TransportFeedbackObserver becomes obsolete |
| +// and is removed, use that name for this observer instead. |
|
minyue-webrtc
2017/03/21 10:02:22
Ok. What you wrote in the other comment, please sa
|
| +// Background: The only implementers of this interface are |
| +// 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; |
| @@ -352,6 +367,17 @@ 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 OnNewTransportFeedbacks( |
| + const std::vector<PacketFeedback>& packet_feedbacks) = 0; |
| +}; |
| + |
| class RtcpRttStats { |
| public: |
| virtual void OnRttUpdate(int64_t rtt) = 0; |