Commit graph

129 commits

Author SHA1 Message Date
Åsa Persson
0c9204c183 Revert "Support AVX2/FMA intrinsics in Audio Resampler module"
This reverts commit 1ca8d87239.

Reason for revert: breaks downstream project

Original change's description:
> Support AVX2/FMA intrinsics in Audio Resampler module
> 
> From the test result, using AVX2/FMA is 1.60x faster than SSE on atlas.
> 
> Bug: webrtc:11663
> Test: common_audio_unittests on atlas and octopus.
> Change-Id: Ibd45ea46aa97d5790a24e5116f741592b95f6416
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176382
> Reviewed-by: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Commit-Queue: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31810}

TBR=mbonadei@webrtc.org,henrika@webrtc.org,henrik.lundin@webrtc.org,saza@webrtc.org,peah@webrtc.org,mflodman@webrtc.org,zhaoliang.ma@intel.com

Change-Id: I1dad31df446e336dacb29ff637bd66f809376458
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11663
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180622
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31813}
2020-07-30 17:35:30 +00:00
Artem Titov
55fc6cf193 Fix "Assignment had no effect." error during chromium roll.
Remove custom android warning suppression file because looks like it
is not used anymore.

Bug: None
Change-Id: I09f8936a5e82e42f3d0c1e21f20ff4812ce1b8ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180582
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31811}
2020-07-30 12:57:20 +00:00
Zhaoliang Ma
1ca8d87239 Support AVX2/FMA intrinsics in Audio Resampler module
From the test result, using AVX2/FMA is 1.60x faster than SSE on atlas.

Bug: webrtc:11663
Test: common_audio_unittests on atlas and octopus.
Change-Id: Ibd45ea46aa97d5790a24e5116f741592b95f6416
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176382
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31810}
2020-07-30 11:39:38 +00:00
Mirko Bonadei
bd393b29a5 Add target_sdk_version to rtc_test.
Starting fom crrev.com/c/2290319, the build system will start to
enforce the presence of target_sdk_version. This CL sets it to 23 to
keep the current behaviour.

TBR=titovartem@webrtc.org

Bug: None
Change-Id: If9b9d730c3899c4e6afbd6f08a56b5a73cf126a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179084
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31705}
2020-07-11 08:25:04 +00:00
Olga Sharonova
5fbd758b88 Revert "Build: Disable the iLBC audio codec by default"
This reverts commit f14d2a500d.

Reason for revert: low_bandwidth_perf_tests regression.
https://bugs.chromium.org/p/webrtc/issues/detail?id=11748#c28
Should be fine to reland as soon as we understand why iLBC affects
low_bandwidth_perf_tests

BUG=webrtc:11748

Original change's description:
> Build: Disable the iLBC audio codec by default
>
> webrtc.org no longer builds with the iLBC audio codec by default by
> setting rtc_include_ilbc to false in webrtc.gni.
>
> You can read more about iLBC at
>   https://webrtc.github.io/webrtc-org/license/ilbc-freeware/
>
> iLBC is not a mandatory-to-implement codec in WebRTC (and we are
> pretty sure it was never enabled in Chrome). This affects only
> native applications which can change the build flag again.
>
> BUG=webrtc:11740
>
> Change-Id: I513658a950100a90346370c9210806aee0f34607
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178395
> Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31599}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,hta@webrtc.org,philipp.hancke@googlemail.com,courtneyfe@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:11740
Change-Id: Iaa0c39487464d31661ac8c22c9e21b6cb79b645a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178907
Commit-Queue: Olga Sharonova <olka@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31685}
2020-07-09 11:27:06 +00:00
Philipp Hancke
f14d2a500d Build: Disable the iLBC audio codec by default
webrtc.org no longer builds with the iLBC audio codec by default by
setting rtc_include_ilbc to false in webrtc.gni.

You can read more about iLBC at
  https://webrtc.github.io/webrtc-org/license/ilbc-freeware/

iLBC is not a mandatory-to-implement codec in WebRTC (and we are
pretty sure it was never enabled in Chrome). This affects only
native applications which can change the build flag again.

BUG=webrtc:11740

Change-Id: I513658a950100a90346370c9210806aee0f34607
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178395
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31599}
2020-07-01 08:52:35 +00:00
Jeremy Leconte
b19cfeeb5c Roll chromium_revision 4d95e6c77b..71a0e1904e (776481:782339)
Change log: 4d95e6c77b..71a0e1904e
Full diff: 4d95e6c77b..71a0e1904e

