NetEq: Update CNG code to accommodate 48 kHz sample rate
Checksums were updated for NetEq and ACM bitexactness tests (after
verifying the audio quality).
BUG=webrtc:5447
Review-Url: https://codereview.webrtc.org/2266293005
Cr-Commit-Position: refs/heads/master@{#13928}
diff --git a/webrtc/modules/audio_coding/neteq/neteq_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_unittest.cc
index 976c685..b63d7c1 100644
--- a/webrtc/modules/audio_coding/neteq/neteq_unittest.cc
+++ b/webrtc/modules/audio_coding/neteq/neteq_unittest.cc
@@ -461,16 +461,16 @@
webrtc::test::ResourcePath("audio_coding/neteq_universal_new", "rtp");
const std::string output_checksum = PlatformChecksum(
- "472ebe1126f41fdb6b5c63c87f625a52e7604e49",
- "36f6fc87c05de077e998173b46b83524de5e8fc2",
- "472ebe1126f41fdb6b5c63c87f625a52e7604e49",
- "f9749813dbc3fb59dae761de518fec65b8407c5b");
+ "acd33f5c73625c1529c412ad59b5565132826f1b",
+ "1a2e82a0410421c1d1d3eb0615334db5e2c63784",
+ "acd33f5c73625c1529c412ad59b5565132826f1b",
+ "52797b781758a1d2303140b80b9c5030c9093d6b");
const std::string network_stats_checksum = PlatformChecksum(
- "2cf380a05ee07080bd72471e8ec7777a39644ec9",
- "f50795e25ec2bab2d418c694ab088012776fd450",
- "2cf380a05ee07080bd72471e8ec7777a39644ec9",
- "2cf380a05ee07080bd72471e8ec7777a39644ec9");
+ "9c5bb9e74a583be89313b158a19ea10d41bf9de6",
+ "e948ec65cf18852ba2a197189a3186635db34c3b",
+ "9c5bb9e74a583be89313b158a19ea10d41bf9de6",
+ "9c5bb9e74a583be89313b158a19ea10d41bf9de6");
const std::string rtcp_stats_checksum = PlatformChecksum(
"b8880bf9fed2487efbddcb8d94b9937a29ae521d",
diff --git a/webrtc/modules/audio_coding/neteq/normal.cc b/webrtc/modules/audio_coding/neteq/normal.cc
index f99b3f2..7316918 100644
--- a/webrtc/modules/audio_coding/neteq/normal.cc
+++ b/webrtc/modules/audio_coding/neteq/normal.cc
@@ -145,14 +145,15 @@
}
} else if (last_mode == kModeRfc3389Cng) {
assert(output->Channels() == 1); // Not adapted for multi-channel yet.
- static const size_t kCngLength = 32;
+ static const size_t kCngLength = 48;
+ RTC_DCHECK_LE(static_cast<size_t>(8 * fs_mult), kCngLength);
int16_t cng_output[kCngLength];
// Reset mute factor and start up fresh.
external_mute_factor_array[0] = 16384;
ComfortNoiseDecoder* cng_decoder = decoder_database_->GetActiveCngDecoder();
if (cng_decoder) {
- // Generate long enough for 32kHz.
+ // Generate long enough for 48kHz.
if (!cng_decoder->Generate(cng_output, 0)) {
// Error returned; set return vector to all zeros.
memset(cng_output, 0, sizeof(cng_output));