Rename flexfec AddAndProcessReceivedPacket --> OnRtpPacket.

Preparing for a media-independent RTP receive stream interface.

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2686273002
Cr-Commit-Position: refs/heads/master@{#16646}
diff --git a/webrtc/call/call.cc b/webrtc/call/call.cc
index ec80537..bb13d55 100644
--- a/webrtc/call/call.cc
+++ b/webrtc/call/call.cc
@@ -1216,7 +1216,7 @@
       // Deliver media packets to FlexFEC subsystem.
       auto it_bounds = flexfec_receive_ssrcs_media_.equal_range(ssrc);
       for (auto it = it_bounds.first; it != it_bounds.second; ++it)
-        it->second->AddAndProcessReceivedPacket(*parsed_packet);
+        it->second->OnRtpPacket(*parsed_packet);
 
       event_log_->LogRtpHeader(kIncomingPacket, media_type, packet, length);
       return DELIVERY_OK;
@@ -1225,12 +1225,9 @@
   if (media_type == MediaType::ANY || media_type == MediaType::VIDEO) {
     auto it = flexfec_receive_ssrcs_protection_.find(ssrc);
     if (it != flexfec_receive_ssrcs_protection_.end()) {
-      auto status = it->second->AddAndProcessReceivedPacket(*parsed_packet)
-                        ? DELIVERY_OK
-                        : DELIVERY_PACKET_ERROR;
-      if (status == DELIVERY_OK)
-        event_log_->LogRtpHeader(kIncomingPacket, media_type, packet, length);
-      return status;
+      it->second->OnRtpPacket(*parsed_packet);
+      event_log_->LogRtpHeader(kIncomingPacket, media_type, packet, length);
+      return DELIVERY_OK;
     }
   }
   return DELIVERY_UNKNOWN_SSRC;
diff --git a/webrtc/call/flexfec_receive_stream_impl.cc b/webrtc/call/flexfec_receive_stream_impl.cc
index f5272c9..290b897 100644
--- a/webrtc/call/flexfec_receive_stream_impl.cc
+++ b/webrtc/call/flexfec_receive_stream_impl.cc
@@ -149,19 +149,17 @@
   process_thread_->DeRegisterModule(rtp_rtcp_.get());
 }
 
-bool FlexfecReceiveStreamImpl::AddAndProcessReceivedPacket(
-    const RtpPacketReceived& packet) {
+void FlexfecReceiveStreamImpl::OnRtpPacket(const RtpPacketReceived& packet) {
   {
     rtc::CritScope cs(&crit_);
     if (!started_)
-      return false;
+      return;
   }
 
   if (!receiver_)
-    return false;
+    return;
 
-  if (!receiver_->AddAndProcessReceivedPacket(packet))
-    return false;
+  receiver_->OnRtpPacket(packet);
 
   // Do not report media packets in the RTCP RRs generated by |rtp_rtcp_|.
   if (packet.Ssrc() == config_.remote_ssrc) {
@@ -172,8 +170,6 @@
     rtp_receive_statistics_->IncomingPacket(header, packet.size(),
                                             kNotRetransmitted);
   }
-
-  return true;
 }
 
 void FlexfecReceiveStreamImpl::Start() {
diff --git a/webrtc/call/flexfec_receive_stream_impl.h b/webrtc/call/flexfec_receive_stream_impl.h
index 36ea623..7051829 100644
--- a/webrtc/call/flexfec_receive_stream_impl.h
+++ b/webrtc/call/flexfec_receive_stream_impl.h
@@ -36,7 +36,8 @@
 
   const Config& GetConfig() const { return config_; }
 
-  bool AddAndProcessReceivedPacket(const RtpPacketReceived& packet);
+  // TODO(nisse): Intended to be part of an RtpPacketReceiver interface.
+  void OnRtpPacket(const RtpPacketReceived& packet);
 
   // Implements FlexfecReceiveStream.
   void Start() override;
diff --git a/webrtc/call/flexfec_receive_stream_unittest.cc b/webrtc/call/flexfec_receive_stream_unittest.cc
index 2365811..46bd7c3 100644
--- a/webrtc/call/flexfec_receive_stream_unittest.cc
+++ b/webrtc/call/flexfec_receive_stream_unittest.cc
@@ -138,14 +138,14 @@
                                           &rtt_stats_, &process_thread_);
 
   // Do not call back before being started.
-  receive_stream.AddAndProcessReceivedPacket(ParsePacket(kFlexfecPacket));
+  receive_stream.OnRtpPacket(ParsePacket(kFlexfecPacket));
 
   // Call back after being started.
   receive_stream.Start();
   EXPECT_CALL(
       recovered_packet_receiver,
       OnRecoveredPacket(::testing::_, kRtpHeaderSize + kPayloadLength[1]));
-  receive_stream.AddAndProcessReceivedPacket(ParsePacket(kFlexfecPacket));
+  receive_stream.OnRtpPacket(ParsePacket(kFlexfecPacket));
 }
 
 }  // namespace webrtc