Changed dependencies
* src/base: 2df7267880..736d9fb42c
* src/build: a03951acb9..876a780600
* src/buildtools: 1b066f0216..1ed99573d5
* src/buildtools/linux64: git_revision:d0a6f072070988e7b038496c4e7d6c562b649732..git_revision:7d7e8deea36d126397bda2cf924682504271f0e1
* src/buildtools/mac: git_revision:d0a6f072070988e7b038496c4e7d6c562b649732..git_revision:7d7e8deea36d126397bda2cf924682504271f0e1
* src/buildtools/win: git_revision:d0a6f072070988e7b038496c4e7d6c562b649732..git_revision:7d7e8deea36d126397bda2cf924682504271f0e1
* src/ios: 9200aad36b..73c8bcb1b1
* src/testing: 502600d41a..77ba7104d5
* src/third_party: e0df6e10ad..1908162da7
* src/third_party/android_deps/libs/androidx_activity_activity: version:1.0.0-cr0..version:1.1.0-cr0
* src/third_party/android_deps/libs/androidx_arch_core_core_runtime: version:2.0.0-cr0..version:2.1.0-cr0
* src/third_party/android_deps/libs/androidx_fragment_fragment: version:1.1.0-cr0..version:1.2.5-cr0
* src/third_party/android_deps/libs/androidx_lifecycle_lifecycle_common: version:2.1.0-cr0..version:2.2.0-cr0
* src/third_party/android_deps/libs/androidx_lifecycle_lifecycle_livedata_core: version:2.0.0-cr0..version:2.2.0-cr0
* src/third_party/android_deps/libs/androidx_lifecycle_lifecycle_runtime: version:2.1.0-cr0..version:2.2.0-cr0
* src/third_party/android_deps/libs/androidx_lifecycle_lifecycle_viewmodel: version:2.1.0-cr0..version:2.2.0-cr0
* src/third_party/android_deps/libs/androidx_preference_preference: version:1.0.0-cr0..version:1.1.1-cr0
* src/third_party/android_deps/libs/org_robolectric_shadows_multidex: version:4.3.1-cr0..version:4.3.1-cr1
* src/third_party/android_sdk/public: CR25ixsRhwuRnhdgDpGFyl9S0C_0HO9SUgFrwX46zq8C..uM0XtAW9BHh8phcbhBDA9GfzP3bku2SP7AiMahhimnoC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/88024df121..430a742303
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/2ad47493f8..e0658a4adf
* src/third_party/depot_tools: 37e562110f..87c8b91639
* src/third_party/espresso: c92dcfc4e894555a0b3c309f2b7939640eb1fee4..y8fIfH8Leo2cPm7iGCYnBxZpwOlgLv8rm2mlcmJlvGsC
* src/third_party/ffmpeg: be66dc5fd0..23b2a15c25
* src/third_party/freetype/src: 62fea391fa..a443474755
* src/third_party/icu: 630b884f84..79326efe26
* src/third_party/libaom/source/libaom: https://aomedia.googlesource.com/aom.git/+log/2aa13c436e..e1ebb418eb
* src/third_party/libunwindstack: 046920fc49..11659d420a
* src/third_party/libvpx/source/libvpx: c176557314..769129fb29
* src/third_party/perfetto: 60cf022c02..44e38c4643
* src/third_party/r8: gobCh01BNwJNyLHHNFUmLWSMaAbe4x3izuzBFzxQpDoC..B467c9t23JiW_6XGqhvHvtEKWSkrPS2xG_gho_gbAI4C
* src/third_party/turbine: 3UJ600difG3ThRhtYrN9AfZ5kh8wCYtBiii1-NMlCrMC..mr9FyghUYWLYv4L5Nr3C_oceLfmmybnFgAi366GjQoYC
* src/third_party/turbine/src: 95f6fb6f1e..1c98ea6854
* src/tools: 050a4a5e26..d6998993f9
Added dependency
* src/third_party/android_deps/libs/androidx_lifecycle_lifecycle_viewmodel_savedstate
DEPS diff: 4d95e6c77b..71a0e1904e/DEPS

Clang version changed f7f1abdb8893af4a606ca1a8f5347a426e9c7f9e:4e813bbdf
Details: 4d95e6c77b..71a0e1904e/tools/clang/scripts/update.py

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,marpan@webrtc.org, jianj@chromium.org,
BUG=None

Change-Id: Idb4a2ccc6eab502ecf78b34247a479ff5726b50a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178084
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#31569}
2020-06-26 05:33:14 +00:00
Mirko Bonadei
96115cfcdd Add absl_deps to webrtc_fuzzer_test.
Bug: chromium:1046390
Change-Id: I531511dce156a10174c9ed80ccb2d5cd75ec33b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177900
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31553}
2020-06-24 08:22:30 +00:00
Mirko Bonadei
08ce986fda Switch to absl single target when building with Chromium.
The //third_party/abseil-cpp:absl target is currently a group that
depends on all the targets needed by WebRTC in Chromium.

