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..27a7de87583c27412a7379510cb3a374b91b3fa4 100644 |
--- a/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h |
+++ b/webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h |
@@ -337,13 +337,15 @@ struct PacketFeedback { |
PacedPacketInfo pacing_info; |
}; |
+// TODO(elad.alon): See TODO attached to TransportFeedbackAdapterObserver. |
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 +354,30 @@ class TransportFeedbackObserver { |
virtual std::vector<PacketFeedback> GetTransportFeedbackVector() const = 0; |
}; |
+// TODO(elad.alon): After the current TransportFeedbackObserver becomes obsolete |
+// and is removed, reuse the name "TransportFeedbackObserver" for the class |
+// currently named "TransportFeedbackAdapterObserver". |
+// 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 |
minyue-webrtc
2017/03/22 07:51:39
I still think the last sentence
"Then, we'll rem
elad.alon_webrtc.org
2017/03/22 09:36:31
Done.
|
+// TransportFeedbackAdapterObserver, reuse the name |
+// TransportFeedbackObserver for TransportFeedbackAdapterObserver, and only |
+// have one observer. |
+class TransportFeedbackAdapterObserver { |
+ public: |
+ virtual ~TransportFeedbackAdapterObserver() = default; |
+ |
+ virtual void OnPacketAdded(uint32_t ssrc, uint16_t seq_num) = 0; |
+ virtual void OnNewTransportFeedbackVector( |
+ const std::vector<PacketFeedback>& packet_feedback_vector) = 0; |
+}; |
+ |
class RtcpRttStats { |
public: |
virtual void OnRttUpdate(int64_t rtt) = 0; |