Index: webrtc/modules/congestion_controller/transport_feedback_adapter.h |
diff --git a/webrtc/modules/congestion_controller/transport_feedback_adapter.h b/webrtc/modules/congestion_controller/transport_feedback_adapter.h |
index 628e5ce522db89aec0191772aea53cfb2b02fb59..3fe50fc961a02f84ec31ff92153d55e3ea9080f6 100644 |
--- a/webrtc/modules/congestion_controller/transport_feedback_adapter.h |
+++ b/webrtc/modules/congestion_controller/transport_feedback_adapter.h |
@@ -21,6 +21,8 @@ |
namespace webrtc { |
+class TransportFeedbackAdapterObserver; |
+ |
namespace rtcp { |
class TransportFeedback; |
} // namespace rtcp |
@@ -30,7 +32,13 @@ class TransportFeedbackAdapter { |
explicit TransportFeedbackAdapter(const Clock* clock); |
virtual ~TransportFeedbackAdapter(); |
- void AddPacket(uint16_t sequence_number, |
+ void RegisterTransportFeedbackAdapterObserver( |
+ TransportFeedbackAdapterObserver* observer); |
+ void DeRegisterTransportFeedbackAdapterObserver( |
+ TransportFeedbackAdapterObserver* observer); |
+ |
+ void AddPacket(uint32_t ssrc, |
+ uint16_t sequence_number, |
size_t length, |
const PacedPacketInfo& pacing_info); |
void OnSentPacket(uint16_t sequence_number, int64_t send_time_ms); |
@@ -51,12 +59,15 @@ class TransportFeedbackAdapter { |
const bool send_side_bwe_with_overhead_; |
rtc::CriticalSection lock_; |
+ rtc::CriticalSection observers_lock_; |
int transport_overhead_bytes_per_packet_ GUARDED_BY(&lock_); |
SendTimeHistory send_time_history_ GUARDED_BY(&lock_); |
const Clock* const clock_; |
int64_t current_offset_ms_; |
int64_t last_timestamp_us_; |
std::vector<PacketFeedback> last_packet_feedback_vector_; |
+ std::vector<TransportFeedbackAdapterObserver*> observers_ |
+ GUARDED_BY(&observers_lock_); |
}; |
} // namespace webrtc |