Chromium Code Reviews

Unified Diff: webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h

Issue 2638083002: Attach TransportFeedbackPacketLossTracker to ANA (PLR only) (Closed)
Patch Set: TODO shuffle Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
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..f6c1dcd02d4ab0ca2b37df3eee91d580f368f54d 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, rename "TransportFeedbackAdapterObserver" to
+// "TransportFeedbackObserver".
+// 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 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;

Powered by Google App Engine