41 Commits

Author SHA1 Message Date
peah
be61562bfb Moved the GainControlForNewAGC class to be a separate file.
Apart from being motivated in order to make the source files shorter
this is needed when separating the APM submodules structs into
separate files.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11611}
2016-02-14 00:40:53 +00:00
kjellander
78ddd733b0 Update path for audioproc_debug proto output.
This will make it align with protoc tools that use the relative
path from the project root to the files in the output path.
Having this, no hacks will need to be applied downstream.

TBR=henrik.lundin@webrtc.org
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11540}
2016-02-09 16:13:16 +00:00
Henrik Kjellander
9b72af94cd Remove webrtc/modules/audio_processing/{aec,aecm,ns}/include
BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10608}
2015-11-11 19:16:28 +00:00
aluebs
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
kwiberg
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
peah
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
aluebs
ecf6b81644 Pull the Voice Activity Detector out from the AGC
This change generates bit-exact values when running through audioproc_f than before.

This change was originally uploaded here:
* https://codereview.webrtc.org/1181933002/
* https://codereview.webrtc.org/1177043017/

And reverted because of an ASAN problem in Chrome here:
* https://codereview.webrtc.org/1192863006/
* https://codereview.webrtc.org/1194963003/

TBR=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9505}
2015-06-25 19:28:55 +00:00
Bjorn Volcker
51c7cbb86a Revert "Pull the Voice Activity Detector out from the AGC"
This reverts commit 518c683f3e413523a458a94b533274bd7f29992d.

Breaks Linux-Asan bot
https://uberchromegw.corp.google.com/i/client.webrtc/builders/Linux%20Asan/builds/4348/steps/libjingle_peerconnection_unittest/logs/stdio

BUG=
TBR=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9503}
2015-06-25 06:46:14 +00:00
aluebs
518c683f3e Pull the Voice Activity Detector out from the AGC
This change generates bit-exact values when running through audioproc_f than before.

This change was originally uploaded here:
* https://codereview.webrtc.org/1181933002/
* https://codereview.webrtc.org/1177043017/

And reverted because of an ASAN problem in Chrome here:
* https://codereview.webrtc.org/1192863006/
* https://codereview.webrtc.org/1194963003/

TBR=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9502}
2015-06-25 01:46:03 +00:00
Andrew MacDonald
ac4234ccfc Add a [rtc_]build_with_neon variable to unify conditions.
Also consolidate ARM options for gn in an arm_neon_config.

R=jridges@masque.com, kjellander@webrtc.org, zhongwei.yao@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9501}
2015-06-25 01:25:59 +00:00
ekm
db4fecfb01 Attempt to reland: Allow intelligibility to compile in apm (https://codereview.webrtc.org/1182323005/)
Revert of original: https://codereview.webrtc.org/1187033005/

Changes in original:
- Added files to gyp and BUILD
- Made minor fixes to get everything to compile
    and intelligibility_proc to run
- Added comments
- Auto-reformatting

New Changes:
- Added <numeric> header to intelligibility_enhancer.cc to address buildbot errors
- Switched to use WAV for i/o in intelligibility_proc.cc to address windows errors
- clean up

Note: Patch 1 duplicates Patch 7 of https://codereview.webrtc.org/1182323005/

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9486}
2015-06-23 00:49:14 +00:00
Alejandro Luebs
f260fc2136 Revert "Pull the Voice Activity Detector out from the AGC"
This reverts commit 34be126c1b3ee60ecdb86b1de41a0648347450b2.

It breaks Chromium ASAN.

TBR=niklas.enbom@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9472}
2015-06-19 18:24:01 +00:00
Alejandro Luebs
34be126c1b Pull the Voice Activity Detector out from the AGC
This change generates bit-exact values when running through audioproc_f than before.

R=andrew@webrtc.org, bloch@google.com

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