It will be switched to a component starting from
https://chromium-review.googlesource.com/c/chromium/src/+/2174434.

Bug: chromium:1046390
Change-Id: I70d450fdbfa895084b481c9884b6361d2fb9580d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176901
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31498}
2020-06-11 11:53:48 +00:00
Andrey Logvin
0c3062efcb Roll chromium_revision 5177dd5686..4d95e6c77b (776000:776481)
Change log: 5177dd5686..4d95e6c77b
Full diff: 5177dd5686..4d95e6c77b

Changed dependencies
* src/base: 12aafbd23b..2df7267880
* src/build: 45f27c5e79..a03951acb9
* src/ios: 6d0f4efc06..9200aad36b
* src/testing: a67f60963b..502600d41a
* src/third_party: b81d3c846f..e0df6e10ad
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/03e7ff4035..2ad47493f8
* src/third_party/depot_tools: a85d58e50e..37e562110f
* src/tools: d018c278d3..050a4a5e26
DEPS diff: 5177dd5686..4d95e6c77b/DEPS

Clang version changed a6ae333a0c23fc9b0783ca45e2676abac00c6723:f7f1abdb8893af4a606ca1a8f5347a426e9c7f9e
Details: 5177dd5686..4d95e6c77b/tools/clang/scripts/update.py

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I55bb359cd525252ea0c46035d0f27447cd7fe010
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176821
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31477}
2020-06-09 14:24:01 +00:00
Mirko Bonadei
2dcf348011 Use absl_deps in order to preapre to the Abseil component build release.
Bug: webrtc:1046390
Change-Id: Ia35545599de23b1a2c2d8be2d53469af7ac16f1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176502
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31463}
2020-06-08 12:59:40 +00:00
Markus Handell
8e75bd40e0 Mutex: remove Abseil static initializer.
The change adds conditional inclusion of mutex_abseil.h from mutex.h
and conditional referencing of
//third_party/abseil-cpp/absl/synchronization
which introduces a static initializer.

https://webrtc-review.googlesource.com/c/src/+/176230 introduced a
static initializer which broke the Chromium autoroll,
https://chromium-review.googlesource.com/c/chromium/src/+/2230887.
Example failure:
https://ci.chromium.org/p/chromium/builders/try/android-lollipop-arm-rel/34133

TBR=karl@webrtc.org

No-Try: True
Bug: webrtc:11567
Change-Id: Id78af798f34d5d6beaf9f6e0150e6b3ddd31ff4f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176513
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Olga Sharonova <olka@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31451}
2020-06-05 10:26:28 +00:00
Mirko Bonadei
8b7cfa16aa Introduce absl_deps in rtc_* C++ templates.
Since dependencies on Abseil need to be statically linked in case
Chromium is built with is_component_build=true, this CL introduces a new
parameter for C++ library rtc_* templates (rtc_library, rtc_source_set
and rtc_static_library). This parameter (called "absl_deps") will result
in a dependency on the Abseil component (//third_party/abseil-cpp:absl)
when is_component_build=true or on the normal granular Abseil target
when is_component_build=false.

Bug: chromium:1046390
Change-Id: Iddca886926a7874488701bc9d79affb00cca72d0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176447
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31441}
2020-06-04 08:41:32 +00:00
Courtney Edwards
35c87b6ada Remove android_manifest_for_lint from BUILD.gn files
Remove android_manifest_for_lint from BUILD.gn files

The Chromium Roll into WebRTC isn't flowing
The first CL that caused the problem is https://webrtc-review.googlesource.com/c/src/+/175140/
The error is: ERROR at //examples/BUILD.gn:104:33: Assignment had no effect. android_manifest_for_lint = "androidapp/AndroidManifest.xml"
android_manifest_for_lint has ben removed so update BUILD files that use that feature to reflect this.

BUG=None

Change-Id: If526d9a4dd80cddca7f2c9dd7f67ba9efe3f1a84
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175661
Commit-Queue: Courtney Edwards <courtneyfe@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31325}
2020-05-19 13:23:25 +00:00
Peter Wen
ec02eef1ff Android: Remove min_sdk_version in GN (reland)
Android lint is changing, so min_sdk_version is no longer needed in GN.

Relanding because webrtc was able to roll chromium.

Bug: chromium:1017190
Change-Id: I3e351381cb735d511da648d4ef41613c923d62c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174983
Commit-Queue: Peter Wen <wnwen@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31244}
2020-05-13 15:46:45 +00:00
Mirko Bonadei
5c1a56540b Revert "Disable PipeWire on Chromecast builds."
This reverts commit cc8c07895d.

