Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Unified Diff: webrtc/modules/video_coding/receiver.cc

Issue 1778503002: Experiment for the nack module. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Feedback fixes Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698