Delete Channel::OnRecoveredPacket.

This method was unused. When deleted, also configuration of
receive-side RTP header extensions in this class becomes unused.

Header extensions are parsed in Call.

Bug: None
Change-Id: Iad76abf72962f3d91e85dde43541c3b6a9522b7e
Reviewed-on: https://webrtc-review.googlesource.com/39782
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21636}
diff --git a/audio/audio_receive_stream.cc b/audio/audio_receive_stream.cc
index bfa125a..294dad0 100644
--- a/audio/audio_receive_stream.cc
+++ b/audio/audio_receive_stream.cc
@@ -345,19 +345,6 @@
   return audio_state;
 }
 
-AudioReceiveStream::ExtensionIds AudioReceiveStream::FindExtensionIds(
-    const std::vector<RtpExtension>& extensions) {
-  ExtensionIds ids;
-  for (const auto& extension : extensions) {
-    if (extension.uri == RtpExtension::kAudioLevelUri) {
-      ids.audio_level = extension.id;
-    } else if (extension.uri == RtpExtension::kTransportSequenceNumberUri) {
-      ids.transport_sequence_number = extension.id;
-    }
-  }
-  return ids;
-}
-
 void AudioReceiveStream::ConfigureStream(AudioReceiveStream* stream,
                                          const Config& new_config,
                                          bool first_time) {
@@ -389,19 +376,6 @@
     channel_proxy->SetReceiveCodecs(new_config.decoder_map);
   }
 
-  // RTP Header Extensions.
-  const ExtensionIds old_ids = FindExtensionIds(old_config.rtp.extensions);
-  const ExtensionIds new_ids = FindExtensionIds(new_config.rtp.extensions);
-  if (first_time || new_ids.audio_level != old_ids.audio_level) {
-    channel_proxy->SetReceiveAudioLevelIndicationStatus(
-        new_ids.audio_level != 0, new_ids.audio_level);
-  }
-  if (first_time || new_ids.transport_sequence_number !=
-                        old_ids.transport_sequence_number) {
-    channel_proxy->EnableReceiveTransportSequenceNumber(
-        new_ids.transport_sequence_number);
-  }
-
   stream->config_ = new_config;
 }
 }  // namespace internal
diff --git a/audio/audio_receive_stream.h b/audio/audio_receive_stream.h
index 999039f..7d0eed9 100644
--- a/audio/audio_receive_stream.h
+++ b/audio/audio_receive_stream.h
@@ -91,15 +91,6 @@
   const AudioSendStream* GetAssociatedSendStreamForTesting() const;
 
  private:
-  // RFC 5285: Each distinct extension MUST have a unique ID. The value 0 is
-  // reserved for padding and MUST NOT be used as a local identifier.
-  // So it should be safe to use 0 here to indicate "not configured".
-  struct ExtensionIds {
-    int audio_level = 0;
-    int transport_sequence_number = 0;
-  };
-  static ExtensionIds FindExtensionIds(
-      const std::vector<RtpExtension>& extensions);
   static void ConfigureStream(AudioReceiveStream* stream,
                               const Config& new_config,
                               bool first_time);
diff --git a/audio/audio_receive_stream_unittest.cc b/audio/audio_receive_stream_unittest.cc
index 062e71f..c8318aa 100644
--- a/audio/audio_receive_stream_unittest.cc
+++ b/audio/audio_receive_stream_unittest.cc
@@ -87,12 +87,6 @@
     EXPECT_CALL(*channel_proxy_, SetLocalSSRC(kLocalSsrc)).Times(1);
     EXPECT_CALL(*channel_proxy_, SetNACKStatus(true, 15)).Times(1);
     EXPECT_CALL(*channel_proxy_,
-        SetReceiveAudioLevelIndicationStatus(true, kAudioLevelId))
-            .Times(1);
-    EXPECT_CALL(*channel_proxy_,
-        EnableReceiveTransportSequenceNumber(kTransportSequenceNumberId))
-            .Times(1);
-    EXPECT_CALL(*channel_proxy_,
         RegisterReceiverCongestionControlObjects(&packet_router_))
             .Times(1);
     EXPECT_CALL(*channel_proxy_, ResetReceiverCongestionControlObjects())
