Commit Graph

541 Commits

Author SHA1 Message Date
c12be3984f -Removed the indirect error message reporting in aec and aecm.
-Made the component error messages generic to be an unspecified error message.

BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#10570}
2015-11-10 07:53:53 +00:00
c1cd2bbd79 Turned off progress report for finished processing when the progress report is explicitly deactivated
BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#10566}
2015-11-09 18:38:12 +00:00
1f1912d1f0 Added unittest of the locking functionality in the audio processing module
The test is currently disabled as it takes too long to run in a coffe-cup manner

BUG=webrtc:5099

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

Cr-Commit-Position: refs/heads/master@{#10560}
2015-11-09 11:13:25 +00:00
b7a5c16d2c Revert of Add aecdump support to audioproc_f. (patchset #8 id:200001 of https://codereview.webrtc.org/1409943002/ )
This is the second revert. The first attempt in https://codereview.webrtc.org/1423693008/
was missing a subtle curly brace caused by a merge conflict.
I'm going to let this one go through the CQ.

Reason for revert:
This breaks iOS GYP generation as described on http://www.webrtc.org/native-code/ios
I'm going to drive getting the build_with_libjingle=1 setting removed from the bots to match the official instructions.

See https://code.google.com/p/webrtc/issues/detail?id=4653 for more context, as this is exactly what that issue tries to solve.

Original issue's description:
> Add aecdump support to audioproc_f.
>
> Add a new interface to abstract away file operations. This CL temporarily
> removes support for dumping the output of reverse streams. It will be easy to
> restore in the new framework, although we may decide to only allow it with
> the aecdump format.
>
> We also now require the user to specify the output format, rather than
> defaulting to the input format.
>
> TEST=Bit-exact output to the previous audioproc_f version using an input wav
> file, and to the legacy audioproc using an aecdump file.
>
> Committed: https://crrev.com/bdafe31b86e9819b0adb9041f87e6194b7422b08
> Cr-Commit-Position: refs/heads/master@{#10460}

TBR=aluebs@webrtc.org,peah@webrtc.org,andrew@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10532}
2015-11-05 20:33:25 +00:00
86b40506b3 Reland of Add aecdump support to audioproc_f. (patchset #2 id:250001 of https://codereview.webrtc.org/1423693008/ )
Reason for revert:
Oh dear, this broke compilation.
I guess more was built on top of this CL before I reverted it.

Reverting now for futher investigation (and re-land using CQ)

Original issue's description:
> Revert of Add aecdump support to audioproc_f. (patchset #8 id:200001 of https://codereview.webrtc.org/1409943002/ )
>
> Reason for revert:
> This breaks iOS GYP generation as described on http://www.webrtc.org/native-code/ios
> I'm going to drive getting the build_with_libjingle=1 setting removed from the bots to match the official instructions.
>
> See https://code.google.com/p/webrtc/issues/detail?id=4653 for more context, as this is exactly what that issue tries to solve.
>
> Original issue's description:
> > Add aecdump support to audioproc_f.
> >
> > Add a new interface to abstract away file operations. This CL temporarily
> > removes support for dumping the output of reverse streams. It will be easy to
> > restore in the new framework, although we may decide to only allow it with
> > the aecdump format.
> >
> > We also now require the user to specify the output format, rather than
> > defaulting to the input format.
> >
> > TEST=Bit-exact output to the previous audioproc_f version using an input wav
> > file, and to the legacy audioproc using an aecdump file.
> >
> > Committed: https://crrev.com/bdafe31b86e9819b0adb9041f87e6194b7422b08
> > Cr-Commit-Position: refs/heads/master@{#10460}
>
> TBR=aluebs@webrtc.org,peah@webrtc.org,andrew@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/d279941bb54bfdc6e7324bf36cac76581474b96d
> Cr-Commit-Position: refs/heads/master@{#10523}

TBR=aluebs@webrtc.org,peah@webrtc.org,andrew@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10524}
2015-11-05 14:23:10 +00:00
d279941bb5 Revert of Add aecdump support to audioproc_f. (patchset #8 id:200001 of https://codereview.webrtc.org/1409943002/ )
Reason for revert:
This breaks iOS GYP generation as described on http://www.webrtc.org/native-code/ios
I'm going to drive getting the build_with_libjingle=1 setting removed from the bots to match the official instructions.

See https://code.google.com/p/webrtc/issues/detail?id=4653 for more context, as this is exactly what that issue tries to solve.

Original issue's description:
> Add aecdump support to audioproc_f.
>
> Add a new interface to abstract away file operations. This CL temporarily
> removes support for dumping the output of reverse streams. It will be easy to
> restore in the new framework, although we may decide to only allow it with
> the aecdump format.
>
> We also now require the user to specify the output format, rather than
> defaulting to the input format.
>
> TEST=Bit-exact output to the previous audioproc_f version using an input wav
> file, and to the legacy audioproc using an aecdump file.
>
> Committed: https://crrev.com/bdafe31b86e9819b0adb9041f87e6194b7422b08
> Cr-Commit-Position: refs/heads/master@{#10460}

TBR=aluebs@webrtc.org,peah@webrtc.org,andrew@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10523}
2015-11-05 14:09:08 +00:00
f97bfed6c7 Revert of Move audioproc_test_utils into enable_protobuf condition. (patchset #1 id:1 of https://codereview.webrtc.org/1419533010/ )
Reason for revert:
I'm going to revert this and https://codereview.webrtc.org/1409943002 to get things back in a good state.

Original issue's description:
> Move audioproc_test_utils into enable_protobuf condition.
>
> From https://codereview.webrtc.org/1409943002 this target doesn't
> pass GYP on iOS unless build_with_libjingle==1.
> Our bots currently build with that, but we want to remove that GYP_DEFINES
> from the bots since http://www.webrtc.org/native-code/ios doesn't
> say it's needed.
>
> R=aluebs@webrtc.org
>
> Committed: https://crrev.com/e2a89251d9a75c2439daddd80f732ab505d0e1b9
> Cr-Commit-Position: refs/heads/master@{#10510}

TBR=andrew@webrtc.org,aluebs@webrtc.org,kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10521}
2015-11-05 14:02:20 +00:00
cd19faffa8 Attempt to isolate a bug by adding a new CHECK
Review URL: https://codereview.webrtc.org/1426953005

Cr-Commit-Position: refs/heads/master@{#10520}
2015-11-05 13:11:26 +00:00
e2a89251d9 Move audioproc_test_utils into enable_protobuf condition.
From https://codereview.webrtc.org/1409943002 this target doesn't
pass GYP on iOS unless build_with_libjingle==1.
Our bots currently build with that, but we want to remove that GYP_DEFINES
from the bots since http://www.webrtc.org/native-code/ios doesn't
say it's needed.

R=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10510}
2015-11-04 18:56:58 +00:00
275d255e21 Adding debug dump test.
This test is to verify that the debug dump can perfectly reproduce APM states if the recording is made from the first input sample.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10506}
2015-11-04 14:24:02 +00:00
ff761fba82 modules: more interface -> include renames
This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface

To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
                "use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)

BUG=5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel -m tryserver.webrtc

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

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

Cr-Commit-Position: refs/heads/master@{#10500}
2015-11-04 07:32:04 +00:00
f1104f6d66 Remove TODO referring to issue1981, which I just marked WontFix.
TBR=aluebs@webrtc.org
BUG=webrtc:1981

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

Cr-Commit-Position: refs/heads/master@{#10488}
2015-11-03 01:46:41 +00:00
8e1809fcd7 Fix TransientSuppression in audioproc_float
Review URL: https://codereview.webrtc.org/1411423010

Cr-Commit-Position: refs/heads/master@{#10466}
2015-10-30 22:29:23 +00:00
102c6a61bc Replace rtc:🦗:Settable with rtc::Maybe
The former is very similar to the latter, but less general (mostly in
naming).

This CL, which is the first to use Maybe at scale, also removes the implicit conversion from T to Maybe<T>, since it was agreed that the increased verbosity increased legibility.

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

Cr-Commit-Position: refs/heads/master@{#10461}
2015-10-30 09:47:44 +00:00
bdafe31b86 Add aecdump support to audioproc_f.
Add a new interface to abstract away file operations. This CL temporarily
removes support for dumping the output of reverse streams. It will be easy to
restore in the new framework, although we may decide to only allow it with
the aecdump format.

We also now require the user to specify the output format, rather than
defaulting to the input format.

TEST=Bit-exact output to the previous audioproc_f version using an input wav
file, and to the legacy audioproc using an aecdump file.

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

Cr-Commit-Position: refs/heads/master@{#10460}
2015-10-30 06:43:00 +00:00
cb3f9bd9c0 Make the nonlinear beamformer steerable
Depends on this CL: https://codereview.webrtc.org/1395453004/

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10458}
2015-10-30 01:21:40 +00:00
98f53510b2 system_wrappers: rename interface -> include
BUG=webrtc:5095
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10438}
2015-10-28 17:17:50 +00:00
1897f77806 Make the high frequency correction range depend on the target angle
Depends on this CL: https://codereview.webrtc.org/1388033002/

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

Cr-Commit-Position: refs/heads/master@{#10331}
2015-10-20 02:49:34 +00:00
4a66e4a4d8 Make the separation between target and interferer scenario depend on microphone spacing in NonlinearBeamformer
Depends on this CL: https://codereview.webrtc.org/1378973003/

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

Cr-Commit-Position: refs/heads/master@{#10330}
2015-10-20 01:02:43 +00:00
45daf7b26f Implement new version of the NonlinearBeamformer
Sounds better according to a MUSHRA listening test.
The computational complexity is unaffected.
An empirically estimated gain was added to compensate for the attenuation introduced by the algorithm.
There are some TODOs, which I will address in follow up CLs.

It was tested in Hangouts without headphones and highest volume, to make sure it doesn't affect the AEC.

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

Cr-Commit-Position: refs/heads/master@{#10308}
2015-10-17 00:04:14 +00:00
13b96ba90f Adding APM configuration in AEC dump.
The AEC dump was not self-contented enough in the sense that APM configuration is missing, and therefore, given an AEC dump, it is sometimes not clear how to reproduce problems.

This CL tries to address the problem.

Note that this cannot guarantee a perfect reproduction in all cases. Dumping from the middle of a call makes the initial states unknown and thus may make the result non-reproducible.

BUG=
TEST= 1. new dump in Chromium and unpack
      2. unpack old dump

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

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

Cr-Commit-Position: refs/heads/master@{#10155}
2015-10-02 22:39:27 +00:00
5aaa9b4fe4 Removed unused API functions in AudioProcessing and AudioProcessingModule
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10138}
2015-10-02 06:58:21 +00:00
98ab3a46d6 Don't link with audio codecs that we don't use
We used to link with all audio codecs unconditionally (except Opus);
this patch makes gyp and gn only link to the ones that are used.

This unfortunately fails to have a measurable impact on Chromium
binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
fix were already being excluded from Chromium by some other means,
likely just the linker omitting compilation units with no incoming
references.

(This was previously landed as revisions 10046 and 10060, and got
reverted because it broke several of the Chromium FYI bots.)

BUG=webrtc:4557

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

Cr-Commit-Position: refs/heads/master@{#10127}
2015-10-01 04:54:29 +00:00
d094c04baf Remove AgcManager.
It was not used anywhere.

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10113}
2015-09-29 22:45:23 +00:00
cdfe20bfc1 Fix the maximum native sample rate in AudioProcessing
BUG=webrtc:4983
R=andrew@webrtc.org, henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10037}
2015-09-23 19:49:21 +00:00
91d6edef35 Add RTC_ prefix to (D)CHECKs and related macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9964}
2015-09-17 07:24:51 +00:00
3c089d751e Add RTC_ prefix to contructormagic macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

* DISALLOW_ASSIGN -> RTC_DISALLOW_ASSIGN
* DISALLOW_COPY_AND_ASSIGN -> RTC_DISALLOW_COPY_AND_ASSIGN
* DISALLOW_IMPLICIT_CONSTRUCTORS -> RTC_DISALLOW_IMPLICIT_CONSTRUCTORS

Related CL: https://codereview.webrtc.org/1335923002/

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9953}
2015-09-16 12:37:52 +00:00
fc9dd1710d Added boundary check for array access as a short-term way of fixing the bug of out-of-bounds reads into the array
BUG=chromium:529527, chromium:529552

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

Cr-Commit-Position: refs/heads/master@{#9930}
2015-09-14 13:54:03 +00:00
9e69abf85e Added logging using the raw variant of the new aec logging macros
Replaced the wav file dumping functionality in aec_core.c with the newly added corresponding macros

Added macros for logging of AEC internal data

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9808}
2015-08-28 11:41:30 +00:00
9b351151f9 Move mock_nonlinear_beamformer to only be a header
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9781}
2015-08-25 17:24:51 +00:00
bc2296de9e Add a base class to Wav{Reader,Writer} to access shared parameters.
Use it to clean up some code in audioproc_float.cc.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9771}
2015-08-25 00:29:34 +00:00
dce40cf804 Update a ton of audio code to use size_t more correctly and in general reduce
use of int16_t/uint16_t.

This is the upshot of a recommendation by henrik.lundin and kwiberg on an original small change ( https://webrtc-codereview.appspot.com/42569004/#ps1 ) to stop using int16_t just because values could fit in it, and is similar in nature to a previous "mass change to use size_t more" ( https://webrtc-codereview.appspot.com/23129004/ ) which also needed to be split up for review but to land all at once, since, like adding "const", such changes tend to cause a lot of transitive effects.

This was be reviewed and approved in pieces:
https://codereview.webrtc.org/1224093003
https://codereview.webrtc.org/1224123002
https://codereview.webrtc.org/1224163002
https://codereview.webrtc.org/1225133003
https://codereview.webrtc.org/1225173002
https://codereview.webrtc.org/1227163003
https://codereview.webrtc.org/1227203003
https://codereview.webrtc.org/1227213002
https://codereview.webrtc.org/1227893002
https://codereview.webrtc.org/1228793004
https://codereview.webrtc.org/1228803003
https://codereview.webrtc.org/1228823002
https://codereview.webrtc.org/1228823003
https://codereview.webrtc.org/1228843002
https://codereview.webrtc.org/1230693002
https://codereview.webrtc.org/1231713002

The change is being landed as TBR to all the folks who reviewed the above.

BUG=chromium:81439
TEST=none
R=andrew@webrtc.org, pbos@webrtc.org
TBR=aluebs, andrew, asapersson, henrika, hlundin, jan.skoglund, kwiberg, minyue, pbos, pthatcher

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

Cr-Commit-Position: refs/heads/master@{#9768}
2015-08-24 21:52:45 +00:00
7612f1711c Fix accidental redeclaration.
Introduced here:
https://codereview.webrtc.org/1306863003/

and caught by the Android bots.

TBR=turaj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9759}
2015-08-21 17:31:49 +00:00
c0775c0291 Fix accessing uninitialized variables when not processing a reverse stream.
TBR=turaj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9758}
2015-08-21 16:32:53 +00:00
60d9b332a5 Integrate Intelligibility with APM
- Integrates intelligibility into audio_processing.
    - Allows modification of reverse stream if intelligibility enabled.
- Makes intelligibility available in audioproc_float test.
    - Adds reverse stream processing to audioproc_float.
- (removed) Makes intelligibility toggleable in real time in voe_cmd_test.
- Cleans up intelligibility construction, parameters, constants and dead code.

TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9713}
2015-08-14 17:35:58 +00:00
4bc66fc387 Fix data race in AMP.
R=aluebs@webrtc.org, aluebs-webrtc
BUG=516637

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

Cr-Commit-Position: refs/heads/master@{#9694}
2015-08-10 22:26:43 +00:00
8381b37488 Removed bjornv from OWNERS and added two new owners
BUG=

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

Cr-Commit-Position: refs/heads/master@{#9685}
2015-08-06 13:25:37 +00:00
ee66016930 Added IsInBeam to mock_nonlinear_beamformer.h
Review URL: https://codereview.webrtc.org/1262853003

Cr-Commit-Position: refs/heads/master@{#9655}
2015-07-30 00:24:42 +00:00
b3b79b6115 Clean up the Config to enable 48kHz support in AudioProcessing
Now 48kHz is enabled by default.

BUG=webrtc:3146

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

Cr-Commit-Position: refs/heads/master@{#9643}
2015-07-27 17:18:05 +00:00
3ab2f14d56 Remove C++11 calls from intelligibility_utils
The C++11 here was overkill. This replaces it with simpler logic that
covers all cases encountered so far in practice.

The problem was previously brought up here: https://codereview.webrtc.org/1250663007/

BUG=427718, 487341, webrtc:4866
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9627}
2015-07-23 19:15:32 +00:00
86c6d33aec Allow more than 2 input channels in AudioProcessing.
The number of output channels is constrained to be equal to either 1 or the
number of input channels.

An earlier version of this commit caused a crash on AEC dump.

TBR=aluebs@webrtc.org,pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9626}
2015-07-23 18:41:45 +00:00
64e753c399 Revert of Allow more than 2 input channels in AudioProcessing. (patchset #13 id:240001 of https://codereview.webrtc.org/1226093007/)
Reason for revert:
Breaks Chromium FYI content_browsertest on all platforms. The testcase that fails is WebRtcAecDumpBrowserTest.CallWithAecDump.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux/builds/19388

Sample output:
[ RUN      ] WebRtcAecDumpBrowserTest.CallWithAecDump
Xlib:  extension "RANDR" missing on display ":9".
[4:14:0722/211548:1282124453:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: ISAC/48000/1 (105)
[4:14:0722/211548:1282124593:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: PCMU/8000/2 (110)
[4:14:0722/211548:1282124700:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: PCMA/8000/2 (118)
[4:14:0722/211548:1282124815:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: G722/8000/2 (119)
[19745:19745:0722/211548:1282133667:INFO:CONSOLE(64)] "Looking at video in element remote-view-1", source: http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
[19745:19745:0722/211548:1282136892:INFO:CONSOLE(64)] "Looking at video in element remote-view-2", source: http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
../../content/test/webrtc_content_browsertest_base.cc:62: Failure
Value of: ExecuteScriptAndExtractString( shell()->web_contents(), javascript, &result)
  Actual: false
Expected: true
Failed to execute javascript call({video: true, audio: true});.
From javascript: (nothing)
When executing 'call({video: true, audio: true});'
../../content/test/webrtc_content_browsertest_base.cc:75: Failure
Failed
../../content/browser/media/webrtc_aecdump_browsertest.cc:26: Failure
Expected: (base::kNullProcessId) != (*id), actual: 0 vs 0
../../content/browser/media/webrtc_aecdump_browsertest.cc:95: Failure
Value of: GetRenderProcessHostId(&render_process_id)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:99: Failure
Value of: base::PathExists(dump_file)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:101: Failure
Value of: base::GetFileSize(dump_file, &file_size)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:102: Failure
Expected: (file_size) > (0), actual: 0 vs 0
[  FAILED  ] WebRtcAecDumpBrowserTest.CallWithAecDump, where TypeParam =  and GetParam() =  (361 ms)

Original issue's description:
> Allow more than 2 input channels in AudioProcessing.
>
> The number of output channels is constrained to be equal to either 1 or the
> number of input channels.
>
> R=aluebs@webrtc.org, andrew@webrtc.org, pbos@webrtc.org
>
> Committed: c204754b7a

TBR=andrew@webrtc.org,aluebs@webrtc.org,ajm@chromium.org,pbos@chromium.org,pbos@webrtc.org,mgraczyk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9621}
2015-07-23 11:30:14 +00:00
c204754b7a Allow more than 2 input channels in AudioProcessing.
The number of output channels is constrained to be equal to either 1 or the
number of input channels.

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

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

Cr-Commit-Position: refs/heads/master@{#9619}
2015-07-23 04:06:16 +00:00
b297c5a01f Miscellaneous changes split from https://codereview.webrtc.org/1230503003 .
These are mostly trivial changes and are separated out just to reduce the
diff on that change to the minimum possible.

Note explanatory comments on patch set 1.

BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9617}
2015-07-22 22:17:26 +00:00
7c5304c791 Allow webrtc compilation with stlport
Android has not yet finalized its libc++ build. Allow compilation with
stlport by removing several C++11 library usages.

BUG=427718,487341,webrtc:4866
R=andrew@webrtc.org

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

Patch from Jared Duke <jdduke@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#9616}
2015-07-22 20:04:30 +00:00
2981945bcf Moved arrray_util include to beamformer.h
Review URL: https://codereview.webrtc.org/1244813003

Cr-Commit-Position: refs/heads/master@{#9604}
2015-07-20 20:22:27 +00:00
ekm
35b72fbceb Add new variance update option and unittests for intelligibility
- New option for computing variance that is more adaptive with lower complexity.
- Fixed related off-by-one errors.
- Added intelligibility unittests.
- Do not enhance if experiencing variance underflow.

R=andrew@webrtc.org, henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9567}
2015-07-10 21:11:57 +00:00
bb36fdf95f Remove empty-string comparisons.
Use .empty() and !.empty() in favor of == "" or != "".

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9559}
2015-07-09 14:48:27 +00:00
cbd44e6d73 Use Resampler default constructor in VAD
Review URL: https://codereview.webrtc.org/1224693013

Cr-Commit-Position: refs/heads/master@{#9551}
2015-07-08 03:21:58 +00:00
4e7aa43ea0 audio_processing: Adds two UMA histograms logging delay jumps in AEC
We have two histograms today that trigger on large jumps in either platform reported stream delays (WebRTC.Audio.PlatformReportedStreamDelayJump) or the system delay in the AEC (WebRTC.Audio.AecSystemDelayJump). The latter is the internal buffer size in the AEC.
The sizes of such jumps are of relevance since it can harm the AEC and even put it in a complete failure state. It is hard, not to say impossible, to tell how frequent it is.
Therefore, two complementary histograms are added; number of jumps in each metric.
This way we get a quick way to determine how often a jump occurs in general and also how frequent it is within a call.

This is solved by adding a counter for each metric.
The counter is activated either upon an event trigger or if we know for sure when the AEC is running.
Unfortunately, we can't rely on the destructor at the end of a call so we add a public API for the user to take on the action of calling it at the end of a call.

Tested locally by building ToT chromium including changes and three triggered jumps (200, 50 and 60 ms).
The stats picked up the 60 and 200 ms jumps as expected.

BUG=488124
R=asapersson@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9544}
2015-07-07 09:50:16 +00:00