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 616bebe00a03fd76b29f559835f1399bc8cbbbc9..bcbf16ab99dc9c635505a6529e3d187145e56684 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); |
@@ -59,6 +67,10 @@ class TransportFeedbackAdapter { |
std::vector<PacketFeedback> last_packet_feedback_vector_; |
uint16_t local_net_id_; |
uint16_t remote_net_id_; |
+ |
+ rtc::CriticalSection observers_lock_; |
+ std::vector<TransportFeedbackAdapterObserver*> observers_ |
+ GUARDED_BY(&observers_lock_); |
}; |
} // namespace webrtc |