Delete unneeded Start and Stop methods on FlexfecReceiveStream.

Bug: None
Change-Id: I3013cfc54ed357901f175dd408127eda75e5ba99
Reviewed-on: https://chromium-review.googlesource.com/542735
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19363}
diff --git a/webrtc/call/flexfec_receive_stream.h b/webrtc/call/flexfec_receive_stream.h
index befa7dc..84447ff 100644
--- a/webrtc/call/flexfec_receive_stream.h
+++ b/webrtc/call/flexfec_receive_stream.h
@@ -76,13 +76,6 @@
     std::vector<RtpExtension> rtp_header_extensions;
   };
 
-  // Starts stream activity.
-  // When a stream is active, it can receive and process packets.
-  virtual void Start() = 0;
-  // Stops stream activity.
-  // When a stream is stopped, it can't receive nor process packets.
-  virtual void Stop() = 0;
-
   virtual Stats GetStats() const = 0;
 
   virtual const Config& GetConfig() const = 0;
diff --git a/webrtc/call/flexfec_receive_stream_impl.cc b/webrtc/call/flexfec_receive_stream_impl.cc
index c998144..d6b41ed 100644
--- a/webrtc/call/flexfec_receive_stream_impl.cc
+++ b/webrtc/call/flexfec_receive_stream_impl.cc
@@ -129,7 +129,6 @@
     RtcpRttStats* rtt_stats,
     ProcessThread* process_thread)
     : config_(config),
-      started_(false),
       receiver_(MaybeCreateFlexfecReceiver(config_, recovered_packet_receiver)),
       rtp_receive_statistics_(
           ReceiveStatistics::Create(Clock::GetRealTimeClock())),
@@ -161,14 +160,10 @@
 
 FlexfecReceiveStreamImpl::~FlexfecReceiveStreamImpl() {
   LOG(LS_INFO) << "~FlexfecReceiveStreamImpl: " << config_.ToString();
-  Stop();
   process_thread_->DeRegisterModule(rtp_rtcp_.get());
 }
 
 void FlexfecReceiveStreamImpl::OnRtpPacket(const RtpPacketReceived& packet) {
-  if (!started_.load())
-    return;
-
   if (!receiver_)
     return;
 
@@ -185,14 +180,6 @@
   }
 }
 
