Two concurrently running decoders will trigger data races on cpu_info_
which is lazily initialized on reading TestCpuFlag without proper
atomics.
BUG=libyuv:508
R=kjellander@webrtc.org
TEST=Running EndToEndTest.SendsAndReceivesMultipleStreams under TSan.
Review URL: https://codereview.webrtc.org/1414093003 .
Cr-Commit-Position: refs/heads/master@{#10335}
Landmines is a feature used in Chromium that makes it possible to
clobber the build output directory when needed. Example scenarios
are when compiler/tool/infrastructure changes require a full rebuild.
This is mainly to ease clobbering on all bots, but will also ensure
developers don't have to waste time on figuring out what's wrong
(or rely on reading PSA e-mails announcing when such manual action
is required).
This CL depends on https://codereview.chromium.org/1407733002/
being landed and rolled into DEPS first.
BUG=5077
R=kjellander@chromium.org, machenbach@chromium.org
Review URL: https://codereview.webrtc.org/1402923003 .
Cr-Commit-Position: refs/heads/master@{#10287}
Due to https://codereview.chromium.org/1397493004 we're now adding
a build_overrides directory in WebRTC. Thanks to this, we no longer
need to pass --args="build_with_chromium=false" when running GN in
standalone WebRTC.
Change log: c089d37..159828f
Full diff: c089d37..159828f
No dependencies changed.
No update to Clang.
BUG=webrtc:5070,chromium:541791
TBR=tommi@webrtc.org
CQ_EXTRA_TRYBOTS=tryserver.webrtc:win_baremetal,mac_baremetal,linux_baremetal
Review URL: https://codereview.webrtc.org/1403453003 .
Cr-Commit-Position: refs/heads/master@{#10270}
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}
Our perf test suite webrtc_perf_tests timed out, which caused most
of the delay landing this (https://crbug.comn/535973 and
https://codereview.chromium.org/1370133004).
Other problems with executing Android tests also needed to be
resolved in order to land this (http://crbug.com/534849).
Libvpx has moved from third_party/libvpx to third_party/libvpx_new
as of https://codereview.chromium.org/1323333002/
Android GN was blocking this roll due to a problem that ended up
being caused by a bug (http://crbug.com/534849).
Relevant changes:
* src/buildtools: f7310ee..8d89c1b
* src/third_party/boringssl/src: 1d128f3..4c60d35
* src/third_party/icu: 6b3ce81..423fc7e
* src/third_party/libjpeg_turbo: 631e2dd..e4e7503
* src/third_party/libvpx: ac1772e..70db223
* src/third_party/libyuv: fcacbfb..62c49dc
* src/tools/gyp: 5d01a8c..01528c7
* src/tools/swarming_client: 77f720b..6e5d2b2
Details: 310ea93..8cf53d6/DEPS
Clang version changed 245965:247874
Details: 310ea93..8cf53d6/tools/clang/scripts/update.sh
BUG=481034, 535973
TBR=marpan@webrtc.org
Review URL: https://codereview.webrtc.org/1355083002
Cr-Commit-Position: refs/heads/master@{#10101}
This updates the isolate.gypi copies we have to maintain in our
code repo to Chromium's revision 310ea93.
The changes about generating .isolated.gen.json files are needed
to support running with Swarming (https://www.chromium.org/developers/testing/isolated-testing)
Since isolated testing is now using a new launch script
in tools: isolate_driver.py, that's added to our links
script.
In order to use isolate_driver.py, the .isolate files must be in the
same directory as the test_name_run target is defined, which meant
I had to move around some of the isolate files and targets below
webrtc/modules.
BUG=497757
R=maruel@chromium.orgTBR=henrik.lundin@webrtc.org, mflodman@webrtc.org, niklas.enbom@webrtc.org
TESTED=Clobbered trybots:
git cl try -c --bot=linux_compile_rel --bot=mac_compile_rel --bot=win_compile_rel --bot=android_compile_rel --bot=ios_rel -m tryserver.webrtc
Review URL: https://codereview.webrtc.org/1373513002 .
Cr-Commit-Position: refs/heads/master@{#10081}
Reason for revert:
Breaking Chromium FYI bots.
Original issue's description:
> 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).)
>
> BUG=webrtc:4557
>
> Committed: https://crrev.com/f66a9251424351ea6d631c54dd1feb64cc13d809
> Cr-Commit-Position: refs/heads/master@{#10046}
TBR=henrik.lundin@webrtc.org,tina.legrand@webrtc.org,kjellander@webrtc.org,kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4557
Review URL: https://codereview.webrtc.org/1368933002
Cr-Commit-Position: refs/heads/master@{#10069}
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).)
BUG=webrtc:4557
Review URL: https://codereview.webrtc.org/1349393003
Cr-Commit-Position: refs/heads/master@{#10046}
No longer lock-order inverting since RTP/RTCP modules are instantiated
on construction and no longer guarded by a separate lock.
BUG=webrtc:2999
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1347283004 .
Cr-Commit-Position: refs/heads/master@{#10034}
Reason for revert:
Breaks FYI bots.
ninja: error: '../../third_party/webrtc_overrides/webrtc/base/logging.cc', needed by 'obj/third_party/webrtc_overrides/webrtc/base/rtc_base.logging.o', missing and no known rule to make it
Original issue's description:
> Update build files to use webrtc_overrides in Chromium instead of overrides.
>
> This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.
>
> BUG=chromium:468375
>
> Committed: https://crrev.com/baae0a8a6c873ddf812a5687b84638359b2e7e5b
> Cr-Commit-Position: refs/heads/master@{#9996}
TBR=kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:468375
Review URL: https://codereview.webrtc.org/1352423002
Cr-Commit-Position: refs/heads/master@{#9998}
This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.
BUG=chromium:468375
Review URL: https://codereview.webrtc.org/1354933002
Cr-Commit-Position: refs/heads/master@{#9996}
Video capture for android is now implemented in talk/app/webrtc/androidvideocapturer.h
BUG=webrtc:4475
Review URL: https://codereview.webrtc.org/1347083003
Cr-Commit-Position: refs/heads/master@{#9995}
Recent changes (https://codereview.chromium.org/1311013010) introduces a
dependency on WebKit (Blink) in Chromium, which forces us to start pulling
down that as well (+6GB). However Blink is about to be merged into the
Chromium repo soon anyway, so the size increase is inevitable.
Luckily, this can be removed in the next roll, if we roll past
http://crrev.com/348812
The ijar dependency was introduced in https://codereview.chromium.org/1323053003 (#347208)
Relevant changes:
* src/third_party/boringssl/src: 12fe1b2..ac8302a
* src/third_party/libvpx: a208eca..0304cef
* src/third_party/libyuv: 3c4f573..0bc626a
* src/tools/gyp: 6ee91ad..5d01a8c
Details: a28d8d5..5482f56/DEPS
Clang version was not updated in this roll.
R=torbjorng@webrtc.orgTBR=marpan@webrtc.org
BUG=webrtc:5005, chromium:530112
Review URL: https://codereview.webrtc.org/1305043008 .
Cr-Commit-Position: refs/heads/master@{#9956}
The disabling of the sin,cos,sinf,cosf functions had the wrong
condition for GN. This fixes that and also makes the condition
in common.gypi a bit more readable.
BUG=
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1307633008 .
Cr-Commit-Position: refs/heads/master@{#9871}
LTO was disabled due to a GCC compiler bug that does not affect LLVM.
This fixes the build in the cfi_vptr==1 configuration, which requires LLVM LTO.
TBR=pcc@google.com
BUG=chromium:469376
patch from issue 1295663002 at patchset 1 (http://crrev.com/1295663002#ps1)
Review URL: https://codereview.webrtc.org/1294293003 .
Patch from Peter Collingbourne <pcc@google.com>.
Cr-Commit-Position: refs/heads/master@{#9721}
It's built as a part of the chromium build(?), but causes problems with XCode 7's new bitcode intermediate format. It should really never been included, but it never caused link failures before.
BUG=
Review URL: https://codereview.webrtc.org/1236383002
Cr-Commit-Position: refs/heads/master@{#9606}
Comparing with 1 is less clear than using the input flags as
booleans.
BUG=5008276
Review URL: https://codereview.webrtc.org/1231663002
Cr-Commit-Position: refs/heads/master@{#9561}
Removed no longer used test_isolation_outdir variable as in
https://codereview.chromium.org/1176463003
The move of a DEPS in https://codereview.chromium.org/1155743013
is causing problems on some trybots. It shouldn't affect developers.
Relevant changes:
* src/third_party/android_tools: a3afc68..ed3dde6
* src/third_party/icu: 9939a5d..a05f412
* src/third_party/libjpeg_turbo: 8ee9bdd..f4631b6
* src/third_party/libyuv: 632c50f..632c50f
Details: e937e5f..c2239a8/DEPS
Clang version was not updated in this roll.
BUG=
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1182043002.
Cr-Commit-Position: refs/heads/master@{#9435}
Registers transport on construction removing the need for ViESender as a
hop and removing a potential deadlock by removing RegisterSendTransport.
BUG=1695, 2999
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/57449004
Cr-Commit-Position: refs/heads/master@{#9309}
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}
Merge WEBRTC_ARCH_ARM64_NEON and WEBRTC_ARCH_ARM_NEON into one
WEBRTC_HAS_NEON.
Replace WEBRTC_DETECT_ARM_NEON by WEBRTC_DETECT_NEON.
Replace WEBRTC_ARCH_ARM by WEBRTC_ARCH_ARM64 for arm64 cpu.
BUG=4002
R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org
Change-Id: I870a4d0682b80633b671c9aab733153f6d95a980
Review URL: https://webrtc-codereview.appspot.com/49309004
Cr-Commit-Position: refs/heads/master@{#9228}
BUG=4573,2982,2175,3590
TEST=modules_unittests --gtest_filter=AudioDevice*, AppRTCDemo and WebRTCDemo
Summary:
- Removes dependency of the 'enable_android_opensl' compiler flag.
Instead, OpenSL ES is always supported, and will enabled for devices that
supports low-latency output.
- WebRTC no longer supports OpenSL ES for the input/recording side.
- Removes old code and demos using OpenSL ES for audio input.
- Improves accuracy of total delay estimates (better AEC performance).
- Reduces roundtrip audio latency; especially when OpenSL can be used.
Performance verified on: Nexus 5, 6, 7 and 9. Samsung Galaxy S4 and S6.
Android One device.
R=magjed@webrtc.org, phoglund@webrtc.org, tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/51759004
Cr-Commit-Position: refs/heads/master@{#9208}
This will make us detect when sources are listed in GYP files that
are no longer present on disk. This check only exists for Windows
but should be enough to keep our GYP files up to date with the file
system.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/54409004
Cr-Commit-Position: refs/heads/master@{#9187}
This makes the build more flexible when linking against
prebuilt external libraries.
Use existing build_* variables for libyuv and json in talk/
(already in use in webrtc/).
Also make it possible to avoid building the GTK parts of the Linux build.
BUG=4242
R=andrew@webrtc.org, tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44179005
Cr-Commit-Position: refs/heads/master@{#9087}
https://webrtc-codereview.appspot.com/48909004/ only fixed
the target_subarch problem for ARM. This fixes it for the
x86 targets that are used for the iOS simulator (ia32/x64).
BUG=4532
TESTED=Built locally using:
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1 OS=ios target_arch=ia32"
export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_sim"
export GYP_CROSSCOMPILE=1
gclient runhooks
ninja -C out_sim/Release-iphonesimulator iossim AppRTCDemo
R=tkchin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44159004
Cr-Commit-Position: refs/heads/master@{#8991}
Now that android_webview_build is no longer supported, remove build
conditionals referencing it and also remove the extra level of
indirection used to reference the cpufeatures target.
BUG=chromium:440793
R=henrika@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/44119005
Patch from Richard Coles <torne@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#8963}
Since the approach in https://webrtc-codereview.appspot.com/48869004/
was not possible, this is the only way to set
the target_subarch GYP_DEFINES for iOS.
WebRTC doesn't use or support the target_subarch
GYP variable in the same way as Chromium does, and we
currently don't build fat binaries at our buildbots.
This is needed to unblock the chromium_revision roll in
https://webrtc-codereview.appspot.com/50569004/ and it
also makes it a bit easier to build for iOS since it
is no longer needed to set target_subarch=arm64 when
target_arch=arm64 (i.e. when you build for ARM64).
BUG=4503
TESTED=Ran successful project generations using:
GYP_DEFINES="OS=ios target_arch=arm" webrtc/build/gyp_webrtc
and verified the -arch compiler flag was set to 'armv7'
GYP_DEFINES="OS=ios target_arch=arm64" webrtc/build/gyp_webrtc
and verified the -arch compiler flag was set to 'arm64'
R=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/48909004
Cr-Commit-Position: refs/heads/master@{#8949}
WebRTC doesn't use or support the target_subarch
GYP variable in the same way as Chromium does, and we
currently don't build fat binaries at our buildbots.
This is needed to unblock the chromium_revision roll in
https://webrtc-codereview.appspot.com/50569004/ and it
also makes it a bit easier to build for iOS since it
is no longer needed to set target_subarch=arm64 when
target_arch=arm64 (i.e. when you build for ARM64).
TBR=tkchin@webrtc.org
BUG=4503
Review URL: https://webrtc-codereview.appspot.com/48869004
Cr-Commit-Position: refs/heads/master@{#8937}