Reason for revert: Breaks cast linux tests (https://ci.chromium.org/p/chromium/builders/ci/Cast%20Linux/93159)

Original change's description:
> Disable PipeWire on Chromecast builds.
> 
> For various reasons is_desktop_linux is true on Chromecast builds though
> arguably it should not be. This means that the detection logic previously
> used is incorrect for Chromecast builds. Since Chromecast needs to
> start enabling use_sysroot, this logic needs to explicitly exclude
> is_chromecast.
> 
> Bug: b/154635846
> Change-Id: I6ced6f7e4c78f9d8d7055018e68090883b9e21bd
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174620
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31205}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,tommi@webrtc.org,stefan@webrtc.org,juberti@webrtc.org,mflodman@webrtc.org,eliribble@google.com

Change-Id: Ibe8837fa4b845fe56d4d4ff63ffb38addfb58905
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/154635846
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174827
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31221}
2020-05-12 06:14:48 +00:00
Eli Ribble
cc8c07895d Disable PipeWire on Chromecast builds.
For various reasons is_desktop_linux is true on Chromecast builds though
arguably it should not be. This means that the detection logic previously
used is incorrect for Chromecast builds. Since Chromecast needs to
start enabling use_sysroot, this logic needs to explicitly exclude
is_chromecast.

Bug: b/154635846
Change-Id: I6ced6f7e4c78f9d8d7055018e68090883b9e21bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174620
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31205}
2020-05-11 08:44:47 +00:00
Scott Little
d6b10943c7 Revert "Android: Remove min_sdk_version in GN"
This reverts commit f00ed5be2a.

Reason for revert: Broke compile on Android64 Builder arm64:
https://ci.chromium.org/p/webrtc/builders/ci/Android64%20Builder%20arm64/6936?

Original change's description:
> Android: Remove min_sdk_version in GN
> 
> Android lint is changing, so min_sdk_version is no longer needed in GN.
> 
> Can commit after this CL lands: https://crrev.com/c/2163728
> 
> Bug: chromium:1017190
> Change-Id: I5792df1f06c07cde3e3b17fd5f18a8f9ffcf380c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173840
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Peter Wen <wnwen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#31175}

TBR=mbonadei@webrtc.org,wnwen@chromium.org

Change-Id: Ieefb023dc8b8cc1b4665448be576cd21f816a07f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1017190
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174600
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31177}
2020-05-07 09:20:41 +00:00
Peter Wen
f00ed5be2a Android: Remove min_sdk_version in GN
Android lint is changing, so min_sdk_version is no longer needed in GN.

Can commit after this CL lands: https://crrev.com/c/2163728

Bug: chromium:1017190
Change-Id: I5792df1f06c07cde3e3b17fd5f18a8f9ffcf380c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173840
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#31175}
2020-05-06 20:49:09 +00:00
Per Åhgren
cc73ed3e70 APM: Add build flag to allow building WebRTC without APM
This CL adds a build flag to allow building the non-test parts
of WebRTC without the audio processing module.
The CL also ensures that the WebRTC code correctly handles
the case when no APM is available.

Bug: webrtc:5298
Change-Id: I5c8b5d1f7115e5cce2af4c2b5ff701fa1c54e49e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171509
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31133}
2020-04-26 23:06:44 +00:00
saza
aa42ecde9a Make transient suppression optionally excludable via defines
This allows clients to exclude the transient suppression submodule from WebRTC builds, by defining WEBRTC_EXCLUDE_TRANSIENT_SUPPRESSOR.

The changes have been shown to be bitexact for a test dataset (when the flag is _not_ defined.)

No-Try: True
Bug: webrtc:11226, webrtc:11292
Change-Id: I6931c82a280a9b40a53ee1c2a9820ed9e674a9a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171421
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30978}
2020-04-02 11:44:07 +00:00
Mirko Bonadei
ccbe95fd8a Reformat GN files.
`gn format` recently [1] changed its formatting behavior
for deps, source, and a few other elements when they
are assigned (with =) single-element lists to be consistent
with the formatting of updates (with +=) with single-element.

Now that we've rolled in a GN binary with the change,
reformat all files so that people don't get presubmit
warnings due to this.

CL generated with:
$ git ls-files | grep BUILD.gn | xargs gn format
$ gn format build_overrides/build.gni
$ gn format build_overrides/gtest.gni
$ gn format modules/audio_coding/audio_coding.gni
$ gn format webrtc.gni
$ gn format .gn

Plus a few manual changes to add exceptions for
"public_deps" (after changing these lines the presubmit
started to complain).

[1] - https://gn-review.googlesource.com/c/gn/+/6860

Bug: webrtc:11302
Change-Id: Iac29d23c1618ebef925c972e2891cd9f4e8cd613
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166882
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30334}
2020-01-21 12:13:11 +00:00
Mirko Bonadei
3c4fda2ed8 Do not disable metrics by default.
Starting from [1] metrics are optional but by default they should be
enabled.

