242 Commits

Author SHA1 Message Date
kjellander
dd460e2aa2 Fix lint errors to enable stricter PyLint rules
These fixes are needed to avoid errors after submitting
https://codereview.webrtc.org/2737963003

BUG=webrtc:7303
NOTRY=True

Review-Url: https://codereview.webrtc.org/2812273002
Cr-Commit-Position: refs/heads/master@{#17679}
2017-04-12 19:06:13 +00:00
alessiob
a79143f3e9 This CL includes the following changes:
- BUILD file reorganized, unit tests now have dedicated targets.
- "fake_polqa" is a binary producing fake output in the same format of PolqaOem64; the binary is injected for unit tests instead of the actual POLQA tool.
- Minor refactoring to inject the path to the POLQA binary instead of its parent folder.
- Unit tests for the evaluation score workers.
- Unit tests for the ApmModuleSimulator class.
- Unit tests for the test data generators: ReverberationTestDataGenerator added.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2811953002
Cr-Commit-Position: refs/heads/master@{#17674}
2017-04-12 13:56:25 +00:00
alessiob
93cda2ebde APM-QA tool, renaming noise generators into input-reference generators.
This CL changes the name of classes, methods and variables making using "noise generator".
This naming is replaced with "input-reference generator" which is more descriptive of the actual role.
Comments, CSS class and HTML item names have also been changed.
Consistency for variable names has been verified and the style checked with pylint.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2805653002
Cr-Commit-Position: refs/heads/master@{#17639}
2017-04-11 08:06:28 +00:00
alessiob
36e6a8f1bd WavReaderAdaptor is a simple adaptor of the existing class WavReader from webrtc/common_audio/wav_file.h. The adaptor was mainly needed to use dependency injection and easily test the MultiEndCall class (see https://codereview.webrtc.org/2761853002/).
The unit test ConversationalSpeechTest.MultiEndCallWavReaderAdaptorSine uses CreateSineWavFile() and writes temporary wav files that are used for test (deleted only if the test passes).

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2774423005
Cr-Commit-Position: refs/heads/master@{#17608}
2017-04-10 07:53:53 +00:00
alessiob
8d23c050f2 MultiEndCall::CheckTiming() verifies that a set of audio tracks and timing information is valid to simulate conversational speech. Unordered turns are rejected. Self cross-talk and cross-talk with 3 or more speakers are not permitted since it would require mixing at the simulation step.
This CL includes extensive tests to match accept or reject decisions on several different timing setups. The setups are simulated using mocks (by far more light-weight than using actual timing and audio track files).

The client code, the unit tests in this case, passes information about the fake audio tracks to MockWavReaderFactory. MockWavReader instances are then created using the parameters defined in the client code. To improve the readability of the tests, generator_unittest.cc includes a docstring explaining how each MultiEndCallSetup* test is documented.

Run tests as follows:
$ out/Default/modules_unittests --gtest_filter=ConversationalSpeechTest.*

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2781573002
Cr-Commit-Position: refs/heads/master@{#17592}
2017-04-07 19:05:08 +00:00
mbonadei
7c2c8438f1 Reland of Loosening the coupling between WebRTC and //third_party/protobuf (patchset #1 id:1 of https://codereview.webrtc.org/2786363002/ )
Reason for revert:
Trying to re-land after solving some related issues.

There are no changes compared to the original CL.

Original issue's description:
> Revert of Loosening the coupling between WebRTC and //third_party/protobuf (patchset #16 id:300001 of https://codereview.webrtc.org/2747863003/ )
>
> Reason for revert:
> I will try to reland next week because it is causing some problems.
>
> Original issue's description:
> > To accommodate some downstream WebRTC users we need to loosen
> > the coupling between our code and the //third_party/protobuf.
> >
> > This includes using typedefs to define strings instead of
> > assuming std::string.
> >
> > After this refactoring it will be possible to link with other
> > protobuf implementations than the current one.
> >
> > We moved the PRESUBMIT check to another CL [1]. The goal of this
> > presubmit is to avoid the direct usage of google::protobuf outside
> > of the webrtc/base/protobuf_utils.h header file.
> >
> > [1] - https://codereview.webrtc.org/2753823003/
> >
> > BUG=webrtc:7340
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2747863003
> > Cr-Commit-Position: refs/heads/master@{#17466}
> > Committed: 16ab93b952
>
> TBR=kjellander@webrtc.org,henrik.lundin@webrtc.org,kwiberg@webrtc.org,michaelt@webrtc.org,peah@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7340
>
> Review-Url: https://codereview.webrtc.org/2786363002
> Cr-Commit-Position: refs/heads/master@{#17483}
> Committed: d00aad5eb2

TBR=kjellander@webrtc.org,henrik.lundin@webrtc.org,kwiberg@webrtc.org,michaelt@webrtc.org,peah@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7340
NOTRY=True

Review-Url: https://codereview.webrtc.org/2791963003
Cr-Commit-Position: refs/heads/master@{#17584}
2017-04-07 07:59:12 +00:00
peah
cf02cf13a7 Major AEC3 render pipeline changes
This CL adds major render pipeline changes to the AEC3 code. The reason
for these are that
1) It allows the echo removal unit to receive information about the content
in bands beyond band 0, thereby allowing removal of high-frequency
echoes
2) It allows more controlled handling of the render buffers, allowing proper
buffer behaviour during capture glitches and clock-drift.

Unfortunately, the render pipeline caused a lot of related changes in much
of the rest of the AEC3 files. Most of these are, however, caused by
a change of class name.

Another unfortunate effect of this CL, is that a number of unittest cease to
compile. I chose to temporarily solve that by removing them from the
build using #if/#endif. The reason for that is that those will anyway again
need to be changed in the next review, and doing like this avoids them
having to be reviewed twice.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2784023002
Cr-Commit-Position: refs/heads/master@{#17547}
2017-04-05 21:18:07 +00:00
alessiob
dea682d25b This CL fixes the following:
- snake_case -> CapWords
- compulsory docstring added
- style

A followup CL will fix remaining issues as raised by the next version of the WebRTC Python linter (update in progress).

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2793903006
Cr-Commit-Position: refs/heads/master@{#17543}
2017-04-05 14:25:33 +00:00
alessiob
baf9b58cb4 README.md with deps, build, usage, troubleshooting
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2722823002
Cr-Commit-Position: refs/heads/master@{#17531}
2017-04-04 14:27:03 +00:00
alessiob
fbd4f85f2d Javascript audio player for the exported HTML file.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2721023002
Cr-Commit-Position: refs/heads/master@{#17529}
2017-04-04 13:59:14 +00:00
alessiob
aa7d935cd5 Evaluation scores export library and CSS file for the exported HTML file
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2723703002
Cr-Commit-Position: refs/heads/master@{#17526}
2017-04-04 09:58:09 +00:00
alessiob
8edb8397f8 Reland of Export library that generates an HTLM file with the scores organized in tables. (patchset #1 id:1 of https://codereview.webrtc.org/2791293002/ )
Reason for revert:
Relanding https://codereview.webrtc.org/2717973006

BUG=webrtc:7218

Original issue's description:
> Revert of Export library that generates an HTLM file with the scores organized in tables. (patchset #3 id:40001 of https://codereview.webrtc.org/2717973006/ )
>
> Reason for revert:
> Issue with rebasing from depending CL
>
> Original issue's description:
> > Export library that generates an HTLM file with the scores organized in tables.
> >
> > BUG=webrtc:7218
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2717973006
> > Cr-Commit-Position: refs/heads/master@{#17512}
> > Committed: 29e3330139
>
> TBR=aleloi@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7218
>
> Review-Url: https://codereview.webrtc.org/2791293002
> Cr-Commit-Position: refs/heads/master@{#17513}
> Committed: 880c85ba7e

TBR=aleloi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2798553002
Cr-Commit-Position: refs/heads/master@{#17525}
2017-04-04 09:36:24 +00:00
alessiob
880c85ba7e Revert of Export library that generates an HTLM file with the scores organized in tables. (patchset #3 id:40001 of https://codereview.webrtc.org/2717973006/ )
Reason for revert:
Issue with rebasing from depending CL

Original issue's description:
> Export library that generates an HTLM file with the scores organized in tables.
>
> BUG=webrtc:7218
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2717973006
> Cr-Commit-Position: refs/heads/master@{#17512}
> Committed: 29e3330139

TBR=aleloi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2791293002
Cr-Commit-Position: refs/heads/master@{#17513}
2017-04-03 15:46:58 +00:00
alessiob
29e3330139 Export library that generates an HTLM file with the scores organized in tables.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2717973006
Cr-Commit-Position: refs/heads/master@{#17512}
2017-04-03 15:39:06 +00:00
alessiob
eb4662a64d Single simulation runner.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2720203003
Cr-Commit-Position: refs/heads/master@{#17510}
2017-04-03 15:34:46 +00:00
alessiob
0deb594b25 POLQA evaluation score.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718063003
Cr-Commit-Position: refs/heads/master@{#17509}
2017-04-03 15:29:09 +00:00
alessiob
c533df203c Audio level evaluation score.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2720233002
Cr-Commit-Position: refs/heads/master@{#17508}
2017-04-03 15:20:18 +00:00
alessiob
54ad3df1d2 I added two factory classes to address an important comment I got in another CL from kjellander@webrtc.org.
This CL also includes the implementation of the echo noise generator.
I added comments in the diff to help the reviewers.

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2715233003
Cr-Commit-Position: refs/heads/master@{#17507}
2017-04-03 15:12:44 +00:00
alessiob
8a1b3c9d11 Environmental noise generator implemented.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718133002
Cr-Commit-Position: refs/heads/master@{#17506}
2017-04-03 13:54:46 +00:00
mbonadei
d00aad5eb2 Revert of Loosening the coupling between WebRTC and //third_party/protobuf (patchset #16 id:300001 of https://codereview.webrtc.org/2747863003/ )
Reason for revert:
I will try to reland next week because it is causing some problems.

Original issue's description:
> To accommodate some downstream WebRTC users we need to loosen
> the coupling between our code and the //third_party/protobuf.
>
> This includes using typedefs to define strings instead of
> assuming std::string.
>
> After this refactoring it will be possible to link with other
> protobuf implementations than the current one.
>
> We moved the PRESUBMIT check to another CL [1]. The goal of this
> presubmit is to avoid the direct usage of google::protobuf outside
> of the webrtc/base/protobuf_utils.h header file.
>
> [1] - https://codereview.webrtc.org/2753823003/
>
> BUG=webrtc:7340
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2747863003
> Cr-Commit-Position: refs/heads/master@{#17466}
> Committed: 16ab93b952

TBR=kjellander@webrtc.org,henrik.lundin@webrtc.org,kwiberg@webrtc.org,michaelt@webrtc.org,peah@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7340

Review-Url: https://codereview.webrtc.org/2786363002
Cr-Commit-Position: refs/heads/master@{#17483}
2017-03-31 10:08:07 +00:00
mbonadei
16ab93b952 To accommodate some downstream WebRTC users we need to loosen
the coupling between our code and the //third_party/protobuf.

This includes using typedefs to define strings instead of
assuming std::string.

After this refactoring it will be possible to link with other
protobuf implementations than the current one.

We moved the PRESUBMIT check to another CL [1]. The goal of this
presubmit is to avoid the direct usage of google::protobuf outside
of the webrtc/base/protobuf_utils.h header file.

[1] - https://codereview.webrtc.org/2753823003/

BUG=webrtc:7340
NOTRY=True

Review-Url: https://codereview.webrtc.org/2747863003
Cr-Commit-Position: refs/heads/master@{#17466}
2017-03-30 08:24:20 +00:00
aleloi
0e4a685542 Added licence boilerplate to our MATLAB files.
The command

tools/checklicenses/checklicenses.py --ignore-suppressions ./webrtc

previously produced this output:
'webrtc/modules/audio_processing/test/apmtest.m' has non-whitelisted license 'UNKNOWN'
'webrtc/modules/audio_processing/transient/test/readDetection.m' has non-whitelisted license 'UNKNOWN'
'webrtc/modules/audio_processing/transient/test/readPCM.m' has non-whitelisted license 'UNKNOWN'
...

This CL adds the WebRTC licence with appropriate year to all our
MATLAB files. All these files were contributed by WebRTC project
members hlundin@, pbos@, niklase@.

BUG=chromium:98592
NOTRY=True

Review-Url: https://codereview.webrtc.org/2781663005
Cr-Commit-Position: refs/heads/master@{#17428}
2017-03-28 17:18:58 +00:00
alessiob
3339743878 MultiEndCall is responsible for analyzing and validating timing information and audiotracks with which a multi-end call can be simulated.
The class creates one WavReaderInterface object for each unique audiotrack and builds the set of speaker names.
Validating if the audiotrack lengths and the timing information are compatible (and hence valid) is not implemented yet.

MultiEndCall is designed using dependency injection. This allows to use mock objects with which we can quickly simulate different timings and track lengths without needing actual wav files.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2761853002
Cr-Commit-Position: refs/heads/master@{#17421}
2017-03-28 12:39:59 +00:00
alessiob
4b6463c0c9 Conversational Speech tool, rtc_test target replaced with entry in modules_unittests
The ConversationalSpeechTest.* unit tests are now part of modules_unittests.
The rtc_test target has been replaced with an rtc_source_set one.
The latter is included as dependency in audio_processing_unittests.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2769863005
Cr-Commit-Position: refs/heads/master@{#17360}
2017-03-23 12:17:06 +00:00
alessiob
ce302b82c9 Conversational speech tool: timing model with data access.
The conversational_speech::Timing class models a list of turns.
Each turn, is identified by a speaker, the audiotrack name, and an offset in milliseconds.
The unit test checks that an instance of Timing is correctly populated and that save/reload leads to the same data.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2750353002
Cr-Commit-Position: refs/heads/master@{#17346}
2017-03-22 15:23:46 +00:00
ivoc
1973ba6ef4 Improve stability of the echo detector complexity perf tests.
The results of the echo detector complexity tests are currently notoriously spiky and unreliable. The following improvements are made in this CL:
- Significantly longer warmup time before starting the test
- More iterations and larger batches
- Different number of iterations for slow and fast tests
- Use the echo likelihood in the test so it cannot get optimized out

BUG=webrtc:7353

Review-Url: https://codereview.webrtc.org/2750413002
Cr-Commit-Position: refs/heads/master@{#17303}
2017-03-20 10:03:16 +00:00
alessiob
3b51065c55 Conversational Speech generator, adding unit test.
Test for the conversational_speech::Config class and renaming.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2749573002
Cr-Commit-Position: refs/heads/master@{#17301}
2017-03-18 10:45:31 +00:00
alessiob
5f32aca85e Reland "C++ porting of the initial python script for conversational speech
generation."

This CL removes the Python script and adds its C++ porting.
The former was in its early stage and it has permanently been removed.

This is a reland of https://codereview.webrtc.org/2740063004/ which
was reverted. Now the build errors are fixed.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2752793002
Cr-Commit-Position: refs/heads/master@{#17300}
2017-03-18 09:29:13 +00:00
alessiob
dbbaa2ad66 Revert of C++ porting of the initial python script for conversational speech generation. (patchset #2 id:100001 of https://codereview.webrtc.org/2740063004/ )
Reason for revert:
Even if the conversational speech tool is external and not a core part of webrtc, there are too many trybots failing.

Original issue's description:
> C++ porting of the initial python script for conversational speech generation.
>
> This CL removes the Python script and adds its C++ porting.
> The former was in its early stage and it has permanently been removed.
>
> BUG=webrtc:7218
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2740063004
> Cr-Commit-Position: refs/heads/master@{#17254}
> Committed: 0cf3aa6d0d

TBR=henrik.lundin@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2753843002
Cr-Commit-Position: refs/heads/master@{#17257}
2017-03-15 15:19:25 +00:00
alessiob
0cf3aa6d0d C++ porting of the initial python script for conversational speech generation.
This CL removes the Python script and adds its C++ porting.
The former was in its early stage and it has permanently been removed.

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2740063004
Cr-Commit-Position: refs/heads/master@{#17254}
2017-03-15 14:56:26 +00:00
alessiob
1d395dfb36 Conversational Speech generator, main script with shell arguments
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2733863002
Cr-Commit-Position: refs/heads/master@{#17117}
2017-03-08 14:12:23 +00:00
alessiob
1e9681549a White noise generator implemented.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2718073002
Cr-Commit-Position: refs/heads/master@{#17049}
2017-03-06 07:03:52 +00:00
alessiob
4610ec7ddd Noise generator abstract class and identity noise generator implemented.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2717243003
Cr-Commit-Position: refs/heads/master@{#17048}
2017-03-06 06:55:59 +00:00
alessiob
21debb3ae8 APM quality assessment tool, signal processing tools.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2715763003
Cr-Commit-Position: refs/heads/master@{#17047}
2017-03-06 06:33:12 +00:00
alessiob
446fb136dc APM configuration files generator.
It generates json files to be used as APM configuration presets.
Useful to avoid manual editing of such files.

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2719853006
Cr-Commit-Position: refs/heads/master@{#17013}
2017-03-03 16:20:19 +00:00
alessiob
bf4007dbe9 Evaluation controller, evaluation score abstract class, and score data access.
BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2714543005
Cr-Commit-Position: refs/heads/master@{#17012}
2017-03-03 15:59:31 +00:00
alessiob
810025f9e9 Readme file with example that explains how the conversational speech generator tool should work.
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2722173003
Cr-Commit-Position: refs/heads/master@{#17010}
2017-03-03 15:31:10 +00:00
alessiob
b4ec8765d8 "audioproc_f" wrapper
- Metadata and AudioProcConfigFile classes
- ApmModuleSimulator constructor updated
- BUILD.gn updated

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2711313004
Cr-Commit-Position: refs/heads/master@{#17008}
2017-03-03 14:53:56 +00:00
alessiob
a4b1d31207 Simulation controller (shell arguments parser and simulation runner) and libraries (data access, noise generators, evaluation scores).
Execution flag added to the .py and .sh scripts.
BUILD.gn files adapted (see :lib), APM config files moved.

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2715943002
Cr-Commit-Position: refs/heads/master@{#17007}
2017-03-03 14:48:48 +00:00
alessiob
a44ba63cb7 APM Quality Assessment tool, new owners
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2729023002
Cr-Commit-Position: refs/heads/master@{#16969}
2017-03-02 13:41:07 +00:00
alessiob
b324640855 Owners file added
BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2727613002
Cr-Commit-Position: refs/heads/master@{#16935}
2017-03-01 10:05:11 +00:00
alessiob
306d1bfec0 Parallel iterator bash script. The Python files are empty ones, just a placeholder for the code they will host.
Sample audio files for the APM quality assessment toolbox

BUG=webrtc:7218
NOTRY=True

Review-Url: https://codereview.webrtc.org/2711923002
Cr-Commit-Position: refs/heads/master@{#16827}
2017-02-24 13:32:21 +00:00
aleloi
a3b2add27d Added handling of 'agc_compression_gain' flag in audioproc_f.
The test program modules/audio_processing/test/audioproc_float.cc
defined the flag 'agc_compression_gain' and had checks if the
parameter was valid (audioproc_float). The flag was also copied to
webrtc::test::SimulationSettings of audio_processing_simulator.h. The
setting was however never applied to APM.

This change applies the setting on the GainControl submodule in the
same way as the agc_target_level is applied.

This is needed for e.g. testing the AGC fixed digital limiter with the
same configuration as it is (currently) used with in AudioMixerImpl.

Also added new flag '-experimental_agc'. This flag allows disabling the
experimental AGC, which is how the AGC is used in AudioMixerImpl.
ExperimentalAgc is enabled by default, exactly as it was prior to this change.

The change has been tested locally by listening tests and diff comparisons.

BUG=None
NOTRY=True # win_dbg bot not cooperating

Review-Url: https://codereview.webrtc.org/2684983004
Cr-Commit-Position: refs/heads/master@{#16603}
2017-02-14 10:07:49 +00:00
peah
69221db534 Adding second layer of the echo canceller 3 functionality.
This CL adds code to the BlockProcessor, which basically constitutes
the second layer in echo canceller 3. The CL includes two incomplete
classes (EchoRemover and EchoPathDelayEstimator) which will be completed
in upcoming CLs. Because of this, some of the unittests are disabled
until those are added.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2611223003
Cr-Commit-Position: refs/heads/master@{#16319}
2017-01-27 11:28:19 +00:00
nisse
eb4ca4e823 Replace RTC_DCHECK(false) with RTC_NOTREACHED().
Bulk of changes done using

  git grep -l 'RTC_DCHECK(false)' | \
    xargs sed -i 's/RTC_DCHECK(false)/RTC_NOTREACHED()/'

peerconnection.cc also used RTC_DCHECK(false && "msg") in two places,
which were updated manually.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2623313004
Cr-Commit-Position: refs/heads/master@{#16026}
2017-01-12 10:24:27 +00:00
peah
9e1e6c599d Corrected access of null pointer in audioproc_f:
The previous CL that added the ability to add
and artificial nearend signal had an issue with
null pointer access.

This is addressed in this CL.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2573033003
Cr-Commit-Position: refs/heads/master@{#15600}
2016-12-14 11:12:27 +00:00
peah
e0eae3cec6 This CL adds the basic framework for AEC3 in the audio processing module.
It will be followed by a number of other CLs that extends this framework.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2567513003
Cr-Commit-Position: refs/heads/master@{#15593}
2016-12-14 09:16:28 +00:00
peah
5ad5de3716 During AEC development, it is handy to be able to simulate different
orders of the ProcessStream and ProcessReverseStream API calls.

This CL adds the ability to specify that call order in a file.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2561843003
Cr-Commit-Position: refs/heads/master@{#15503}
2016-12-09 11:18:30 +00:00
peah
df80fd1259 When recreating a call based on an aecdump recording the nearend used
is the one stored in the aecdump.

During AEC development, it is handy to be able to simulate different
doubletalk scenarios. This CL adds the ability to add an
artificial nearend on top of that present in the aecdump, which
allows for the developer to artificially customize the scenario
being tested

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2562593003
Cr-Commit-Position: refs/heads/master@{#15502}
2016-12-09 10:43:45 +00:00
henrik.lundin
bd681b9758 AGC: Route clipping parameter from webrtc::Config to AGC
This change enables experimentation with the clipping minimum level
parameter in the gain control.

BUG=webrtc:6622
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng

Review-Url: https://codereview.webrtc.org/2543753006
Cr-Commit-Position: refs/heads/master@{#15426}
2016-12-05 17:08:46 +00:00