Commit Graph

395 Commits

Author SHA1 Message Date
200ac007ef Remove temp files in audio_processing_unittest.cc.
These files are leaking, rapidly filling trybot disks.

BUG=4258
R=kjellander@webrtc.org
TBR=bjornv@webrtc.org
TEST=out/Debug/modules_unittests --gtest_filter=*AudioProcessingTest*Formats/0 && ls out

Review URL: https://webrtc-codereview.appspot.com/35979004

Cr-Commit-Position: refs/heads/master@{#8232}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8232 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 14:14:19 +00:00
b1786dbab0 audio_processing: Added a new AEC delay metric value that gives the amount of poor delays
To more easily determine if for example the AEC is not working properly one could monitor how often the estimated delay is out of bounds. With out of bounds we mean either being negative or too large, where both cases will break the AEC.

A new delay metric is added telling the user how often poor delay values were estimated. This is measured in percentage since last time the metrics were calculated.

All APIs have been updated with a third parameter with EchoCancellation::GetDelayMetrics() giving the option to exclude the new metric not to break existing code.

The new metric has been added to audio_processing_unittests with an additional protobuf member, and reference files accordingly updated.
voe_auto_test has not been updated to display the new metric.

BUG=4246
TESTED=audioproc on files
R=aluebs@webrtc.org, andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39739004

Cr-Commit-Position: refs/heads/master@{#8230}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8230 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-03 06:07:21 +00:00
4ddde2e3ad Add arbitrary microphone geometry input to audioproc_f test utility.
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35889004

Cr-Commit-Position: refs/heads/master@{#8208}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8208 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 22:40:13 +00:00
a33f05e8d7 Re-land "Remove <(webrtc_root) from source file entries."
Changes differing from https://webrtc-codereview.appspot.com/37859004:
* I put the include_tests==1 stuff of audio_coding.gypi in its
  own audio_coding_tests.gypi file, including the Android and isolate
  targets which were incorrectly located in the previous CL
* I moved the bwe utilities in remote_bitrate_estimator.gypi
  into include_tests==1 since they depend on test.gyp after I
  cleaned up the duplicated inclusion of rtp_file_reader.cc

R=stefan@webrtc.org
TBR=tina.legrand@webrtc.org
TESTED=Passing gyp and compile using:
webrtc/build/gyp_webrtc -Dinclude_tests=1
webrtc/build/gyp_webrtc -Dinclude_tests=0
I also setup a Chromium checkout with my checkout mounted in
third_party/webrtc and ran build/gyp_chromium successfully.

BUG=4185

Review URL: https://webrtc-codereview.appspot.com/33159004

Cr-Commit-Position: refs/heads/master@{#8205}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8205 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 14:30:41 +00:00
1ece0cbbec Revert "Remove <(webrtc_root) from source file entries."
And the follow-up fix in r8198 that was not sufficient.
Reason: breaks Chromium bots runhooks (GYP).

I will have to try some more to make sure I don't
include test code, since include_tests==0 in Chromium.

TBR=andrew@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/37039004

Cr-Commit-Position: refs/heads/master@{#8200}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8200 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 12:02:42 +00:00
2d2a1f9f05 Remove <(webrtc_root) from source file entries.
This required to move the AGC tools source files
into webrtc/tools and create a new agc_test_utils target.

Since audio_codec_speed_tests.gypi referenced sources above,
the best approach I could come up with was to add an audio_coding.gypi
file at a higher level and move the targets in there (+ the includes from
modules.gyp which is an improvement IMO).

I also added a PRESUBMIT.py check to prevent new source
entries being added with <(webrtc_root) in the path.

BUG=4185
R=andrew@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/37859004

Cr-Commit-Position: refs/heads/master@{#8197}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8197 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 10:24:44 +00:00
f17ee9c709 Add case to ApmTest.Process to test the extended filter mode
R=andrew@webrtc.org, bjornv@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/40509004

Cr-Commit-Position: refs/heads/master@{#8192}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8192 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 00:04:18 +00:00
035e9123e9 Move channel_buffer.{h,cc} to common_audio.
In https://code.google.com/p/webrtc/source/detail?r=8166
I added a check preventing GYP files from referencing
sources above their directory level.
This CL fixes the disallowed reference added in
https://code.google.com/p/webrtc/source/detail?r=8157
by moving channel_buffer.{h,cc} to common_audio for real.

BUG=4185
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35939004

Cr-Commit-Position: refs/heads/master@{#8190}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8190 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 19:57:44 +00:00
5614cf16e7 audio_processing: Use fixed aggregation window in delay metrics
Previously, the delay estimate history was reset every time the metrics were pulled. This required all clients to be on the same thread and make use of one call.

Now we use a fixed aggregation window of one second and when a client pulls the metrics you get the latest value.
Under certain circumstances like tests you would like to have the aggregation window set to the recording length. We therefore turn on the fixed aggregation window after the first call.

BUG=2994
TESTED=locally on Mac and trybots
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/38759004

Cr-Commit-Position: refs/heads/master@{#8170}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8170 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-27 18:10:27 +00:00
70117a83d4 AEC: Implements a new function for calculating delay metrics
Two new member variables have been added and the code for calculating the delay metrics have been moved to a function.

BUG=2994
TESTED=locally on Mac and trybots
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39639004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8163 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-27 11:30:54 +00:00
041035b390 Add an AudioRingBuffer class wrapper for the ring_buffer.h C interface.
Integrate it in Blocker to demonstrate use.

TEST=beamforming sounds good.
R=aluebs@webrtc.org, mgraczyk@chromium.org, sahark@google.com

Review URL: https://webrtc-codereview.appspot.com/36799004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8157 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-26 21:23:53 +00:00
e65d9d974c Fix an unitialized variable warning.
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35819004

Patch from Sebastien Marchand <sebmarchand@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8118 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 22:05:12 +00:00
c78d81ae89 Re-land "Support 48kHz in AEC"
Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz. The only difference is that there is no comfort noise added in this band. Could not test how this sounds because there are no aecdumps with 48kHz sample rate as nfar as I know.
Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.

Original: https://webrtc-codereview.appspot.com/28319004/
Reverted: https://webrtc-codereview.appspot.com/33949004/

BUG=webrtc:3146
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/41549004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8116 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 19:10:55 +00:00
e81c5d6d7e Fix TransientDetectorTest in modules_unittests on Android ARM64
BUG=webrtc:4200
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39569004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8115 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 18:01:28 +00:00
ee0c100d54 Revert 8080 "Support 48kHz in AEC"
> Support 48kHz in AEC
> 
> Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz. The only difference is that there is no comfort noise added in this band. Could not test how this sounds because there are no aecdumps with 48kHz sample rate as nfar as I know.
> Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.
> 
> BUG=webrtc:3146
> R=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/28319004

TBR=aluebs@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/33949004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8100 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 10:22:49 +00:00
a32d15448d Disable tests failing on Android ARM64 (Nexus9).
BUG=4198,4199,4200
TBR=andrew@webrtc.org
TESTED=Printed using #pragma message to check that the define was properly used.

Review URL: https://webrtc-codereview.appspot.com/33919004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8090 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 12:46:01 +00:00
64d3c4b9ac Support 48kHz in AEC
Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz. The only difference is that there is no comfort noise added in this band. Could not test how this sounds because there are no aecdumps with 48kHz sample rate as nfar as I know.
Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.

BUG=webrtc:3146
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28319004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8080 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 19:52:05 +00:00
d82f55d2a7 Only adapt AGC when the desired signal is present
Take the 50% quantile of the mask and compare it to certain threshold to determine if the desired signal is present. A hold is applied to avoid fast switching between states.
is_signal_present_ has been plotted and looks as expected. The AGC adaptation sounds promising, specially for the cases when the speaker fades in and out from the beam direction.

R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28329005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8078 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 18:07:21 +00:00
5a92b78e86 Add beamforming to audioproc_float utility.
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/41469004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8069 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 01:28:36 +00:00
6b6301588e Move ring_buffer to common_audio.
In preparation for adding a C++ wrapper in common_audio. Also, change
the return type of Init to void and call it from Create.

R=aluebs@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/37619004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8068 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 00:09:53 +00:00
2ebfac5649 Remove COMPILE_ASSERT and use static_assert everywhere
COMPILE_ASSERT is no longer needed now that we have C++11's
static_assert.

R=aluebs@webrtc.org, andrew@webrtc.org, hellner@chromium.org, henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39469004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8058 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 10:51:54 +00:00
86e1e487e7 Move system_wrappers.gyp files to the proper directory.
Build targets should not refer to non-subpaths as was happening before when
 source/system_wrappers.gyp refers to ../interface/ files.

R=kjellander@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/37609004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8057 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 09:30:52 +00:00
d6e84d9d13 Always copy processed audio to output buffer in ProcessStream.
In the old AudioFrame ProcessStream API, input and output buffers were shared.
Now that the buffers are distinct, the input must be copied to the
output even when no processing occurred.

R=andrew@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=78de5010d167d1e375e05d26177aad43c2e2de08

Review URL: https://webrtc-codereview.appspot.com/41459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8052 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 01:33:54 +00:00
3df38b442f Unify the two copies of compile_assert.h
This patch basically deletes webrtc/base/compile_assert.h (which is
the more outdated copy) and moves
webrtc/system_wrappers/source/compile_assert.h to take its place.

R=aluebs@webrtc.org, andrew@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36719004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8048 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 11:37:48 +00:00
46323b3786 Remove useless AudioProcessing::Create() overload.
R=aluebs@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36739004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8046 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 06:48:06 +00:00
a7add19cf4 audio_processing: Replaced macro WEBRTC_SPL_MUL_16_16 with * in high_pass_filter
The macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) ((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definition on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_armv7.h and common_audio/signal_processing/include/spl_inl_mips.h)

The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)

BUG=3348,3353
TESTED=locally on Mac and trybots
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/37569004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8044 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:12:29 +00:00
a525c98ca5 Fix parallelizability in ApmTests.
Using temporary filenames instead of fixed ones permits them to run in
parallel.

BUG=chromium:445880
R=andrew@webrtc.org, kjellander@webrtc.org
TEST=third_party/gtest-parallel/gtest-parallel -r100 -w100 out-asan/out/Debug/modules_unittests --gtest_filter=*ApmTest*:*CommonFormats*

Review URL: https://webrtc-codereview.appspot.com/35709004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8041 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 17:31:18 +00:00
2693a54614 Add WEBRTC_BEAMFORMER define to BUILD.gn
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/38559004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8034 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-09 23:26:13 +00:00
758d6d431e audio_processing/aecm: Removed usage of macro WEBRTC_SPL_MUL_16_16
The macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) ((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definition on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_armv7.h and common_audio/signal_processing/include/spl_inl_mips.h)

The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)

BUG=3348, 3353
TESTED=locally on Mac and trybots
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36639004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8025 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-08 17:52:56 +00:00
dec649cbab audio_processing/ns: Replaced WEBRTC_SPL_MUL_16_16 macro with *
The macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) ((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definition on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_armv7.h and common_audio/signal_processing/include/spl_inl_mips.h)

The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)

BUG=3348, 3353
TESTED=locally on Mac and trybots
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35619004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8024 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-08 17:34:33 +00:00
5e5b32706a audio_processing/agc: Removed usage of macro WEBRTC_SPL_MUL_16_16 in legacy/agc
The macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) ((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definition on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_armv7.h and common_audio/signal_processing/include/spl_inl_mips.h)

The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)

BUG=3348, 3353
TESTED=locally on Mac and trybots
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39389004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8023 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-08 17:25:34 +00:00
fb7a039e9d Use array geometry in Beamformer
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35559004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8000 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-05 21:58:58 +00:00
e5a921a82d Use tmp files in file_utils_unittests
The static file names were breaking when executing tests in parallel. This fixes it.

BUG=4138
R=andrew@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34639004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7997 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-05 18:45:22 +00:00
bac0012120 Extend delay estimation window in AEC to 500 ms on all platforms
On non-Android the delay estimator in audio_processing/aec has solely been used for logging purposes. The maximum possible observed delay has been 236 ms. We have seen longer delays for which the delay estimate at best ends up at 236 ms, but can also be 'random'. reported delays are clamped to 500 ms.
This cl extends the delay estimation window to match that.

BUG=4086, 3504, 4113
TESTED=locally on Linux and trybots
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36569004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7989 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-02 09:23:49 +00:00
3a70625caf audio_processing: Added back ATTRIBUTE_UNUSED lost in r7877
BUG=N/A
TESTED=Now it builds with aec_debug_dump=1 on Mac
TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35629004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7986 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-01 22:04:12 +00:00
ae643ce280 Wire up Beamformer in AudioProcessing
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/38449004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7969 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 19:57:34 +00:00
0c39e91cc8 Merge beamformer
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7958 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 22:22:04 +00:00
1090a6eccf Remove obsolete target_arch == armv7.
Also, use arm_version >= 7 so things will continue to work when building
for ARMv8 and higher targets.

BUG=3906
R=kjellander@webrtc.org, tkchin@webrtc.org, zhongwei.yao@arm.com

Review URL: https://webrtc-codereview.appspot.com/38379004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7957 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 21:36:18 +00:00
f832a6d090 Remove _t from function pointer typedefs.
_t are reserved in POSIX.

R=bjornv@webrtc.org
BUG=162

Review URL: https://webrtc-codereview.appspot.com/34539004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7947 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 09:56:09 +00:00
e468bc9e60 Rename _t struct types in audio_processing.
_t names are reserved in POSIX.

R=bjornv@webrtc.org
BUG=162

Review URL: https://webrtc-codereview.appspot.com/34509005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7943 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 09:11:33 +00:00
08df9b2841 Add a manageable command-line tool for AudioProcessing.
This is the start of a replacement for the venerable and unwieldly
process_test.cc (aka audioproc). It will be limited to:
- Reading WAV or aecdebug protobuf files.
- Calling the float AudioProcessing interface.
- Requiring aecdebug files for running bi-directional stream
components (e.g. AEC).

This initial version only handles WAV files.

R=aluebs@webrtc.org, bjornv@webrtc.org, kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35479004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7918 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 20:57:15 +00:00
cf6d0b64ef Add 48kHz support to AGC
Doing the same for the 16-24kHz band than was done in the 8-16kHz.
Results look and sound as nice.

Originally reviewed here:
https://webrtc-codereview.appspot.com/26339004/

BUG=webrtc:3146
R=andrew@webrtc.org, kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28299004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7917 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 20:56:09 +00:00
451a133f44 Add AGC manager tests.
R=bjornv@webrtc.org
BUG=4098

Review URL: https://webrtc-codereview.appspot.com/35539005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7914 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 14:48:47 +00:00
b395a5ea65 audio_processing: Moved legacy AGC code to webrtc/modules/audio_processing/agc/legacy/
include/ is renamed to legacy/ and analog_agc.* and digital_agc.* moved into the directory.

BUG=
R=andrew@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36479004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7909 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 10:38:10 +00:00
96a626262a Remove 20ms support in AGC
Today, 10ms is the standard chunk length used in whole AudioProcessing, so this was only adding unnecessary complexity and maintainance.
Removing it doesn't change the bahavior in any use case of today.

R=andrew@webrtc.org, bjornv@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28249004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7904 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 21:54:50 +00:00
a7f77720cb Merge in AGC manager and AGC tools.
R=bjornv@webrtc.org
BUG=4098

Review URL: https://webrtc-codereview.appspot.com/37379004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7902 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 16:33:16 +00:00
3440fe1bc5 Use webrtc_root instead of DEPTH for iSAC.
Un-breaks chromium.webrtc.fyi. Broken as Chromium doesn't have webrtc/
checked out in root.

TBR=bjornv@webrtc.org,tommi@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/28289004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7897 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 10:56:50 +00:00
788acd17ad Merge audio_processing changes.
R=aluebs@webrtc.org, bjornv@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/32769004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7893 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 09:41:24 +00:00
27d106bcf7 Move the downmixing out of AudioBuffer
This provides more flexibility if some component in AudioProcessing wants to operate before downmixing.
Now the AudioProcessing does only track the processing rate, but not the processing number of channels. This is tracked by the AudioBuffer itself and can be changed at any time to one smaller or equal the input number of channels. For each chunk it is reset to input number of channels and the end it should be equal to the output number of channels.

R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28169004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7879 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-11 17:09:21 +00:00
5f162c8509 Merge AEC changes.
R=bjornv@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/34459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7877 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-11 13:46:59 +00:00