@@ -386,12 +380,6 @@
   EXPECT_CALL(channel_proxy, SetLocalSSRC(kLocalSsrc + 1)).Times(1);
   EXPECT_CALL(channel_proxy, SetNACKStatus(true, 15 + 1)).Times(1);
   EXPECT_CALL(channel_proxy, SetReceiveCodecs(new_config.decoder_map));
-  EXPECT_CALL(channel_proxy,
-      SetReceiveAudioLevelIndicationStatus(true, kAudioLevelId + 1))
-          .Times(1);
-  EXPECT_CALL(channel_proxy,
-      EnableReceiveTransportSequenceNumber(kTransportSequenceNumberId + 1))
-          .Times(1);
 
   recv_stream->Reconfigure(new_config);
 }
diff --git a/test/mock_voe_channel_proxy.h b/test/mock_voe_channel_proxy.h
index 4b3d30b..29635ba 100644
--- a/test/mock_voe_channel_proxy.h
+++ b/test/mock_voe_channel_proxy.h
@@ -38,9 +38,7 @@
   MOCK_METHOD1(SetRTCP_CNAME, void(const std::string& c_name));
   MOCK_METHOD2(SetNACKStatus, void(bool enable, int max_packets));
   MOCK_METHOD2(SetSendAudioLevelIndicationStatus, void(bool enable, int id));
-  MOCK_METHOD2(SetReceiveAudioLevelIndicationStatus, void(bool enable, int id));
   MOCK_METHOD1(EnableSendTransportSequenceNumber, void(int id));
-  MOCK_METHOD1(EnableReceiveTransportSequenceNumber, void(int id));
   MOCK_METHOD2(RegisterSenderCongestionControlObjects,
                void(RtpTransportControllerSendInterface* transport,
                     RtcpBandwidthObserver* bandwidth_observer));
diff --git a/voice_engine/channel.cc b/voice_engine/channel.cc
index ef076ba..efc76bd 100644
--- a/voice_engine/channel.cc
+++ b/voice_engine/channel.cc
@@ -446,21 +446,6 @@
   return 0;
 }
 
-bool Channel::OnRecoveredPacket(const uint8_t* rtp_packet,
-                                size_t rtp_packet_length) {
-  RTPHeader header;
-  if (!rtp_header_parser_->Parse(rtp_packet, rtp_packet_length, &header)) {
-    RTC_LOG(LS_WARNING) << "IncomingPacket invalid RTP header";
-    return false;
-  }
-  header.payload_type_frequency =
-      rtp_payload_registry_->GetPayloadTypeFrequency(header.payloadType);
-  if (header.payload_type_frequency < 0)
-    return false;
-  // TODO(nisse): Pass RtpPacketReceived with |recovered()| true.
-  return ReceivePacket(rtp_packet, rtp_packet_length, header);
-}
-
 AudioMixer::Source::AudioFrameInfo Channel::GetAudioFrameWithInfo(
     int sample_rate_hz,
     AudioFrame* audio_frame) {
@@ -593,7 +578,6 @@
                  rtc::scoped_refptr<AudioDecoderFactory> decoder_factory)
     : event_log_proxy_(new RtcEventLogProxy()),
       rtcp_rtt_stats_proxy_(new RtcpRttStatsProxy()),
-      rtp_header_parser_(RtpHeaderParser::Create()),
       rtp_payload_registry_(new RTPPayloadRegistry()),
       rtp_receive_statistics_(
           ReceiveStatistics::Create(Clock::GetRealTimeClock())),
@@ -1118,33 +1102,12 @@
   return SetSendRtpHeaderExtension(enable, kRtpExtensionAudioLevel, id);
 }
 
-int Channel::SetReceiveAudioLevelIndicationStatus(bool enable,
-                                                  unsigned char id) {
-  rtp_header_parser_->DeregisterRtpHeaderExtension(kRtpExtensionAudioLevel);
-  if (enable &&
-      !rtp_header_parser_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel,
-                                                      id)) {
-    return -1;
-  }
-  return 0;
-}
-
 void Channel::EnableSendTransportSequenceNumber(int id) {
   int ret =
       SetSendRtpHeaderExtension(true, kRtpExtensionTransportSequenceNumber, id);
   RTC_DCHECK_EQ(0, ret);
 }
 