-void FlexfecReceiveStreamImpl::Start() {
-  started_.store(true);
-}
-
-void FlexfecReceiveStreamImpl::Stop() {
-  started_.store(false);
-}
-
 // TODO(brandtr): Implement this member function when we have designed the
 // stats for FlexFEC.
 FlexfecReceiveStreamImpl::Stats FlexfecReceiveStreamImpl::GetStats() const {
diff --git a/webrtc/call/flexfec_receive_stream_impl.h b/webrtc/call/flexfec_receive_stream_impl.h
index 4054aa8..f60e810 100644
--- a/webrtc/call/flexfec_receive_stream_impl.h
+++ b/webrtc/call/flexfec_receive_stream_impl.h
@@ -11,12 +11,10 @@
 #ifndef WEBRTC_CALL_FLEXFEC_RECEIVE_STREAM_IMPL_H_
 #define WEBRTC_CALL_FLEXFEC_RECEIVE_STREAM_IMPL_H_
 
-#include <atomic>
 #include <memory>
 
 #include "webrtc/call/flexfec_receive_stream.h"
 #include "webrtc/call/rtp_packet_sink_interface.h"
-#include "webrtc/rtc_base/criticalsection.h"
 
 namespace webrtc {
 
@@ -43,16 +41,12 @@
   // RtpPacketSinkInterface.
   void OnRtpPacket(const RtpPacketReceived& packet) override;
 
-  // Implements FlexfecReceiveStream.
-  void Start() override;
-  void Stop() override;
   Stats GetStats() const override;
   const Config& GetConfig() const override;
 
  private:
   // Config.
   const Config config_;
-  std::atomic<bool> started_;
 
   // Erasure code interfacing.
   const std::unique_ptr<FlexfecReceiver> receiver_;
diff --git a/webrtc/call/flexfec_receive_stream_unittest.cc b/webrtc/call/flexfec_receive_stream_unittest.cc
index 7ce4b55..9c5a691 100644
--- a/webrtc/call/flexfec_receive_stream_unittest.cc
+++ b/webrtc/call/flexfec_receive_stream_unittest.cc
@@ -104,15 +104,10 @@
 
 TEST_F(FlexfecReceiveStreamTest, ConstructDestruct) {}
 
-TEST_F(FlexfecReceiveStreamTest, StartStop) {
-  receive_stream_->Start();
-  receive_stream_->Stop();
-}
-
 // Create a FlexFEC packet that protects a single media packet and ensure
 // that the callback is called. Correctness of recovery is checked in the
 // FlexfecReceiver unit tests.
-TEST_F(FlexfecReceiveStreamTest, RecoversPacketWhenStarted) {
+TEST_F(FlexfecReceiveStreamTest, RecoversPacket) {
   constexpr uint8_t kFlexfecSeqNum[] = {0x00, 0x01};
   constexpr uint8_t kFlexfecTs[] = {0x00, 0x11, 0x22, 0x33};
   constexpr uint8_t kMediaPlType = 107;
@@ -150,13 +145,9 @@
                                           config_, &recovered_packet_receiver,
                                           &rtt_stats_, &process_thread_);
 
-  // Do not call back before being started.
-  receive_stream.OnRtpPacket(ParsePacket(kFlexfecPacket));
-
-  // Call back after being started.
-  receive_stream.Start();
   EXPECT_CALL(recovered_packet_receiver,
               OnRecoveredPacket(_, kRtpHeaderSize + kPayloadLength[1]));
+
   receive_stream.OnRtpPacket(ParsePacket(kFlexfecPacket));
 
   // Tear-down
diff --git a/webrtc/media/engine/fakewebrtccall.cc b/webrtc/media/engine/fakewebrtccall.cc
index 9abcc55..af86fdd 100644
--- a/webrtc/media/engine/fakewebrtccall.cc
+++ b/webrtc/media/engine/fakewebrtccall.cc
@@ -340,21 +340,13 @@
 
 FakeFlexfecReceiveStream::FakeFlexfecReceiveStream(
     const webrtc::FlexfecReceiveStream::Config& config)
-    : config_(config), receiving_(false) {}
+    : config_(config) {}
 
 const webrtc::FlexfecReceiveStream::Config&
 FakeFlexfecReceiveStream::GetConfig() const {
   return config_;
 }
 
-void FakeFlexfecReceiveStream::Start() {
-  receiving_ = true;
-}
-
-void FakeFlexfecReceiveStream::Stop() {
-  receiving_ = false;
-}
-
 // TODO(brandtr): Implement when the stats have been designed.
 webrtc::FlexfecReceiveStream::Stats FakeFlexfecReceiveStream::GetStats() const {
   return webrtc::FlexfecReceiveStream::Stats();
diff --git a/webrtc/media/engine/fakewebrtccall.h b/webrtc/media/engine/fakewebrtccall.h
index cb1b32a..91585f6 100644
--- a/webrtc/media/engine/fakewebrtccall.h
+++ b/webrtc/media/engine/fakewebrtccall.h
@@ -224,16 +224,11 @@
   const webrtc::FlexfecReceiveStream::Config& GetConfig() const override;
 
  private:
-  // webrtc::FlexfecReceiveStream implementation.
-  void Start() override;
-  void Stop() override;
-
   webrtc::FlexfecReceiveStream::Stats GetStats() const override;
 
   void OnRtpPacket(const webrtc::RtpPacketReceived& packet) override;
 
   webrtc::FlexfecReceiveStream::Config config_;
-  bool receiving_;
 };
 
 class FakeCall final : public webrtc::Call, public webrtc::PacketReceiver {
diff --git a/webrtc/media/engine/webrtcvideoengine.cc b/webrtc/media/engine/webrtcvideoengine.cc
index 52db773..2ff5f08 100644
--- a/webrtc/media/engine/webrtcvideoengine.cc
+++ b/webrtc/media/engine/webrtcvideoengine.cc
@@ -2346,7 +2346,6 @@
   }
   if (flexfec_config_.IsCompleteAndEnabled()) {
     flexfec_stream_ = call_->CreateFlexfecReceiveStream(flexfec_config_);
-    flexfec_stream_->Start();
     MaybeAssociateFlexfecWithVideo();
   }
 }
diff --git a/webrtc/test/call_test.cc b/webrtc/test/call_test.cc
index 294428e..51816d8 100644
--- a/webrtc/test/call_test.cc
+++ b/webrtc/test/call_test.cc
@@ -363,8 +363,6 @@
   }
   for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
     audio_recv_stream->Start();
-  for (FlexfecReceiveStream* flexfec_recv_stream : flexfec_receive_streams_)
-    flexfec_recv_stream->Start();
   if (frame_generator_capturer_.get() != NULL)
     frame_generator_capturer_->Start();
 }
