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..d4a763b80c3ad67e094561fd4f46385e324fffb7 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); |
@@ -57,8 +65,12 @@ class TransportFeedbackAdapter { |
int64_t current_offset_ms_; |
int64_t last_timestamp_us_; |
std::vector<PacketFeedback> last_packet_feedback_vector_; |
- uint16_t local_net_id_; |
- uint16_t remote_net_id_; |
+ uint16_t local_net_id_ GUARDED_BY(&lock_); |
+ uint16_t remote_net_id_ GUARDED_BY(&lock_); |
+ |
+ rtc::CriticalSection observers_lock_; |
+ std::vector<TransportFeedbackAdapterObserver*> observers_ |
+ GUARDED_BY(&observers_lock_); |
}; |
} // namespace webrtc |