-void Channel::EnableReceiveTransportSequenceNumber(int id) {
-  rtp_header_parser_->DeregisterRtpHeaderExtension(
-      kRtpExtensionTransportSequenceNumber);
-  if (id != 0) {
-    bool ret = rtp_header_parser_->RegisterRtpHeaderExtension(
-        kRtpExtensionTransportSequenceNumber, id);
-    RTC_DCHECK(ret);
-  }
-}
-
 void Channel::RegisterSenderCongestionControlObjects(
     RtpTransportControllerSendInterface* transport,
     RtcpBandwidthObserver* bandwidth_observer) {
diff --git a/voice_engine/channel.h b/voice_engine/channel.h
index e501c6d..3d6dd8f 100644
--- a/voice_engine/channel.h
+++ b/voice_engine/channel.h
@@ -212,9 +212,7 @@
   // RTP+RTCP
   int SetLocalSSRC(unsigned int ssrc);
   int SetSendAudioLevelIndicationStatus(bool enable, unsigned char id);
-  int SetReceiveAudioLevelIndicationStatus(bool enable, unsigned char id);
   void EnableSendTransportSequenceNumber(int id);
-  void EnableReceiveTransportSequenceNumber(int id);
 
   void RegisterSenderCongestionControlObjects(
       RtpTransportControllerSendInterface* transport,
@@ -311,7 +309,6 @@
   int GetRemoteSSRC(unsigned int& ssrc);
   void OnUplinkPacketLossRate(float packet_loss_rate);
   bool InputMute() const;
-  bool OnRecoveredPacket(const uint8_t* packet, size_t packet_length);
 
   bool ReceivePacket(const uint8_t* packet,
                      size_t packet_length,
@@ -343,7 +340,6 @@
   std::unique_ptr<voe::RtcEventLogProxy> event_log_proxy_;
   std::unique_ptr<voe::RtcpRttStatsProxy> rtcp_rtt_stats_proxy_;
 
-  std::unique_ptr<RtpHeaderParser> rtp_header_parser_;
   std::unique_ptr<RTPPayloadRegistry> rtp_payload_registry_;
   std::unique_ptr<ReceiveStatistics> rtp_receive_statistics_;
   std::unique_ptr<RtpReceiver> rtp_receiver_;
diff --git a/voice_engine/channel_proxy.cc b/voice_engine/channel_proxy.cc
index 6442f2b..70564d4 100644
--- a/voice_engine/channel_proxy.cc
+++ b/voice_engine/channel_proxy.cc
@@ -72,22 +72,11 @@
   RTC_DCHECK_EQ(0, error);
 }
 
-void ChannelProxy::SetReceiveAudioLevelIndicationStatus(bool enable, int id) {
-  RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
-  int error = channel_->SetReceiveAudioLevelIndicationStatus(enable, id);
-  RTC_DCHECK_EQ(0, error);
-}
-
 void ChannelProxy::EnableSendTransportSequenceNumber(int id) {
   RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
   channel_->EnableSendTransportSequenceNumber(id);
 }
 
-void ChannelProxy::EnableReceiveTransportSequenceNumber(int id) {
-  RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
-  channel_->EnableReceiveTransportSequenceNumber(id);
-}
-
 void ChannelProxy::RegisterSenderCongestionControlObjects(
     RtpTransportControllerSendInterface* transport,
     RtcpBandwidthObserver* bandwidth_observer) {
diff --git a/voice_engine/channel_proxy.h b/voice_engine/channel_proxy.h
index 1d2c8ce..ef81174 100644
--- a/voice_engine/channel_proxy.h
+++ b/voice_engine/channel_proxy.h
@@ -64,9 +64,7 @@
   virtual void SetRTCP_CNAME(const std::string& c_name);
   virtual void SetNACKStatus(bool enable, int max_packets);
   virtual void SetSendAudioLevelIndicationStatus(bool enable, int id);
-  virtual void SetReceiveAudioLevelIndicationStatus(bool enable, int id);
   virtual void EnableSendTransportSequenceNumber(int id);
-  virtual void EnableReceiveTransportSequenceNumber(int id);
   virtual void RegisterSenderCongestionControlObjects(
       RtpTransportControllerSendInterface* transport,
       RtcpBandwidthObserver* bandwidth_observer);