[1] - https://webrtc-review.googlesource.com/c/src/+/161043

Bug: webrtc:11144
Change-Id: I0b22e2c59ff9df73a82f354997f073b6da028875
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161728
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30057}
2019-12-11 08:08:58 +00:00
Ying Wang
ef3998ffd1 Add directive to make webrtc metrics optional.
Bug: webrtc:11144
Change-Id: I4e75e6aec033784685de3670e880bb9f2b6ee8d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161043
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30040}
2019-12-09 13:55:50 +00:00
Artem Titov
9dc209a23a Add ability to disable detailed error message in RTC_CHECKs
Bug: webrtc:11133
Change-Id: I989654f1fb97b476a17956d69ee374406439ea8f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160653
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29952}
2019-11-28 17:51:00 +00:00
Doudou Kisabaka
2dec496f80 Add directive to make TRACE_EVENT macros optional.
Bug: webrtc:11132
Change-Id: I801994ad262e1acff73e4c20afd7a7343b56268c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160654
Commit-Queue: Doudou Kisabaka <doudouk@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29949}
2019-11-28 15:58:24 +00:00
Artem Titov
6a4a14635e Add ability to strip out logging messages from the binary
Bug: webrtc:11125
Change-Id: I6e1e96536502c6ae94b6061ea09951cdc2fd87ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160410
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29919}
2019-11-26 16:29:50 +00:00
Yves Gerey
2f385d2ab8 Manual chromium roll: Compile using JDK 11
This is a manual roll of [1]:
"""
Moved from manual deps into //third_party/android_deps:
* Guava-jre
* AutoService
* ErrorProne

It looks like this CL adds other libraries, but they are just those
that already existed within errorprone-ant.jar.

This updates how ErrorProne is invoked to the JDK9+ method of being a
proper javac plugin. This move necessitated moving the above libraries
into android_deps, because the version of Guava that was already in
android_deps was conflicting with our non-android_deps one.
"""

On top of that, errorprone flags have been removed,
since they aren't recognized anymore:
"error: invalid flag: -Xep:ParameterNotNullable:ERROR"

A follow-up CL will re-activate them with proper invokation.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1885951

Manual chromium roll: Compile using JDK 11.

Bug: webrtc:11102, chromium:693079
Change-Id: I6fdc700e71bcf39efae948d6195c97700c9cb978
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160011
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#29842}
2019-11-20 12:13:43 +00:00
Mirko Bonadei
92dd35d035 Reland "Force Chromium deps on the WebRTC component."
This is a reland of 53e157d25c

The issue has been fixed in
https://chromium-review.googlesource.com/c/chromium/src/+/1917204.

Original change's description:
> Force Chromium deps on the WebRTC component.
>
> This CL adds a visibility check to the rtc_* GN templates in order
> to force Chromium to depend only on publicly visible targets from
> //third_party/webrtc_overrides and not from //third_party/webrtc.
>
> This is required in order to ensure that the Chromium's component
> builds continues to work correctly without introducing direct
> dependency paths on WebRTC that would statically link it in multiple
> shared libraries.
>
> Bug: webrtc:9419
> Change-Id: Ib89f4fc571512f99678ee4f61696b316374346d9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154344
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29806}

TBR: kwiberg@webrtc.org
Bug: webrtc:9419
Change-Id: I7123d1b44ddbc23b11d9fa25aa39aa420359e33d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159922
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29816}
2019-11-18 12:16:43 +00:00
Mirko Bonadei
2419dc9cfc Revert "Force Chromium deps on the WebRTC component."
This reverts commit 53e157d25c.

Reason for revert: Breaks Chromium iOS FYI bots.
https://ci.chromium.org/p/chromium/builders/webrtc.fyi/WebRTC%20Chromium%20FYI%20ios-device/5088

Original change's description:
> Force Chromium deps on the WebRTC component.
>
> This CL adds a visibility check to the rtc_* GN templates in order
> to force Chromium to depend only on publicly visible targets from
> //third_party/webrtc_overrides and not from //third_party/webrtc.
>
> This is required in order to ensure that the Chromium's component
> builds continues to work correctly without introducing direct
> dependency paths on WebRTC that would statically link it in multiple
> shared libraries.
>
> Bug: webrtc:9419
> Change-Id: Ib89f4fc571512f99678ee4f61696b316374346d9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154344
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29806}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,dpranke@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

TBR: kwiberg@webrtc.org
Bug: webrtc:9419
Change-Id: Id4d906910d569a3e5db3afef8c03672fba6dad81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159921
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29813}
2019-11-18 08:11:30 +00:00
Mirko Bonadei
53e157d25c Force Chromium deps on the WebRTC component.
This CL adds a visibility check to the rtc_* GN templates in order
to force Chromium to depend only on publicly visible targets from
//third_party/webrtc_overrides and not from //third_party/webrtc.