Cr-Commit-Position: refs/heads/master@{#9465}
2015-06-18 19:34:00 +00:00
aluebs
c555b99c13 Revert of Allow intelligibility to compile in apm (patchset #1 id:1 of https://codereview.webrtc.org/1182323005/)
Reason for revert:
Breaking the build bots: http://build.chromium.org/p/client.webrtc/builders/Mac32%20Release%20%5Blarge%20tests%5D/builds/4544

Fails to compile with this error:

../../webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc:218:25: error: no member named 'accumulate' in namespace 'std'
    power_target = std::accumulate(clear_variance_.variance(),

Original issue's description:
> Allow intelligibility to compile in apm
>
> - Added files to gyp and BUILD
> - Made minor fixes to get everything to compile
>     and intelligibility_proc to run
> - Added comments
> - Auto-reformatting
>
> Original cl is at: https://webrtc-codereview.appspot.com/57579004/
>
> TBR=aluebs@webrtc.org
>
> Committed: b7553dfdbb

TBR=ekmeyerson@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9455}
2015-06-17 03:26:20 +00:00
ekm
b7553dfdbb Allow intelligibility to compile in apm
- Added files to gyp and BUILD
- Made minor fixes to get everything to compile
    and intelligibility_proc to run
- Added comments
- Auto-reformatting

Original cl is at: https://webrtc-codereview.appspot.com/57579004/

TBR=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9454}
2015-06-17 01:57:37 +00:00
Henrik Kjellander
57e5fd2e60 PRESUBMIT: Improve PyLint check and add GN format check.
Add pylintrc file based on
https://code.google.com/p/chromium/codesearch#chromium/src/tools/perf/pylintrc
bit tightened up quite a bit (the one in depot_tools is far
more relaxed).

Remove a few excluded directories from pylint check and fixed/
suppressed all warnings generated.

Add GN format check + formatted all GN files using 'gn format'.
Cleanup redundant rules in tools/PRESUBMIT.py

TESTED=Ran 'git cl presubmit -vv', fixed the PyLint violations.
Ran it again with a modification in webrtc/build/webrtc.gni, formatted
all the GN files and ran it again.

R=henrika@webrtc.org, phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9274}
2015-05-25 10:55:50 +00:00
Alejandro Luebs
5a92aa8440 Add 3-band filter-bank implementation
The implementation is a FIR filter bank with DCT modulation, similar to the proposed in "Multirate Signal Processing for Communication Systems" by Fredric J Harris.
The lowpass filter prototype has these characteristics:
* Passband ripple = 0.3dB
* Passband frequency = 0.147 (7kHz at 48kHz)
* Stopband attenuation = 40dB
* Stopband frequency = 0.192 (9.2kHz at 48kHz)
* Delay = 24 samples (500us at 48kHz)
* Linear phase

This filter bank does not satisfy perfect reconstruction. The SNR after analysis and synthesis (with no processing in between) is approximately 9.5dB depending on the input signal after compensating for the delay.

The performance on my workstation of AudioProcessing (with AGC and NS enabled) on a 413s recording compared to previous versions is as follows:
* Input signal has 32kHz sample rate: 3.01s
* Resampling 48kHz to 32kHz: 3.56s
* Today's temporary filter bank: 5.67s
* This filter-bank: 4.62s

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

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

Cr-Commit-Position: refs/heads/master@{#9090}
2015-04-27 18:34:16 +00:00
Henrik Kjellander
f2497cf517 Fix unknown option '-msse2' warning
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9016}
2015-04-16 06:57:12 +00:00
Michael Graczyk
dfa36058c9 Reparent Nonlinear beamformer under beamforming interface.
R=aluebs@webrtc.org, andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8862}
2015-03-25 23:37:33 +00:00
andrew@webrtc.org
bd8c865f43 Remove build-time beamformer flags.
RealFourier is now unconditionally enabled since we can fall back to the
Ooura FFT. We no longer need to condition users on rtc_use_openmax_dl.

R=aluebs@webrtc.org, mgraczyk@google.com

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

