Deprecate EventFactory and delete all usage.

Will be deleted as soon as downstream calls of
VideoCodingModule::Create are updated.

Tbr: sprang@webrtc.org  # Trivial change in video/
Bug: webrtc:3380
Change-Id: Iaeb6da2fb68991225fe9086ddddd4a553e1620b4
Reviewed-on: https://webrtc-review.googlesource.com/c/107890
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25554}
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index 20c6c1b..f1229c1 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -166,6 +166,7 @@
     "../../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 8ef046a..5f21ca3 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 VideoEncoder;
 struct CodecSpecificInfo;
 
+// DEPRECATED
 class EventFactory {
  public:
   virtual ~EventFactory() {}
@@ -44,7 +46,7 @@
   virtual EventWrapper* CreateEvent() = 0;
 };
 
-class EventFactoryImpl : public EventFactory {
+class RTC_DEPRECATED EventFactoryImpl : public EventFactory {
  public:
   ~EventFactoryImpl() override {}
 
@@ -68,8 +70,13 @@
  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 f649adc..4826276 100644
--- a/modules/video_coding/jitter_buffer.h
+++ b/modules/video_coding/jitter_buffer.h
@@ -35,7 +35,6 @@
 
 // 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 7f22b73..5bf2725 100644
--- a/modules/video_coding/receiver.cc
+++ b/modules/video_coding/receiver.cc
@@ -28,32 +28,25 @@
 
 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<EventWrapper>(event_factory
-                                            ? event_factory->CreateEvent()
-                                            : EventWrapper::Create()),
-          std::unique_ptr<EventWrapper>(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 4f6590d..503cae7 100644
--- a/modules/video_coding/receiver.h
+++ b/modules/video_coding/receiver.h
@@ -30,17 +30,16 @@
  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 320d466..ba35f69 100644
--- a/modules/video_coding/receiver_unittest.cc
+++ b/modules/video_coding/receiver_unittest.cc
@@ -30,7 +30,7 @@
   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 a061c18..a6e8e83 100644
--- a/modules/video_coding/video_coding_impl.cc
+++ b/modules/video_coding/video_coding_impl.cc
@@ -81,17 +81,13 @@
 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 @@
 
 // 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 04c6714..593c0b1 100644
--- a/modules/video_coding/video_coding_impl.h
+++ b/modules/video_coding/video_coding_impl.h
@@ -127,7 +127,6 @@
 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 d94ba5e..8b4ee78 100644
--- a/modules/video_coding/video_receiver.cc
+++ b/modules/video_coding/video_receiver.cc
@@ -26,7 +26,6 @@
 namespace vcm {
 
 VideoReceiver::VideoReceiver(Clock* clock,
-                             EventFactory* event_factory,
                              VCMTiming* timing,
                              NackSender* nack_sender,
                              KeyFrameRequestSender* keyframe_request_sender)
@@ -34,7 +33,6 @@
       _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 c446108..f99dac4 100644
--- a/modules/video_coding/video_receiver_unittest.cc
+++ b/modules/video_coding/video_receiver_unittest.cc
@@ -36,7 +36,7 @@
 
   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;