diff --git a/webrtc/modules/rtp_rtcp/include/flexfec_receiver.h b/webrtc/modules/rtp_rtcp/include/flexfec_receiver.h
index a986fbb..67dc813 100644
--- a/webrtc/modules/rtp_rtcp/include/flexfec_receiver.h
+++ b/webrtc/modules/rtp_rtcp/include/flexfec_receiver.h
@@ -43,15 +43,17 @@
   // Inserts a received packet (can be either media or FlexFEC) into the
   // internal buffer, and sends the received packets to the erasure code.
   // All newly recovered packets are sent back through the callback.
-  bool AddAndProcessReceivedPacket(const RtpPacketReceived& packet);
+  void OnRtpPacket(const RtpPacketReceived& packet);
 
   // Returns a counter describing the added and recovered packets.
   FecPacketCounter GetPacketCounter() const;
 
- private:
+  // Protected to aid testing.
+ protected:
   bool AddReceivedPacket(const RtpPacketReceived& packet);
   bool ProcessReceivedPackets();
 
+ private:
   // Config.
   const uint32_t ssrc_;
   const uint32_t protected_media_ssrc_;
diff --git a/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc b/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc
index b81a039..81c5785 100644
--- a/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc
+++ b/webrtc/modules/rtp_rtcp/source/flexfec_receiver.cc
@@ -45,13 +45,12 @@
 
 FlexfecReceiver::~FlexfecReceiver() = default;
 