Cr-Commit-Position: refs/heads/master@{#8799}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8799 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-20 00:28:42 +00:00
andrew@webrtc.org
04c50981f8 Add the Ooura FFT to RealFourier.
We are using the Ooura FFT in a few places:
- AGC
- Transient suppression
- Noise suppression

The optimized OpenMAX DL FFT is considerably faster, but currently does
not compile everywhere, notably on iOS. This change will allow us to use
Openmax when possible and otherwise fall back to Ooura.

(Unfortunately, noise suppression won't be able to take advantage of it
since it's not C++. Upgrade time?)

R=aluebs@webrtc.org, mgraczyk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#8798}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8798 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-19 20:07:43 +00:00
mgraczyk@chromium.org
0f663de2ec Rename Beamformer to NonlinearBeamformer.
R=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8710}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8710 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 00:14:18 +00:00
kjellander@webrtc.org
6dab6d700d Let Chromium declare the mips_dsp_rev build variable.
In https://codereview.chromium.org/883253003, the mips_dsp_rev
build variable is added to Chromium's GYP and GN build files. Remove
the declarations of mips_dsp_rev from WebRTC's GYP and GN build files.

Replace mips_fpu with mips_float_abi and remove the compiler flags that
are already set by Chromium.

The main review of this was done in https://webrtc-codereview.appspot.com/39779004
but since that CL wasn't created with the right base URL, I made
this in order to be able to run WebRTC trybots properly.

BUG=446234
TBR=wtc@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#8590}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8590 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 09:51:17 +00:00
kwiberg@webrtc.org
ac2d27d9ae Fix style violations in common_types.h and config.h
Mostly, it's about moving constructors and descructors to the .cc
files, so that they won't be inlined everywhere.

The reason this CL is so big is that a lot of code was using
common_types.h without declaring a dependency on webrtc_common, which
broke the build once common_types.h started to depend on
common_types.cc.

BUG=163
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8516}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8516 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:01:28 +00:00
kjellander@webrtc.org
722739108a Roll chromium_revision b0c3ed3..2c3ffb2 (316737:317530)
Includes GN changes from
https://webrtc-codereview.appspot.com/39249004/

Android changes for JNI were required due to
https://codereview.chromium.org/843103003

Other relevant changes:
* src/buildtools: 5c5e924..93b3d0a
* src/third_party/boringssl/src: d306f16..b180ee9
* src/third_party/icu: 4e3266f..2081ee6
* src/third_party/libvpx: 5cdd302..33bbffe
* src/third_party/usrsctp/usrsctplib: 190c8cb..13718c7
* src/tools/gyp: 4d7c139..3464008
* src/tools/swarming_client: bdad118..1b7bfec
Details: b0c3ed3..2c3ffb2/DEPS

Clang version was not updated in this roll.

R=dpranke@chromium.org, phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8466}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8466 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 19:09:22 +00:00
andrew@webrtc.org
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
andrew@webrtc.org
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
aluebs@webrtc.org
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
aluebs@webrtc.org
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
bjornv@webrtc.org
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
pbos@webrtc.org
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
andrew@webrtc.org
1751ee7d32 Remove -flax-vector-conversions flag for ARM NEON building.
Pass compilation on both ARMv7 and ARM64. The generated
binary (audioproc) is byte to byte (with symbol striped) same as
before. The output of audioproc -aecm is also byte to byte same between
C and NEON version on ARMv7 and ARM64.

Change-Id: Ibdf40fe085f6bad1311f59bf9318bbcf37dd7ce5

BUG=3850
R=andrew@webrtc.org, jridges@masque.com

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

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7783 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-02 19:36:14 +00:00
aluebs@webrtc.org
79b9eba3ab Implement 3 band splitting filter bank by upsampling and splitting twice into 2 bands
Implemented the 3 bands splitting filter bank by:
1. Upsample by 4/3.
2. Split twice into 2 bands.
3. Discard upper most band, because it is empty anyway.

A unittest was also implemented:
1. Generate a signal from presence or absence of sine waves of different frequencies.
2. Split into 3 bands and check their presence or absence.
3. Recombine the bands.
4. Calculate delay (as it is an IIR it depends on frequency).
5. Check that the cross correlation of input and output is high enough at that delay.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7754 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-26 20:21:38 +00:00
andrew@webrtc.org
a56a2c57cf Enabling building with NEON on ARM64
This patch enables NEON on ARM64 platform. Passed building both on
Android ARMv7 and Android ARM64.

