Index: webrtc/video/vie_channel.h |
diff --git a/webrtc/video/vie_channel.h b/webrtc/video/vie_channel.h |
index ed0712ba42a3c26c46f13c34a1f085c2525e7298..e13e2c7871b6468bbb05b755391c3723b160b037 100644 |
--- a/webrtc/video/vie_channel.h |
+++ b/webrtc/video/vie_channel.h |
@@ -187,6 +187,8 @@ class ViEChannel : public VCMFrameTypeCallback, |
void RegisterSendSideDelayObserver(SendSideDelayObserver* observer); |
+ void RegisterSendPacketObserver(SendPacketObserver* observer); |
+ |
// Called on any new send bitrate estimate. |
void RegisterSendBitrateObserver(BitrateStatisticsObserver* observer); |
@@ -304,6 +306,7 @@ class ViEChannel : public VCMFrameTypeCallback, |
BitrateStatisticsObserver* send_bitrate_observer, |
FrameCountObserver* send_frame_count_observer, |
SendSideDelayObserver* send_side_delay_observer, |
+ SendPacketObserver* send_packet_observer, |
size_t num_modules); |
// Assumed to be protected. |
@@ -380,6 +383,17 @@ class ViEChannel : public VCMFrameTypeCallback, |
} |
} send_side_delay_observer_; |
+ class RegisterableSendPacketObserver |
+ : public RegisterableCallback<SendPacketObserver> { |
+ void OnSendPacket(uint16_t packet_id, |
+ int64_t capture_time_ms, |
+ uint32_t ssrc) override { |
+ CriticalSectionScoped cs(critsect_.get()); |
+ if (callback_) |
+ callback_->OnSendPacket(packet_id, capture_time_ms, ssrc); |
+ } |
+ } send_packet_observer_; |
+ |
class RegisterableRtcpPacketTypeCounterObserver |
: public RegisterableCallback<RtcpPacketTypeCounterObserver> { |
public: |