Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

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

Issue 2638083002: Attach TransportFeedbackPacketLossTracker to ANA (PLR only) (Closed)
Patch Set: event_log_visualizer Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698