diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn index 20c6c1be50..f1229c18fe 100644 --- a/modules/video_coding/BUILD.gn +++ b/modules/video_coding/BUILD.gn @@ -166,6 +166,7 @@ rtc_static_library("video_coding") { "../../api/video_codecs:video_codecs_api", "../../common_video", "../../rtc_base:checks", + "../../rtc_base:deprecation", "../../rtc_base:rtc_base", "../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_numerics", diff --git a/modules/video_coding/include/video_coding.h b/modules/video_coding/include/video_coding.h index 8ef046aa23..5f21ca3908 100644 --- a/modules/video_coding/include/video_coding.h +++ b/modules/video_coding/include/video_coding.h @@ -27,6 +27,7 @@ #include "modules/include/module.h" #include "modules/include/module_common_types.h" #include "modules/video_coding/include/video_coding_defines.h" +#include "rtc_base/deprecation.h" #include "system_wrappers/include/event_wrapper.h" namespace webrtc { @@ -37,6 +38,7 @@ class VideoDecoder; class VideoEncoder; struct CodecSpecificInfo; +// DEPRECATED class EventFactory { public: virtual ~EventFactory() {} @@ -44,7 +46,7 @@ class EventFactory { virtual EventWrapper* CreateEvent() = 0; }; -class EventFactoryImpl : public EventFactory { +class RTC_DEPRECATED EventFactoryImpl : public EventFactory { public: ~EventFactoryImpl() override {} @@ -68,8 +70,13 @@ class VideoCodingModule : public Module { public: enum SenderNackMode { kNackNone, kNackAll, kNackSelective }; + RTC_DEPRECATED + static VideoCodingModule* Create(Clock* clock, + EventFactory* /* event_factory*/) { + return Create(clock); + } // DEPRECATED. - static VideoCodingModule* Create(Clock* clock, EventFactory* event_factory); + static VideoCodingModule* Create(Clock* clock); /* * Sender diff --git a/modules/video_coding/jitter_buffer.h b/modules/video_coding/jitter_buffer.h index f649adc8b3..4826276045 100644 --- a/modules/video_coding/jitter_buffer.h +++ b/modules/video_coding/jitter_buffer.h @@ -35,7 +35,6 @@ enum VCMNackMode { kNack, kNoNack }; // forward declarations class Clock; -class EventFactory; class EventWrapper; class VCMFrameBuffer; class VCMPacket; diff --git a/modules/video_coding/receiver.cc b/modules/video_coding/receiver.cc index 7f22b73a5a..5bf27257b0 100644 --- a/modules/video_coding/receiver.cc +++ b/modules/video_coding/receiver.cc @@ -28,32 +28,25 @@ namespace webrtc { enum { kMaxReceiverDelayMs = 10000 }; -VCMReceiver::VCMReceiver(VCMTiming* timing, - Clock* clock, - EventFactory* event_factory) +VCMReceiver::VCMReceiver(VCMTiming* timing, Clock* clock) : VCMReceiver::VCMReceiver(timing, clock, - event_factory, + absl::WrapUnique(EventWrapper::Create()), + absl::WrapUnique(EventWrapper::Create()), 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(event_factory - ? event_factory->CreateEvent() - : EventWrapper::Create()), - std::unique_ptr(event_factory - ? event_factory->CreateEvent() - : EventWrapper::Create()), - nack_sender, - keyframe_request_sender) {} + : VCMReceiver(timing, + clock, + absl::WrapUnique(EventWrapper::Create()), + absl::WrapUnique(EventWrapper::Create()), + nack_sender, + keyframe_request_sender) {} VCMReceiver::VCMReceiver(VCMTiming* timing, Clock* clock, diff --git a/modules/video_coding/receiver.h b/modules/video_coding/receiver.h index 4f6590d274..503cae7c8d 100644 --- a/modules/video_coding/receiver.h +++ b/modules/video_coding/receiver.h @@ -30,17 +30,16 @@ class VCMReceiver { public: // Constructor for current interface, will be removed when the // new jitter buffer is in place. - VCMReceiver(VCMTiming* timing, Clock* clock, EventFactory* event_factory); + VCMReceiver(VCMTiming* timing, Clock* clock); // Create method for the new jitter buffer. VCMReceiver(VCMTiming* timing, Clock* clock, - EventFactory* event_factory, NackSender* nack_sender, KeyFrameRequestSender* keyframe_request_sender); - // Using this constructor, you can specify a different event factory for the - // jitter buffer. Useful for unit tests when you want to simulate incoming + // Using this constructor, you can specify a different event implemetation for + // the jitter buffer. Useful for unit tests when you want to simulate incoming // packets, in which case the jitter buffer's wait event is different from // that of VCMReceiver itself. // diff --git a/modules/video_coding/receiver_unittest.cc b/modules/video_coding/receiver_unittest.cc index 320d466095..ba35f69358 100644 --- a/modules/video_coding/receiver_unittest.cc +++ b/modules/video_coding/receiver_unittest.cc @@ -30,7 +30,7 @@ class TestVCMReceiver : public ::testing::Test { TestVCMReceiver() : clock_(new SimulatedClock(0)), timing_(clock_.get()), - receiver_(&timing_, clock_.get(), nullptr) { + receiver_(&timing_, clock_.get()) { stream_generator_.reset( new StreamGenerator(0, clock_->TimeInMilliseconds())); } diff --git a/modules/video_coding/video_coding_impl.cc b/modules/video_coding/video_coding_impl.cc index a061c18fd7..a6e8e836c9 100644 --- a/modules/video_coding/video_coding_impl.cc +++ b/modules/video_coding/video_coding_impl.cc @@ -81,17 +81,13 @@ class EncodedImageCallbackWrapper : public EncodedImageCallback { class VideoCodingModuleImpl : public VideoCodingModule { public: VideoCodingModuleImpl(Clock* clock, - EventFactory* event_factory, + EventFactory* /* event_factory */, NackSender* nack_sender, KeyFrameRequestSender* keyframe_request_sender) : VideoCodingModule(), sender_(clock, &post_encode_callback_), timing_(new VCMTiming(clock)), - receiver_(clock, - event_factory, - timing_.get(), - nack_sender, - keyframe_request_sender) {} + receiver_(clock, timing_.get(), nack_sender, keyframe_request_sender) {} virtual ~VideoCodingModuleImpl() {} @@ -221,11 +217,9 @@ class VideoCodingModuleImpl : public VideoCodingModule { // DEPRECATED. Create method for current interface, will be removed when the // new jitter buffer is in place. -VideoCodingModule* VideoCodingModule::Create(Clock* clock, - EventFactory* event_factory) { +VideoCodingModule* VideoCodingModule::Create(Clock* clock) { RTC_DCHECK(clock); - RTC_DCHECK(event_factory); - return new VideoCodingModuleImpl(clock, event_factory, nullptr, nullptr); + return new VideoCodingModuleImpl(clock, nullptr, nullptr, nullptr); } } // namespace webrtc diff --git a/modules/video_coding/video_coding_impl.h b/modules/video_coding/video_coding_impl.h index 04c6714e92..593c0b1ec3 100644 --- a/modules/video_coding/video_coding_impl.h +++ b/modules/video_coding/video_coding_impl.h @@ -127,7 +127,6 @@ class VideoSender { class VideoReceiver : public Module { public: VideoReceiver(Clock* clock, - EventFactory* event_factory, VCMTiming* timing, NackSender* nack_sender = nullptr, KeyFrameRequestSender* keyframe_request_sender = nullptr); diff --git a/modules/video_coding/video_receiver.cc b/modules/video_coding/video_receiver.cc index d94ba5e69f..8b4ee785ee 100644 --- a/modules/video_coding/video_receiver.cc +++ b/modules/video_coding/video_receiver.cc @@ -26,7 +26,6 @@ namespace webrtc { namespace vcm { VideoReceiver::VideoReceiver(Clock* clock, - EventFactory* event_factory, VCMTiming* timing, NackSender* nack_sender, KeyFrameRequestSender* keyframe_request_sender) @@ -34,7 +33,6 @@ VideoReceiver::VideoReceiver(Clock* clock, _timing(timing), _receiver(_timing, clock_, - event_factory, nack_sender, keyframe_request_sender), _decodedFrameCallback(_timing, clock_), diff --git a/modules/video_coding/video_receiver_unittest.cc b/modules/video_coding/video_receiver_unittest.cc index c446108053..f99dac4920 100644 --- a/modules/video_coding/video_receiver_unittest.cc +++ b/modules/video_coding/video_receiver_unittest.cc @@ -36,7 +36,7 @@ class TestVideoReceiver : public ::testing::Test { virtual void SetUp() { timing_.reset(new VCMTiming(&clock_)); - receiver_.reset(new VideoReceiver(&clock_, nullptr, timing_.get())); + receiver_.reset(new VideoReceiver(&clock_, timing_.get())); receiver_->RegisterExternalDecoder(&decoder_, kUnusedPayloadType); const size_t kMaxNackListSize = 250; const int kMaxPacketAgeToNack = 450; diff --git a/video/video_receive_stream.cc b/video/video_receive_stream.cc index cdf8bfd5de..bb5ee755d9 100644 --- a/video/video_receive_stream.cc +++ b/video/video_receive_stream.cc @@ -138,7 +138,7 @@ VideoReceiveStream::VideoReceiveStream( call_stats_(call_stats), rtp_receive_statistics_(ReceiveStatistics::Create(clock_)), timing_(new VCMTiming(clock_)), - video_receiver_(clock_, nullptr, timing_.get(), this, this), + video_receiver_(clock_, timing_.get(), this, this), stats_proxy_(&config_, clock_), rtp_video_stream_receiver_(&transport_adapter_, call_stats,