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

Unified Diff: webrtc/modules/video_coding/video_coding_impl.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/video_coding_impl.cc
diff --git a/webrtc/modules/video_coding/video_coding_impl.cc b/webrtc/modules/video_coding/video_coding_impl.cc
index 01a7a42ccf5877817669a6a2164cf02f99e47b94..e5f0ee12222335b00bb4ddbce88d7d6dcf7fa765 100644
--- a/webrtc/modules/video_coding/video_coding_impl.cc
+++ b/webrtc/modules/video_coding/video_coding_impl.cc
@@ -75,13 +75,18 @@ class VideoCodingModuleImpl : public VideoCodingModule {
EventFactory* event_factory,
bool owns_event_factory,
VideoEncoderRateObserver* encoder_rate_observer,
- VCMQMSettingsCallback* qm_settings_callback)
+ VCMQMSettingsCallback* qm_settings_callback,
+ NackSender* nack_sender,
+ KeyFrameRequestSender* keyframe_request_sender)
: VideoCodingModule(),
sender_(clock,
&post_encode_callback_,
encoder_rate_observer,
qm_settings_callback),
- receiver_(clock, event_factory),
+ receiver_(clock,
+ event_factory,
+ nack_sender,
+ keyframe_request_sender),
own_event_factory_(owns_event_factory ? event_factory : NULL) {}
virtual ~VideoCodingModuleImpl() { own_event_factory_.reset(); }
@@ -291,20 +296,51 @@ void VideoCodingModule::Codec(VideoCodecType codecType, VideoCodec* codec) {
VCMCodecDataBase::Codec(codecType, codec);
}
+// Create method for current interface, will be removed when the
+// new jitter buffer is in place.
VideoCodingModule* VideoCodingModule::Create(
Clock* clock,
VideoEncoderRateObserver* encoder_rate_observer,
VCMQMSettingsCallback* qm_settings_callback) {
+ return VideoCodingModule::Create(clock, encoder_rate_observer,
+ qm_settings_callback,
+ nullptr, // NackSender
+ nullptr); // KeyframeRequestSender
+}
+
+// Create method for the new jitter buffer.
+VideoCodingModule* VideoCodingModule::Create(
+ Clock* clock,
+ VideoEncoderRateObserver* encoder_rate_observer,
+ VCMQMSettingsCallback* qm_settings_callback,
+ NackSender* nack_sender,
+ KeyFrameRequestSender* keyframe_request_sender) {
return new VideoCodingModuleImpl(clock, new EventFactoryImpl, true,
- encoder_rate_observer, qm_settings_callback);
+ encoder_rate_observer, qm_settings_callback,
+ nack_sender,
+ keyframe_request_sender);
}
+// Create method for current interface, will be removed when the
+// new jitter buffer is in place.
VideoCodingModule* VideoCodingModule::Create(Clock* clock,
EventFactory* event_factory) {
+ return VideoCodingModule::Create(clock, event_factory,
+ nullptr, // NackSender
+ nullptr); // KeyframeRequestSender
+}
+
+// Create method for the new jitter buffer.
+VideoCodingModule* VideoCodingModule::Create(
+ Clock* clock,
+ EventFactory* event_factory,
+ NackSender* nack_sender,
+ KeyFrameRequestSender* keyframe_request_sender) {
assert(clock);
assert(event_factory);
return new VideoCodingModuleImpl(clock, event_factory, false, nullptr,
- nullptr);
+ nullptr, nack_sender,
+ keyframe_request_sender);
}
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698