@@ -372,8 +370,6 @@
 void CallTest::Stop() {
   if (frame_generator_capturer_.get() != NULL)
     frame_generator_capturer_->Stop();
-  for (FlexfecReceiveStream* flexfec_recv_stream : flexfec_receive_streams_)
-    flexfec_recv_stream->Stop();
   for (AudioReceiveStream* audio_recv_stream : audio_receive_streams_)
     audio_recv_stream->Stop();
   if (audio_send_stream_) {
diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc
index 81e732c..6ad64bc 100644
--- a/webrtc/video/video_quality_test.cc
+++ b/webrtc/video/video_quality_test.cc
@@ -1860,8 +1860,6 @@
     thumbnail_send_stream->Start();
   for (VideoReceiveStream* receive_stream : video_receive_streams_)
     receive_stream->Start();
-  for (FlexfecReceiveStream* receive_stream : flexfec_receive_streams_)
-    receive_stream->Start();
   for (VideoReceiveStream* thumbnail_receive_stream :
        thumbnail_receive_streams_)
     thumbnail_receive_stream->Start();
@@ -1886,8 +1884,6 @@
   for (VideoReceiveStream* thumbnail_receive_stream :
        thumbnail_receive_streams_)
     thumbnail_receive_stream->Stop();
-  for (FlexfecReceiveStream* receive_stream : flexfec_receive_streams_)
-    receive_stream->Stop();
   for (VideoReceiveStream* receive_stream : video_receive_streams_)
     receive_stream->Stop();
   for (VideoSendStream* thumbnail_send_stream : thumbnail_send_streams_)
@@ -2048,12 +2044,9 @@
 
   // Start sending and receiving video.
   if (params_.video.enabled) {
-    for (FlexfecReceiveStream* flexfec_receive_stream :
-         flexfec_receive_streams_) {
-      flexfec_receive_stream->Start();
-    }
-    for (VideoReceiveStream* receive_stream : video_receive_streams_)
-      receive_stream->Start();
+    for (VideoReceiveStream* video_receive_stream : video_receive_streams_)
+      video_receive_stream->Start();
+
     video_send_stream_->Start();
     video_capturer_->Start();
   }
@@ -2091,7 +2084,6 @@
       for (VideoReceiveStream* video_receive_stream : video_receive_streams_) {
         video_receive_stream->RemoveSecondarySink(flexfec_receive_stream);
       }
-      flexfec_receive_stream->Stop();
       receiver_call_->DestroyFlexfecReceiveStream(flexfec_receive_stream);
     }
     for (VideoReceiveStream* receive_stream : video_receive_streams_) {