Reland "Prevent Opus DTX from generating intermittent noise during silence"

The original CL is reviewed at
https://codereview.webrtc.org/1415173005/

A silly mistake was made at the last patch set, and the CL was reverted. This CL is to fix and reland it.

BUG=

Review URL: https://codereview.webrtc.org/1422213003

Cr-Commit-Position: refs/heads/master@{#10574}
This commit is contained in:
minyue
2015-11-10 03:49:26 -08:00
committed by Commit bot
parent 626252fa66
commit 3cea256806
6 changed files with 377 additions and 62 deletions

View File

@ -15,7 +15,14 @@
struct WebRtcOpusEncInst {
OpusEncoder* encoder;
int channels;
int in_dtx_mode;
// When Opus is in DTX mode, we use |zero_counts| to count consecutive zeros
// to break long zero segment so as to prevent DTX from going wrong. We use
// one counter for each channel. After each encoding, |zero_counts| contain
// the remaining zeros from the last frame.
// TODO(minyue): remove this when Opus gets an internal fix to DTX.
size_t* zero_counts;
};
struct WebRtcOpusDecInst {