Index: webrtc/modules/video_coding/receiver.cc |
diff --git a/webrtc/modules/video_coding/receiver.cc b/webrtc/modules/video_coding/receiver.cc |
index 988f1ef5c7558d07273894307e53286780f71d60..a02fd01de6a7e1c9a301d14f242d6af58779711d 100644 |
--- a/webrtc/modules/video_coding/receiver.cc |
+++ b/webrtc/modules/video_coding/receiver.cc |
@@ -30,19 +30,49 @@ enum { kMaxReceiverDelayMs = 10000 }; |
VCMReceiver::VCMReceiver(VCMTiming* timing, |
Clock* clock, |
EventFactory* event_factory) |
+ : VCMReceiver::VCMReceiver(timing, |
+ clock, |
+ event_factory, |
+ nullptr, // NackSender |
+ nullptr) // KeyframeRequestSender |
+{} |
+ |
+VCMReceiver::VCMReceiver(VCMTiming* timing, |
+ Clock* clock, |
+ EventFactory* event_factory, |
+ NackSender* nack_sender, |
+ KeyFrameRequestSender* keyframe_request_sender) |
: VCMReceiver(timing, |
clock, |
std::unique_ptr<EventWrapper>(event_factory->CreateEvent()), |
- std::unique_ptr<EventWrapper>(event_factory->CreateEvent())) { |
-} |
+ std::unique_ptr<EventWrapper>(event_factory->CreateEvent()), |
+ nack_sender, |
+ keyframe_request_sender) {} |
VCMReceiver::VCMReceiver(VCMTiming* timing, |
Clock* clock, |
std::unique_ptr<EventWrapper> receiver_event, |
std::unique_ptr<EventWrapper> jitter_buffer_event) |
+ : VCMReceiver::VCMReceiver(timing, |
+ clock, |
+ std::move(receiver_event), |
+ std::move(jitter_buffer_event), |
+ nullptr, // NackSender |
+ nullptr) // KeyframeRequestSender |
+{} |
+ |
+VCMReceiver::VCMReceiver(VCMTiming* timing, |
+ Clock* clock, |
+ std::unique_ptr<EventWrapper> receiver_event, |
+ std::unique_ptr<EventWrapper> jitter_buffer_event, |
+ NackSender* nack_sender, |
+ KeyFrameRequestSender* keyframe_request_sender) |
: crit_sect_(CriticalSectionWrapper::CreateCriticalSection()), |
clock_(clock), |
- jitter_buffer_(clock_, std::move(jitter_buffer_event)), |
+ jitter_buffer_(clock_, |
+ std::move(jitter_buffer_event), |
+ nack_sender, |
+ keyframe_request_sender), |
timing_(timing), |
render_wait_event_(std::move(receiver_event)), |
max_video_delay_ms_(kMaxVideoDelayMs) { |
@@ -67,6 +97,14 @@ void VCMReceiver::UpdateRtt(int64_t rtt) { |
jitter_buffer_.UpdateRtt(rtt); |
} |
+int64_t VCMReceiver::TimeUntilNextProcess() { |
+ return jitter_buffer_.TimeUntilNextProcess(); |
+} |
+ |
+void VCMReceiver::Process() { |
+ jitter_buffer_.Process(); |
+} |
+ |
int32_t VCMReceiver::InsertPacket(const VCMPacket& packet, |
uint16_t frame_width, |
uint16_t frame_height) { |