-bool FlexfecReceiver::AddAndProcessReceivedPacket(
-    const RtpPacketReceived& packet) {
+void FlexfecReceiver::OnRtpPacket(const RtpPacketReceived& packet) {
   RTC_DCHECK_CALLED_SEQUENTIALLY(&sequence_checker_);
-  if (!AddReceivedPacket(std::move(packet))) {
-    return false;
+  if (!AddReceivedPacket(packet)) {
+    return;
   }
-  return ProcessReceivedPackets();
+  ProcessReceivedPackets();
 }
 
 FecPacketCounter FlexfecReceiver::GetPacketCounter() const {
diff --git a/webrtc/modules/rtp_rtcp/source/flexfec_receiver_unittest.cc b/webrtc/modules/rtp_rtcp/source/flexfec_receiver_unittest.cc
index 8bf0f37..01d9a59 100644
--- a/webrtc/modules/rtp_rtcp/source/flexfec_receiver_unittest.cc
+++ b/webrtc/modules/rtp_rtcp/source/flexfec_receiver_unittest.cc
@@ -45,6 +45,18 @@
 
 }  // namespace
 
+class FlexfecReceiverForTest : public FlexfecReceiver {
+ public:
+  FlexfecReceiverForTest(uint32_t ssrc,
+                         uint32_t protected_media_ssrc,
+                         RecoveredPacketReceiver* recovered_packet_receiver)
+      : FlexfecReceiver(ssrc, protected_media_ssrc, recovered_packet_receiver) {
+  }
+  // Expose methods for tests.
+  using FlexfecReceiver::AddReceivedPacket;
+  using FlexfecReceiver::ProcessReceivedPackets;
+};
+
 class FlexfecReceiverTest : public ::testing::Test {
  protected:
   FlexfecReceiverTest()
@@ -61,7 +73,7 @@
   std::list<Packet*> EncodeFec(const PacketList& media_packets,
                                size_t num_fec_packets);
 
-  FlexfecReceiver receiver_;
+  FlexfecReceiverForTest receiver_;
   std::unique_ptr<ForwardErrorCorrection> erasure_code_;
 
   FlexfecPacketGenerator packet_generator_;
@@ -100,8 +112,8 @@
   std::unique_ptr<Packet> media_packet(
       packet_generator_.NextPacket(0, kPayloadLength));
 
-  EXPECT_TRUE(
-      receiver_.AddAndProcessReceivedPacket(ParsePacket(*media_packet)));
+  EXPECT_TRUE(receiver_.AddReceivedPacket(ParsePacket(*media_packet)));
+  EXPECT_TRUE(receiver_.ProcessReceivedPackets());
 }
 
 TEST_F(FlexfecReceiverTest, ReceivesMediaAndFecPackets) {
@@ -114,9 +126,10 @@
   const auto& media_packet = media_packets.front();
   auto fec_packet = packet_generator_.BuildFlexfecPacket(*fec_packets.front());
 
-  EXPECT_TRUE(
-      receiver_.AddAndProcessReceivedPacket(ParsePacket(*media_packet)));
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(ParsePacket(*fec_packet)));
+  EXPECT_TRUE(receiver_.AddReceivedPacket(ParsePacket(*media_packet)));
+  EXPECT_TRUE(receiver_.ProcessReceivedPackets());
+  EXPECT_TRUE(receiver_.AddReceivedPacket(ParsePacket(*fec_packet)));
+  EXPECT_TRUE(receiver_.ProcessReceivedPackets());
 }
 
 TEST_F(FlexfecReceiverTest, FailsOnTruncatedFecPacket) {
@@ -131,9 +144,9 @@
   fec_packets.front()->length = 1;
   auto fec_packet = packet_generator_.BuildFlexfecPacket(*fec_packets.front());
 
-  EXPECT_TRUE(
-      receiver_.AddAndProcessReceivedPacket(ParsePacket(*media_packet)));
-  EXPECT_FALSE(receiver_.AddAndProcessReceivedPacket(ParsePacket(*fec_packet)));
+  EXPECT_TRUE(receiver_.AddReceivedPacket(ParsePacket(*media_packet)));
+  EXPECT_TRUE(receiver_.ProcessReceivedPackets());
+  EXPECT_FALSE(receiver_.AddReceivedPacket(ParsePacket(*fec_packet)));
 }
 
 TEST_F(FlexfecReceiverTest, FailsOnUnknownMediaSsrc) {
@@ -148,8 +161,7 @@
   media_packet->data[10] = 2;
   media_packet->data[11] = 3;
 
-  EXPECT_FALSE(
-      receiver_.AddAndProcessReceivedPacket(ParsePacket(*media_packet)));
+  EXPECT_FALSE(receiver_.AddReceivedPacket(ParsePacket(*media_packet)));
 }
 
 TEST_F(FlexfecReceiverTest, FailsOnUnknownFecSsrc) {
@@ -167,9 +179,9 @@
   fec_packet->data[10] = 6;
   fec_packet->data[11] = 7;
 
-  EXPECT_TRUE(
-      receiver_.AddAndProcessReceivedPacket(ParsePacket(*media_packet)));
-  EXPECT_FALSE(receiver_.AddAndProcessReceivedPacket(ParsePacket(*fec_packet)));
+  EXPECT_TRUE(receiver_.AddReceivedPacket(ParsePacket(*media_packet)));
+  EXPECT_TRUE(receiver_.ProcessReceivedPackets());
+  EXPECT_FALSE(receiver_.AddReceivedPacket(ParsePacket(*fec_packet)));
 }
 
 TEST_F(FlexfecReceiverTest, ReceivesMultiplePackets) {
@@ -182,16 +194,17 @@
 
   // Receive all media packets.
   for (const auto& media_packet : media_packets) {
-    EXPECT_TRUE(
-        receiver_.AddAndProcessReceivedPacket(ParsePacket(*media_packet)));
+    EXPECT_TRUE(receiver_.AddReceivedPacket(ParsePacket(*media_packet)));
+    EXPECT_TRUE(receiver_.ProcessReceivedPackets());
   }
 
   // Receive FEC packet.
   auto fec_packet = fec_packets.front();
   std::unique_ptr<Packet> packet_with_rtp_header =
       packet_generator_.BuildFlexfecPacket(*fec_packet);
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-      ParsePacket(*packet_with_rtp_header)));
+  EXPECT_TRUE(
+      receiver_.AddReceivedPacket(ParsePacket(*packet_with_rtp_header)));
+  EXPECT_TRUE(receiver_.ProcessReceivedPackets());
 }
 
 TEST_F(FlexfecReceiverTest, RecoversFromSingleMediaLoss) {
@@ -204,7 +217,7 @@
 
   // Receive first media packet but drop second.
   auto media_it = media_packets.begin();
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_it)));
+  receiver_.OnRtpPacket(ParsePacket(**media_it));
 
   // Receive FEC packet and ensure recovery of lost media packet.
   auto fec_it = fec_packets.begin();
