From c9ec8758db79c6fe4dee42d785f681931ddd7911 Mon Sep 17 00:00:00 2001 From: "henrik.lundin" Date: Thu, 13 Oct 2016 02:43:34 -0700 Subject: [PATCH] NetEq: Remove special case for Merge without Expand This was an ill tested special case which turned out to be more problem than benefit. The special case was only triggered when the decoder frame size was smaller than 10 ms, which is more or less unsupported by NetEq. Also fixed a bug in a test, a bug which was exposed by the code change. BUG=chromium:654983 Review-Url: https://codereview.webrtc.org/2412883002 Cr-Commit-Position: refs/heads/master@{#14627} --- webrtc/modules/audio_coding/neteq/decision_logic_normal.cc | 7 +------ webrtc/modules/audio_coding/neteq/decision_logic_normal.h | 1 - webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc | 2 +- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/webrtc/modules/audio_coding/neteq/decision_logic_normal.cc b/webrtc/modules/audio_coding/neteq/decision_logic_normal.cc index 37a75d7f5a..ee11c466a8 100644 --- a/webrtc/modules/audio_coding/neteq/decision_logic_normal.cc +++ b/webrtc/modules/audio_coding/neteq/decision_logic_normal.cc @@ -207,12 +207,7 @@ Operations DecisionLogicNormal::FuturePacketAvailable( } } // Do not merge unless we have done an expand before. - // (Convert kAllowMergeWithoutExpand from ms to samples by multiplying with - // fs_mult_ * 8 = fs / 1000.) - if (prev_mode == kModeExpand || - (decoder_frame_length < output_size_samples_ && - cur_size_samples > - static_cast(kAllowMergeWithoutExpandMs * fs_mult_ * 8))) { + if (prev_mode == kModeExpand) { return kMerge; } else if (play_dtmf) { // Play DTMF instead of expand. diff --git a/webrtc/modules/audio_coding/neteq/decision_logic_normal.h b/webrtc/modules/audio_coding/neteq/decision_logic_normal.h index aa0edf3152..85d0857627 100644 --- a/webrtc/modules/audio_coding/neteq/decision_logic_normal.h +++ b/webrtc/modules/audio_coding/neteq/decision_logic_normal.h @@ -40,7 +40,6 @@ class DecisionLogicNormal : public DecisionLogic { tick_timer) {} protected: - static const int kAllowMergeWithoutExpandMs = 20; // 20 ms. static const int kReinitAfterExpands = 100; static const int kMaxWaitForPacket = 10; diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc index 8fba41e737..1494eeca98 100644 --- a/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc +++ b/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc @@ -609,7 +609,7 @@ TEST_F(NetEqImplTest, FirstPacketUnknown) { const int kSampleRateHz = 8000; const size_t kPayloadLengthSamples = static_cast(10 * kSampleRateHz / 1000); // 10 ms. - const size_t kPayloadLengthBytes = kPayloadLengthSamples; + const size_t kPayloadLengthBytes = kPayloadLengthSamples * 2; uint8_t payload[kPayloadLengthBytes] = {0}; WebRtcRTPHeader rtp_header; rtp_header.header.payloadType = kPayloadType;