This is required in order to ensure that the Chromium's component
builds continues to work correctly without introducing direct
dependency paths on WebRTC that would statically link it in multiple
shared libraries.

Bug: webrtc:9419
Change-Id: Ib89f4fc571512f99678ee4f61696b316374346d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154344
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29806}
2019-11-15 16:36:28 +00:00
Sam Zackrisson
492fdf40fe Make rtc_json poisonous in WebRTC
This does not help the attached bugs, but it does allow greater control
over what JSON code is running where. Long-term, the JSON library used
for parsing configuration should likely be a library already present
in Chromium builds, to avoid duplication. And if that happens, then
WebRTC bug 9804 may be passé.

Note that this CL also sorts our poisons alphabetically.

Bug: chromium:895814, webrtc:9804
Change-Id: I70c3efe05a0eba9212895407f73978d8216df920
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158400
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29615}
2019-10-25 13:46:03 +00:00
Mirko Bonadei
86d053c2db Use source_sets in component builds and static_library in release builds.
Static libraries don't guarantee that an exported symbol gets linked
into a shared library (and in order to support Chromium's component
build mode, WebRTC needs to be linked as a shared library).

Source sets always pass all the object files to the linker.

On the flip side, source_sets link more object files in release builds
and to avoid this, this CL introduces a the GN template "rtc_library" that
expands to static_library during release builds and to source_set during
component builds.

See: https://gn.googlesource.com/gn/+/master/docs/reference.md#func_source_set

Bug: webrtc:9419
Change-Id: I4667e820c2b3fcec417becbd2034acc13e4f04fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/157168
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#29525}
2019-10-17 21:17:18 +00:00
Mirko Bonadei
2dac4e4e35 Remove rtc_use_lto GN arg.
This CL is a no-op since rtc_use_lto is always false and in general
such change should probably be implemented in
//build/config/compiler/BUILD.gn.

Bug: chromium:408997
Change-Id: Id37d3181e66e699f8cd535aee1af7609352a7259
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149833
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28919}
2019-08-20 14:00:49 +00:00
Mirko Bonadei
2ab97f6f8e Migrate WebRTC test infra to ABSL_FLAG.
This is the last CL required to migrate WebRTC to ABSL_FLAG, rtc::Flag
will be removed soon after this one lands.

Bug: webrtc:10616
Change-Id: I2807cec39e28a2737d2c49e2dc23f2a6f98d08f0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145727
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28606}
2019-07-19 06:54:04 +00:00
Danil Chapovalov
41300af876 Poison default task queue factory
Users of webrtc generally should be able to choose own task queue implementation.
Poison avoids accidental dependency of a low level component on the default implementation
Android and ios apis are still de-facto forced to use the default implementation.

Bug: webrtc:10284
Change-Id: I67ecf2317f43ee32b0c9e8a6e69f1e0987cf1914
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144786
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28524}
2019-07-10 14:08:20 +00:00
Oleh Prypin
a79abd4054 Specify min_sdk_version for unittest apks also in GN configs
This is a followup to https://webrtc-review.googlesource.com/142235

This was missed and it fails the new assert in https://chromium-review.googlesource.com/1675323
Example of failing roll: https://webrtc-review.googlesource.com/143844

This comes with the same caveats, i.e. the information is duplicated in AndroidManifest. But the new assert prevents de-sync between them :)

The version is being specified unconditionally because so is AndroidManifest.

Bug: chromium:891996
Change-Id: I92a2011c8fda55849bd9ba8df619f897f48e58da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143795
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28378}
2019-06-26 07:18:15 +00:00
Mirko Bonadei
775c02ea0c Do not use libevent when targeting wasm.
Bug: None
Change-Id: Ibfab54e2d1504b5add54ecaff6cf0935967cbb88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142809
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28329}
2019-06-20 09:40:57 +00:00
Oleh Prypin
4cbb4ef817 Roll chromium_revision 6ae0f0cd4c..bf62d746a4 (669703:669828) + fix AndroidManifest
In https://chromium-review.googlesource.com/1650265 attributes like minSdkVersion were moved from AndroidManifest.xml to GN files. For WebRTC there were a few problems with that.
* We don't want to suppress UsesMinSdkAttributes lint but now there are these "invalid" manifest files that we can't exclude or discern. So disable this lint error.
  https://chromium-review.googlesource.com/c/chromium/src/+/1650265/14/build/android/AndroidManifest.xml