@@ -216,8 +229,7 @@
       .With(
           Args<0, 1>(ElementsAreArray((*media_it)->data, (*media_it)->length)))
       .WillOnce(Return(true));
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-      ParsePacket(*packet_with_rtp_header)));
+  receiver_.OnRtpPacket(ParsePacket(*packet_with_rtp_header));
 }
 
 TEST_F(FlexfecReceiverTest, RecoversFromDoubleMediaLoss) {
@@ -240,8 +252,7 @@
       .With(
           Args<0, 1>(ElementsAreArray((*media_it)->data, (*media_it)->length)))
       .WillOnce(Return(true));
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-      ParsePacket(*packet_with_rtp_header)));
+  receiver_.OnRtpPacket(ParsePacket(*packet_with_rtp_header));
 
   // Receive second FEC packet and recover second lost media packet.
   fec_it++;
@@ -252,8 +263,7 @@
       .With(
           Args<0, 1>(ElementsAreArray((*media_it)->data, (*media_it)->length)))
       .WillOnce(Return(true));
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-      ParsePacket(*packet_with_rtp_header)));
+  receiver_.OnRtpPacket(ParsePacket(*packet_with_rtp_header));
 }
 
 TEST_F(FlexfecReceiverTest, DoesNotRecoverFromMediaAndFecLoss) {
@@ -266,7 +276,7 @@
 
   // Receive first media packet.
   auto media_it = media_packets.begin();
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_it)));
+  receiver_.OnRtpPacket(ParsePacket(**media_it));
 
   // Drop second media packet and FEC packet. Do not expect call back.
 }
@@ -281,7 +291,7 @@
 
   // Receive first media packet but drop second.
   auto media_it = media_packets.begin();
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_it)));
+  receiver_.OnRtpPacket(ParsePacket(**media_it));
 
   // Receive FEC packet and ensure recovery of lost media packet.
   auto fec_it = fec_packets.begin();
@@ -293,12 +303,10 @@
       .With(
           Args<0, 1>(ElementsAreArray((*media_it)->data, (*media_it)->length)))
       .WillOnce(Return(true));
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-      ParsePacket(*packet_with_rtp_header)));
+  receiver_.OnRtpPacket(ParsePacket(*packet_with_rtp_header));
 
   // Receive FEC packet again.
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-      ParsePacket(*packet_with_rtp_header)));
+  receiver_.OnRtpPacket(ParsePacket(*packet_with_rtp_header));
 
   // Do not call back again.
 }
@@ -320,7 +328,7 @@
   // Drop every second media packet.
   auto media_it = media_packets.begin();
   while (media_it != media_packets.end()) {
-    EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_it)));
+    receiver_.OnRtpPacket(ParsePacket(**media_it));
     ++media_it;
     if (media_it == media_packets.end()) {
       break;
@@ -342,8 +350,7 @@
         .With(Args<0, 1>(
             ElementsAreArray((*media_it)->data, (*media_it)->length)))
         .WillOnce(Return(true));
-    EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-        ParsePacket(*fec_packet_with_rtp_header)));
+    receiver_.OnRtpPacket(ParsePacket(*fec_packet_with_rtp_header));
     ++media_it;
   }
 }
