Delete remnants of RTX support in voice_engine.
Receive logic in voe::Channel attempted to handle RTX if
RTPPayloadRegistry::IsRtx returns true, but the audio code never calls
the config methods (SetRtxSsrc or SetRtxPayloadType) required for that
to ever happen.
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/3006913002
Cr-Commit-Position: refs/heads/master@{#19633}
diff --git a/webrtc/voice_engine/channel.cc b/webrtc/voice_engine/channel.cc
index 5732e8e..901d80c 100644
--- a/webrtc/voice_engine/channel.cc
+++ b/webrtc/voice_engine/channel.cc
@@ -905,7 +905,6 @@
transport_overhead_per_packet_(0),
rtp_overhead_per_packet_(0),
_outputSpeechType(AudioFrame::kNormalSpeech),
- restored_packet_in_use_(false),
rtcp_observer_(new VoERtcpObserver(this)),
associate_send_channel_(ChannelOwner(nullptr)),
pacing_enabled_(config.enable_voice_pacing),
@@ -1747,9 +1746,6 @@
size_t packet_length,
const RTPHeader& header,
bool in_order) {
- if (rtp_payload_registry_->IsRtx(header)) {
- return HandleRtxPacket(packet, packet_length, header);
- }
const uint8_t* payload = packet + header.headerLength;
assert(packet_length >= header.headerLength);
size_t payload_length = packet_length - header.headerLength;
@@ -1762,35 +1758,6 @@
payload_specific, in_order);
}
-bool Channel::HandleRtxPacket(const uint8_t* packet,
- size_t packet_length,
- const RTPHeader& header) {
- if (!rtp_payload_registry_->IsRtx(header))
- return false;
-
- // Remove the RTX header and parse the original RTP header.
- if (packet_length < header.headerLength)
- return false;
- if (packet_length > kVoiceEngineMaxIpPacketSizeBytes)
- return false;
- if (restored_packet_in_use_) {
- WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVoice, _channelId,
- "Multiple RTX headers detected, dropping packet");
- return false;
- }
- if (!rtp_payload_registry_->RestoreOriginalPacket(
- restored_packet_, packet, &packet_length, rtp_receiver_->SSRC(),
- header)) {
- WEBRTC_TRACE(webrtc::kTraceDebug, webrtc::kTraceVoice, _channelId,
- "Incoming RTX packet: invalid RTP header");
- return false;
- }
- restored_packet_in_use_ = true;
- bool ret = OnRecoveredPacket(restored_packet_, packet_length);
- restored_packet_in_use_ = false;
- return ret;
-}
-
bool Channel::IsPacketInOrder(const RTPHeader& header) const {
StreamStatistician* statistician =
rtp_receive_statistics_->GetStatistician(header.ssrc);
@@ -1801,9 +1768,6 @@
bool Channel::IsPacketRetransmitted(const RTPHeader& header,
bool in_order) const {
- // Retransmissions are handled separately if RTX is enabled.
- if (rtp_payload_registry_->RtxEnabled())
- return false;
StreamStatistician* statistician =
rtp_receive_statistics_->GetStatistician(header.ssrc);
if (!statistician)
diff --git a/webrtc/voice_engine/channel.h b/webrtc/voice_engine/channel.h
index 9ec3eba..884845e 100644
--- a/webrtc/voice_engine/channel.h
+++ b/webrtc/voice_engine/channel.h
@@ -426,9 +426,6 @@
size_t packet_length,
const RTPHeader& header,
bool in_order);
- bool HandleRtxPacket(const uint8_t* packet,
- size_t packet_length,
- const RTPHeader& header);
bool IsPacketInOrder(const RTPHeader& header) const;
bool IsPacketRetransmitted(const RTPHeader& header, bool in_order) const;
int ResendPackets(const uint16_t* sequence_numbers, int length);
@@ -495,7 +492,6 @@
uint32_t playout_timestamp_rtp_ GUARDED_BY(video_sync_lock_);
uint32_t playout_delay_ms_ GUARDED_BY(video_sync_lock_);
uint16_t send_sequence_number_;
- uint8_t restored_packet_[kVoiceEngineMaxIpPacketSizeBytes];
rtc::CriticalSection ts_stats_lock_;
@@ -529,8 +525,6 @@
rtc::CriticalSection overhead_per_packet_lock_;
// VoENetwork
AudioFrame::SpeechType _outputSpeechType;
- // DTX.
- bool restored_packet_in_use_;
// RtcpBandwidthObserver
std::unique_ptr<VoERtcpObserver> rtcp_observer_;
// An associated send channel.
diff --git a/webrtc/voice_engine/voice_engine_defines.h b/webrtc/voice_engine/voice_engine_defines.h
index 1c2d55d..3b86c6a 100644
--- a/webrtc/voice_engine/voice_engine_defines.h
+++ b/webrtc/voice_engine/voice_engine_defines.h
@@ -34,8 +34,6 @@
// Max scale factor for output volume panning
const float kMaxOutputVolumePanning = 1.0f;
-enum { kVoiceEngineMaxIpPacketSizeBytes = 1500 }; // assumes Ethernet
-
// Audio processing
const NoiseSuppression::Level kDefaultNsMode = NoiseSuppression::kModerate;
const GainControl::Mode kDefaultAgcMode =