* We should specify the versions in GN files, so I did that here (by exactly copying the versions that are already in the targets' corresponding XML files), but we never want to get rid of them in the XML files. For now this information will just be duplicated (without any synchronicity check!) so there should be followup to this.

Change log: 6ae0f0cd4c..bf62d746a4
Full diff: 6ae0f0cd4c..bf62d746a4

Changed dependencies
* src/base: 9e5e9332df..e5a1d1f652
* src/build: 5a031748ec..2ef566e990
* src/buildtools: 6ae683be2f..6f3775ad6e
* src/buildtools/linux64: git_revision:8c7f49102234f4f4b9349dcb258554675475e596..git_revision:81ee1967d3fcbc829bac1c005c3da59739c88df9
* src/buildtools/mac: git_revision:8c7f49102234f4f4b9349dcb258554675475e596..git_revision:81ee1967d3fcbc829bac1c005c3da59739c88df9
* src/buildtools/win: git_revision:8c7f49102234f4f4b9349dcb258554675475e596..git_revision:81ee1967d3fcbc829bac1c005c3da59739c88df9
* src/ios: 2f5c817266..7f1a97d593
* src/testing: 1d4247de57..b1b36ff0d4
* src/third_party: 6f7cbf7c46..42e96c4074
* src/third_party/android_sdk/public: ki7EDQRAiZAUYlnTWR1XmI6cJTk65fJ-DNZUU1zrtS8C..xhyuoquVvBTcJelgRjMKZeoBVSQRjB7pLVJPt5C9saIC
* src/third_party/android_sdk/public: iIwhhDox5E-mHgwUhCz8JACWQCpUjdqt5KTY9VLugKQC..ppQ4TnqDvBHQ3lXx5KPq97egzF5X2FFyOrVHkGmiTMQC
* src/third_party/android_sdk/public: 4Y2Cb2LGzoc-qt-oIUIlhySotJaKeE3ELFedSVe6Uk8C..MSnxgXN7IurL-MQs1RrTkSFSb8Xd1UtZjLArI8Ty1FgC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ed9fcf3f70..9e5dbd8b46
* src/tools: f58f33bca1..a9a4b8fc7b
DEPS diff: 6ae0f0cd4c..bf62d746a4/DEPS

No update to Clang.

Bug: chromium:891996
Change-Id: I773d6fa90e8083d934c84eecc1cb9d7d4496eca0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142235
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28311}
2019-06-18 17:10:06 +00:00
Oleh Prypin
240b893fd2 Reland "Link fewer X11-related libraries"
This is a reland of 829a5dce90
(unchanged)
Downstream is fixed in https://chromium-review.googlesource.com/1651786

Original change's description:
> Link fewer X11-related libraries
>
> Use an explicit list and don't add X11 dependency to rtc_base.
>
> Allow skipping code that depends on rarer extensions such as Xdamage, Xfixes.
>
> Bug: None
> Change-Id: Icb8d20a267358f5cd3f1ff2af31a669e0670d2f6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140865
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28204}

Bug: None
Change-Id: I51c60f7713eb49889cebbca2242f33b81b0aef39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141301
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28218}
2019-06-11 07:34:49 +00:00
Marina Ciocea
4606ded90c Revert "Link fewer X11-related libraries"
This reverts commit 829a5dce90.

Reason for revert: Suspect of breaking autoroll to chromium: https://crrev.com/c/1651414.

Original change's description:
> Link fewer X11-related libraries
> 
> Use an explicit list and don't add X11 dependency to rtc_base.
> 
> Allow skipping code that depends on rarer extensions such as Xdamage, Xfixes.
> 
> Bug: None
> Change-Id: Icb8d20a267358f5cd3f1ff2af31a669e0670d2f6
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140865
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28204}

TBR=zijiehe@chromium.org,mbonadei@webrtc.org,henrika@webrtc.org,oprypin@webrtc.org,guidou@webrtc.org

Change-Id: Ie106de700fc017dafa603d15eaec88c4790dacfb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141300
Reviewed-by: Marina Ciocea <marinaciocea@webrtc.org>
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28215}
2019-06-10 19:53:42 +00:00
Oleh Prypin
829a5dce90 Link fewer X11-related libraries
Use an explicit list and don't add X11 dependency to rtc_base.

Allow skipping code that depends on rarer extensions such as Xdamage, Xfixes.

Bug: None
Change-Id: Icb8d20a267358f5cd3f1ff2af31a669e0670d2f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140865
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28204}
2019-06-10 08:44:17 +00:00
Mirko Bonadei
20574f48b5 Testing no /DUNICODE assumptions with Win more configs bots.
This CL will avoid regressions after the cleanup done in
https://webrtc-review.googlesource.com/c/src/+/128904.

Bug: None
Change-Id: Id01f554a6fb0972139e7810b7523c91321398c0f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130100
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27328}
2019-03-28 08:46:37 +00:00
Danil Chapovalov
4f779c6aec Remove legacy empty task_queue BUILD targets and build arg
Now that they are unused

