Remove VideoCodingModule::InitializeReceiver.

This code is no longer used to reset, so we can just initialize the
object in the constructor.

BUG=4391
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43249004

Cr-Commit-Position: refs/heads/master@{#9044}
diff --git a/webrtc/modules/video_coding/main/interface/video_coding.h b/webrtc/modules/video_coding/main/interface/video_coding.h
index 304ccdc..55aa0cb 100644
--- a/webrtc/modules/video_coding/main/interface/video_coding.h
+++ b/webrtc/modules/video_coding/main/interface/video_coding.h
@@ -320,17 +320,6 @@
     *   Receiver
     */
 
-    // The receiver state of the VCM will be initialized to the
-    // same state as when the VCM was created. This will not interrupt
-    // or effect the send side functionality of VCM. VCM will lose all the
-    // decoding-related settings by calling this function. All frames
-    // inside the jitter buffer are flushed and the delay is reset.
-    // For instance, a receive codec has to be registered again.
-    //
-    // Return value      : VCM_OK, on success.
-    //                     < 0,         on error.
-    virtual int32_t InitializeReceiver() = 0;
-
     // Register possible receive codecs, can be called multiple times for different codecs.
     // The module will automatically switch between registered codecs depending on the
     // payload type of incoming frames. The actual decoder will be created when needed.
diff --git a/webrtc/modules/video_coding/main/source/receiver.cc b/webrtc/modules/video_coding/main/source/receiver.cc
index 6ab9e29..a2b70b9 100644
--- a/webrtc/modules/video_coding/main/source/receiver.cc
+++ b/webrtc/modules/video_coding/main/source/receiver.cc
@@ -35,7 +35,9 @@
       timing_(timing),
       render_wait_event_(event_factory->CreateEvent()),
       state_(kPassive),
-      max_video_delay_ms_(kMaxVideoDelayMs) {}
+      max_video_delay_ms_(kMaxVideoDelayMs) {
+  Reset();
+}
 
 VCMReceiver::~VCMReceiver() {
   render_wait_event_->Set();
@@ -52,11 +54,6 @@
   state_ = kReceiving;
 }
 
-int32_t VCMReceiver::Initialize() {
-  Reset();
-  return VCM_OK;
-}
-
 void VCMReceiver::UpdateRtt(int64_t rtt) {
   jitter_buffer_.UpdateRtt(rtt);
 }
diff --git a/webrtc/modules/video_coding/main/source/receiver.h b/webrtc/modules/video_coding/main/source/receiver.h
index b27e35c..fd48afc 100644
--- a/webrtc/modules/video_coding/main/source/receiver.h
+++ b/webrtc/modules/video_coding/main/source/receiver.h
@@ -43,7 +43,6 @@
   ~VCMReceiver();
 
   void Reset();
-  int32_t Initialize();
   void UpdateRtt(int64_t rtt);
   int32_t InsertPacket(const VCMPacket& packet,
                        uint16_t frame_width,
diff --git a/webrtc/modules/video_coding/main/source/video_coding_impl.cc b/webrtc/modules/video_coding/main/source/video_coding_impl.cc
index 13f0469..6bccd60 100644
--- a/webrtc/modules/video_coding/main/source/video_coding_impl.cc
+++ b/webrtc/modules/video_coding/main/source/video_coding_impl.cc
@@ -206,10 +206,6 @@
 
   bool VideoSuspended() const override { return sender_->VideoSuspended(); }
 
-  int32_t InitializeReceiver() override {
-    return receiver_->InitializeReceiver();
-  }
-
   int32_t RegisterReceiveCodec(const VideoCodec* receiveCodec,
                                int32_t numberOfCores,
                                bool requireKeyFrame) override {
diff --git a/webrtc/modules/video_coding/main/source/video_coding_impl.h b/webrtc/modules/video_coding/main/source/video_coding_impl.h
index b499939..da3f07d 100644
--- a/webrtc/modules/video_coding/main/source/video_coding_impl.h
+++ b/webrtc/modules/video_coding/main/source/video_coding_impl.h
@@ -148,7 +148,6 @@
   VideoReceiver(Clock* clock, EventFactory* event_factory);
   ~VideoReceiver();
 
-  int32_t InitializeReceiver();
   int32_t RegisterReceiveCodec(const VideoCodec* receiveCodec,
                                int32_t numberOfCores,
                                bool requireKeyFrame);
diff --git a/webrtc/modules/video_coding/main/source/video_coding_robustness_unittest.cc b/webrtc/modules/video_coding/main/source/video_coding_robustness_unittest.cc
index 40a754e..2476b98 100644
--- a/webrtc/modules/video_coding/main/source/video_coding_robustness_unittest.cc
+++ b/webrtc/modules/video_coding/main/source/video_coding_robustness_unittest.cc
@@ -37,7 +37,6 @@
     ASSERT_TRUE(clock_.get() != NULL);
     vcm_ = VideoCodingModule::Create(clock_.get(), &event_factory_);
     ASSERT_TRUE(vcm_ != NULL);
-    ASSERT_EQ(0, vcm_->InitializeReceiver());
     const size_t kMaxNackListSize = 250;
     const int kMaxPacketAgeToNack = 450;
     vcm_->SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack, 0);
diff --git a/webrtc/modules/video_coding/main/source/video_receiver.cc b/webrtc/modules/video_coding/main/source/video_receiver.cc
index 9ecd926..88bf212 100644
--- a/webrtc/modules/video_coding/main/source/video_receiver.cc
+++ b/webrtc/modules/video_coding/main/source/video_receiver.cc
@@ -245,34 +245,6 @@
   return VCM_OK;
 }
 
-// Initialize receiver, resets codec database etc
-int32_t VideoReceiver::InitializeReceiver() {
-  int32_t ret = _receiver.Initialize();
-  if (ret < 0) {
-    return ret;
-  }
-
-  {
-    CriticalSectionScoped receive_cs(_receiveCritSect);
-    _codecDataBase.ResetReceiver();
-    _timing.Reset();
-  }
-
-  {
-    CriticalSectionScoped process_cs(process_crit_sect_.get());
-    _decoder = NULL;
-    _decodedFrameCallback.SetUserReceiveCallback(NULL);
-    _frameTypeCallback = NULL;
-    _receiveStatsCallback = NULL;
-    _decoderTimingCallback = NULL;
-    _packetRequestCallback = NULL;
-    _keyRequestMode = kKeyOnError;
-    _scheduleKeyRequest = false;
-  }
-
-  return VCM_OK;
-}
-
 // Register a receive callback. Will be called whenever there is a new frame
 // ready for rendering.
 int32_t VideoReceiver::RegisterReceiveCallback(
@@ -486,7 +458,7 @@
   {
     CriticalSectionScoped cs(_receiveCritSect);
     if (_decoder != NULL) {
-      _receiver.Initialize();
+      _receiver.Reset();
       _timing.Reset();
       reset_key_request = true;
       _decoder->Reset();
diff --git a/webrtc/modules/video_coding/main/source/video_receiver_unittest.cc b/webrtc/modules/video_coding/main/source/video_receiver_unittest.cc
index 209a45c..1f1996e 100644
--- a/webrtc/modules/video_coding/main/source/video_receiver_unittest.cc
+++ b/webrtc/modules/video_coding/main/source/video_receiver_unittest.cc
@@ -34,10 +34,8 @@
 
   virtual void SetUp() {
     receiver_.reset(new VideoReceiver(&clock_, &event_factory_));
-    EXPECT_EQ(0, receiver_->InitializeReceiver());
-    EXPECT_EQ(0,
-              receiver_->RegisterExternalDecoder(
-                  &decoder_, kUnusedPayloadType, true));
+    EXPECT_EQ(0, receiver_->RegisterExternalDecoder(&decoder_,
+                                                    kUnusedPayloadType, true));
     const size_t kMaxNackListSize = 250;
     const int kMaxPacketAgeToNack = 450;
     receiver_->SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack, 0);
diff --git a/webrtc/modules/video_coding/main/test/vcm_payload_sink_factory.cc b/webrtc/modules/video_coding/main/test/vcm_payload_sink_factory.cc
index e8dbe8d..2fe646e 100644
--- a/webrtc/modules/video_coding/main/test/vcm_payload_sink_factory.cc
+++ b/webrtc/modules/video_coding/main/test/vcm_payload_sink_factory.cc
@@ -134,9 +134,6 @@
   if (vcm.get() == NULL) {
     return NULL;
   }
-  if (vcm->InitializeReceiver() < 0) {
-    return NULL;
-  }
 
   const PayloadTypes& plt = stream->payload_types();
   for (PayloadTypesIterator it = plt.begin(); it != plt.end();
diff --git a/webrtc/video_engine/vie_channel.cc b/webrtc/video_engine/vie_channel.cc
index 935e885..3b467fb 100644
--- a/webrtc/video_engine/vie_channel.cc
+++ b/webrtc/video_engine/vie_channel.cc
@@ -163,9 +163,6 @@
     send_payload_router_->SetSendingRtpModules(send_rtp_modules);
     DCHECK(!send_payload_router_->active());
   }
-  if (vcm_->InitializeReceiver() != 0) {
-    return -1;
-  }
   if (vcm_->SetVideoProtection(kProtectionKeyOnLoss, true)) {
     return -1;
   }