@@ -370,7 +377,7 @@
 
   // Receive all other media packets.
   while (media_it != media_packets.end()) {
-    EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_it)));
+    receiver_.OnRtpPacket(ParsePacket(**media_it));
     ++media_it;
   }
 
@@ -384,8 +391,7 @@
       .With(
           Args<0, 1>(ElementsAreArray((*media_it)->data, (*media_it)->length)))
       .WillOnce(Return(true));
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-      ParsePacket(*packet_with_rtp_header)));
+  receiver_.OnRtpPacket(ParsePacket(*packet_with_rtp_header));
 }
 
 TEST_F(FlexfecReceiverTest, TooDelayedFecPacketDoesNotHelp) {
@@ -410,7 +416,7 @@
 
   // Receive all other media packets.
   while (media_it != media_packets.end()) {
-    EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_it)));
+    receiver_.OnRtpPacket(ParsePacket(**media_it));
     ++media_it;
   }
 
@@ -418,8 +424,7 @@
   auto fec_it = fec_packets.begin();
   std::unique_ptr<Packet> packet_with_rtp_header =
       packet_generator_.BuildFlexfecPacket(**fec_it);
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-      ParsePacket(*packet_with_rtp_header)));
+  receiver_.OnRtpPacket(ParsePacket(*packet_with_rtp_header));
 
   // Do not expect a call back.
 }
@@ -440,14 +445,10 @@
   auto media_packet3 = media_it++;
   auto media_packet4 = media_it++;
   auto media_packet5 = media_it++;
-  EXPECT_TRUE(
-      receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_packet5)));
-  EXPECT_TRUE(
-      receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_packet2)));
-  EXPECT_TRUE(
-      receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_packet3)));
-  EXPECT_TRUE(
-      receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_packet0)));
+  receiver_.OnRtpPacket(ParsePacket(**media_packet5));
+  receiver_.OnRtpPacket(ParsePacket(**media_packet2));
+  receiver_.OnRtpPacket(ParsePacket(**media_packet3));
+  receiver_.OnRtpPacket(ParsePacket(**media_packet0));
 
   // Expect to recover lost media packets.
   EXPECT_CALL(recovered_packet_receiver_,
@@ -466,8 +467,7 @@
   std::unique_ptr<Packet> packet_with_rtp_header;
   while (fec_it != fec_packets.end()) {
     packet_with_rtp_header = packet_generator_.BuildFlexfecPacket(**fec_it);
-    EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-        ParsePacket(*packet_with_rtp_header)));
+    receiver_.OnRtpPacket(ParsePacket(*packet_with_rtp_header));
     ++fec_it;
   }
 }
@@ -482,7 +482,7 @@
 
   // Receive first media packet but drop second.
   auto media_it = media_packets.begin();
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(ParsePacket(**media_it)));
+  receiver_.OnRtpPacket(ParsePacket(**media_it));
 
   // Receive FEC packet and ensure recovery of lost media packet.
   auto fec_it = fec_packets.begin();
@@ -494,8 +494,7 @@
       .With(
           Args<0, 1>(ElementsAreArray((*media_it)->data, (*media_it)->length)))
       .WillOnce(Return(true));
-  EXPECT_TRUE(receiver_.AddAndProcessReceivedPacket(
-      ParsePacket(*packet_with_rtp_header)));
+  receiver_.OnRtpPacket(ParsePacket(*packet_with_rtp_header));
 
   // Check stats calculations.
   FecPacketCounter packet_counter = receiver_.GetPacketCounter();
diff --git a/webrtc/test/fuzzers/flexfec_receiver_fuzzer.cc b/webrtc/test/fuzzers/flexfec_receiver_fuzzer.cc
index 533d0d1..58c1a8d 100644
--- a/webrtc/test/fuzzers/flexfec_receiver_fuzzer.cc
+++ b/webrtc/test/fuzzers/flexfec_receiver_fuzzer.cc
@@ -64,7 +64,7 @@
     }
     RtpPacketReceived parsed_packet;
     if (parsed_packet.Parse(packet.get(), packet_length)) {
-      receiver.AddAndProcessReceivedPacket(parsed_packet);
+      receiver.OnRtpPacket(parsed_packet);
     }
   }
 }