Bug: webrtc:10191
Change-Id: Id5f1b70ed8e084555ca809fef2a75359266f2ca1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126980
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27070}
2019-03-12 10:06:04 +00:00
Mirko Bonadei
fc52b912a3 Implicitly suppress //build/config/clang:find_bad_constructs.
Since there is no way to enable/disable these diagnostics at runtime,
this CL moves the suppression into the rtc_* templates in order to
remove the need to explicitly add the snippet of code needed to
suppress it (currently copy/pasted in 144 locations).

The diagnostic that causes the most problems is the one about "complex
class/struct explicit ctor/dtor" [1] because WebRTC doesn't find
it useful enough.

Other diagnostics are good (for example the one that warns about
using "virtual" instead of "override", but that will be covered by
this clang-tidy check [2]) while others are Chromium related so
they have never triggered.

[1] - https://cs.chromium.org/chromium/src/tools/clang/plugins/FindBadConstructsConsumer.cpp?l=147-167&rcl=b4bebe1aa15dba7ca5fcc6456a81a55665327c3a
[2] - https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-override.html

Bug: webrtc:163
Change-Id: Icbf27efa5b369100a31e6a32df1a0913729b3b34
Reviewed-on: https://webrtc-review.googlesource.com/c/125088
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26918}
2019-03-01 10:18:17 +00:00
Jiawei Ou
0874530b78 Add gn configs to remove the dependency to audio and video codecs.
Actually, I don't think there is any strong reason to keep these
deps in `webrtc` target except some downstream projects need it.

Making a GN config for now.

Bug: webrtc:10306
Change-Id: Id714faeabf4daaf3cc88d1f6224ae89ca8715e48
Reviewed-on: https://webrtc-review.googlesource.com/c/122420
Commit-Queue: Jiawei Ou <ouj@fb.com>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26653}
2019-02-12 20:41:25 +00:00
Sami Kalliomäki
68d58602e2 Override default manifest from Chromium in WebRTC.
This allows rolling Chromium CL that removes API level 16 support:
https://chromium-review.googlesource.com/c/chromium/src/+/1423117

Bug: webrtc:10238, chromium:923477, chromium:922656
Change-Id: Icbed09256a4627dcae81230cd9a41a7f08c6a4d6
Reviewed-on: https://webrtc-review.googlesource.com/c/119580
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26389}
2019-01-24 13:00:49 +00:00
Thomas Anderson
6fde78cb2f Prevent mac_framework_bundle configs from getting reset
If the invoker sets "configs", the default configs would be overridden
by the forward_variables_from() call.  This fixes linker errors for
certain shared libraries on Mac Asan when rolling in the change that
switches Mac to build with our in-tree libc++.

BUG=chromium:924121
R=yvesg
CC=thakis

Change-Id: If9db41b724f891034086c64dc7ba38a6406aef92
Reviewed-on: https://webrtc-review.googlesource.com/c/119286
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Tom Anderson <thomasanderson@google.com>
Cr-Commit-Position: refs/heads/master@{#26377}
2019-01-23 19:21:46 +00:00
Mirko Bonadei
ee0a85cee2 Roll //third_party/ffmpeg and disable H264 when MSVC is used.
FFmpeg hasn't been rolled since [1] in order to avoid to break MSVC
trybots (//third_party/ffmpeg dropped MSVC support, in theory it is
possible to bring the support back but some work is needed every time
//third_party/ffmpeg gets updated).

Not rolling //third_party/ffmpeg is not enough to keep the Chromium
Roll working because -Wstring-plus-int becomes more chatty with clang 350768
and it has been suppressed in //third_party/ffmpeg/BUILD.gn [2].

Since WebRTC needs to update clang, //third_party/ffmpeg needs to be
updated. The only way to do it without fixing MSVC errors in
//third_party/ffmpeg is to enforce rtc_use_h264=False when MSVC is used.

PSA: https://groups.google.com/forum/#!topic/discuss-webrtc/cfkPPq5nvNE.

[1] - https://webrtc-review.googlesource.com/78402
[2] - https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/1376376

Bug: webrtc:9213
Change-Id: I36bd7fb2db21012760e4ff7a791d81350e402ec0
Reviewed-on: https://webrtc-review.googlesource.com/c/116982
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26257}
2019-01-15 10:25:01 +00:00
Anders Carlsson
45340ca824 Remove legacy video codec factories.
Removes the deprecated video codec factories and the related flag and
helper classes.

Bug: webrtc:7925
Change-Id: I0a6d1666ece9ad074fefc79b626ba241765e1b98
Reviewed-on: https://webrtc-review.googlesource.com/c/113940
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26245}
2019-01-14 14:56:40 +00:00