BUG=3580
R=andrew@webrtc.org, jridges@masque.com

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

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7751 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-26 17:01:40 +00:00
aluebs@webrtc.org
be05c74ec8 Wrap the splitting filter in its own class
This doesn't change the behavior at all.
The logic behind this is having one class which manages all the splitting filters, because in the future we plan to add a 3 band one for 48kHz support.
It also breaks the dependency of the AudioBuffer with the filter states of these filters (which are going to be different for the 3 band one). The AudioBuffer is complicated enough and is going to need changes to support 3 bands in the future, so any simplification is a good idea.
On top of that it eliminates repeated code in the APM (now only iterating over channels, but then also deciding in how many bands to split). This should be managed by the AudioBuffer directly.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7705 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-14 22:18:10 +00:00
xians@webrtc.org
e46bc77e94 Reland 28629004: adding new AEC dump start interface for chrome.
This is required because we are not allow to pass CRT objects across dll boundaries, that says, when we pass a file descriptor from chrome dll to libpeerconnection dll, the file descriptor will become invalid immediate, more information can be found here:
http://msdn.microsoft.com/en-us/library/ms235460.aspx

R=andresp@webrtc.org, andrew@webrtc.org, bjornv@webrtc.org, henrike@webrtc.org, henrikg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7418 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-10 08:36:56 +00:00
kjellander@webrtc.org
f21ea918ad GN: Add common configs to all targets.
This is needed to ensure we have the same build with GN
as with GYP, since GYP includes the common.gypi on a global level.
Several fixes has been needed in the past because some code have
been built without the right defines.

BUG=3441
R=brettw@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7317 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-28 17:37:22 +00:00
brettw@chromium.org
87ff9c8efa Fix up configs applying to GN build.
The audio_processing target didn't have the build configs applying to it which led to some logging errors.

TBR=kjellander

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7125 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-09 23:34:56 +00:00
kjellander@webrtc.org
6d08ca6379 GN: Prefix WebRTC specific variables with "rtc_"
BUG=3441
TESTED=Trybots + Running GN in a Chromium checkout with
src/third_party/webrtc symlinked to the WebRTC checkout
with this CL applied, both with the default GN settings
and using: --args="os=\"android\" cpu_arch=\"arm\""

R=brettw@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7095 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-07 17:36:10 +00:00
kjellander@webrtc.org
524b8f7304 GN: Implement voice engine, common audio, audio coding and audio processing
NOTICE: Assembly offsets generation for audio processing will
not be ported to GN and the process of removing them is tracked
in https://code.google.com/p/webrtc/issues/detail?id=3580.

The GN files are based upon the GYP files as of r7009.

BUG=3441
TESTED=Passing builds with:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_debug=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false aec_debug_dump=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false aec_untrusted_delay_for_testing=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false prefer_fixed_point=true" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" is_clang=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false os=\"android\" cpu_arch=\"arm\" arm_version=7 is_clang=false" && ninja -C out/Default

I don't know how to setup the mips toolchain to test the following, but it's out of scope for the GN effort for now:
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=0" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=1" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false cpu_arch=\"mipsel\" mips_dsp_rev=2" && ninja -C out/Default

Compilation of Chromium's 'all' target with src/third_party/webrtc
symlinked to the WebRTC checkout with this CL applied, both
with the default GN settings and using
--args="is_debug=false os=\"android\" cpu_arch=\"arm\""

R=andrew@webrtc.org, brettw@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7012 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-31 20:32:53 +00:00
kjellander@webrtc.org
1227ab89a7 GN: Add BUILD.gn files + kjellander to OWNERS
This should work as a foundation for all the work that is
left to do to make the parts of WebRTC that Chromium uses
to build with GN.

I implemented some the smaller modules myself in this CL.
The remaining work (TODO's in the .gn files) will be distributed
to various team members.

I'm adding myself to OWNERS files for BUILD.gn files in all the
directories where I'm adding a BUILD.gn file.

BUG=3441
TEST=
Successful compilation of WebRTC as standalone:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_clang=true clang_use_chrome_plugins=false" && ninja -C out/Default

I built successfully from a Chromium checkout (with
https://codereview.chromium.org/321313006/ applied) using:
gn gen out/Default && ninja -C out/Default webrtc

R=brettw@chromium.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6523 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-23 19:21:07 +00:00