Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(570)

Unified Diff: webrtc/modules/audio_coding/neteq/neteq_impl.cc

Issue 2117763002: Removed LEGACY_BITEXACT from neteq_impl.cc and updated the ACM unit tests. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Updated checksums for arm64 Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_coding/neteq/neteq_impl.cc
diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl.cc b/webrtc/modules/audio_coding/neteq/neteq_impl.cc
index 422252c5ac54c4a7d25aa9745b4a3ed135e3a3c6..024c73d23dcaeaabf89087313829a36515534626 100644
--- a/webrtc/modules/audio_coding/neteq/neteq_impl.cc
+++ b/webrtc/modules/audio_coding/neteq/neteq_impl.cc
@@ -47,11 +47,6 @@
#include "webrtc/modules/audio_coding/neteq/timestamp_scaler.h"
#include "webrtc/modules/include/module_common_types.h"
-// Modify the code to obtain backwards bit-exactness. Once bit-exactness is no
-// longer required, this #define should be removed (and the code that it
-// enables).
-#define LEGACY_BITEXACT
-
namespace webrtc {
NetEqImpl::Dependencies::Dependencies(
@@ -1145,15 +1140,8 @@ int NetEqImpl::GetDecision(Operations* operation,
return -1;
}
timestamp_ = header->timestamp;
- if (*operation == kRfc3389CngNoPacket
-#ifndef LEGACY_BITEXACT
- // Without this check, it can happen that a non-CNG packet is sent to
- // the CNG decoder as if it was a SID frame. This is clearly a bug,
- // but is kept for now to maintain bit-exactness with the test
- // vectors.
- && decoder_database_->IsComfortNoise(header->payloadType)
-#endif
- ) {
+ if (*operation == kRfc3389CngNoPacket &&
+ decoder_database_->IsComfortNoise(header->payloadType)) {
// Change decision to CNG packet, since we do have a CNG packet, but it
// was considered too early to use. Now, use it anyway.
*operation = kRfc3389Cng;
@@ -1372,16 +1360,6 @@ int NetEqImpl::Decode(PacketList* packet_list, Operations* operation,
reset_decoder_ = false;
}
-#ifdef LEGACY_BITEXACT
- // Due to a bug in old SignalMCU, it could happen that CNG operation was
- // decided, but a speech packet was provided. The speech packet will be used
- // to update the comfort noise decoder, as if it was a SID frame, which is
- // clearly wrong.
- if (*operation == kRfc3389Cng) {
minyue-webrtc 2016/07/07 15:22:05 is it still possible to run in here? though it is
ossu 2016/07/08 09:08:26 Hmm, maybe. If we did, we'd call DecodeLoop() belo
- return 0;
- }
-#endif
-
*decoded_length = 0;
// Update codec-internal PLC state.
if ((*operation == kMerge) && decoder && decoder->HasDecodePlc()) {
@@ -1776,29 +1754,8 @@ int NetEqImpl::DoRfc3389Cng(PacketList* packet_list, bool play_dtmf) {
Packet* packet = packet_list->front();
packet_list->pop_front();
if (!decoder_database_->IsComfortNoise(packet->header.payloadType)) {
-#ifdef LEGACY_BITEXACT
minyue-webrtc 2016/07/07 15:22:05 is it still possible to run in here? though it is
ossu 2016/07/08 09:08:26 Well, we do return other types of errors, e.g. kUn
- // This can happen due to a bug in GetDecision. Change the payload type
- // to a CNG type, and move on. Note that this means that we are in fact
- // sending a non-CNG payload to the comfort noise decoder for decoding.
- // Clearly wrong, but will maintain bit-exactness with legacy.
- if (fs_hz_ == 8000) {
- packet->header.payloadType =
- decoder_database_->GetRtpPayloadType(NetEqDecoder::kDecoderCNGnb);
- } else if (fs_hz_ == 16000) {
- packet->header.payloadType =
- decoder_database_->GetRtpPayloadType(NetEqDecoder::kDecoderCNGwb);
- } else if (fs_hz_ == 32000) {
- packet->header.payloadType = decoder_database_->GetRtpPayloadType(
- NetEqDecoder::kDecoderCNGswb32kHz);
- } else if (fs_hz_ == 48000) {
- packet->header.payloadType = decoder_database_->GetRtpPayloadType(
- NetEqDecoder::kDecoderCNGswb48kHz);
- }
- assert(decoder_database_->IsComfortNoise(packet->header.payloadType));
-#else
LOG(LS_ERROR) << "Trying to decode non-CNG payload as CNG.";
return kOtherError;
-#endif
}
// UpdateParameters() deletes |packet|.
if (comfort_noise_->UpdateParameters(packet) ==

Powered by Google App Engine
This is Rietveld 408576698