This is the first new style trace event so this CL adds and updates
WebRTCs Perfetto configuration.
* Changes all #includes to target "third_party/perfetto". Added this
to DEPS.
* Expose the Perfetto public config in the "tracing" group using
an all_dependent_configs statement. This means the config is included
in all parts that include the "//:tracing" group. However, direct
perfetto includes are banned per DEPS.
* In order to expose Perfetto types (ie Flow/TerminatingFlow) the
perfetto headers are a dependancy on all targets. This should not
affect binary size as these are not used when perfetto is not enabled
and will not be linked.
Bug: b/42226290
Change-Id: I5711d81dae95ee907cbcd41bf1ee9b55d2ec595c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/349161
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/main@{#42197}
This adds Perfetto support to WebRTC with a GN flag rtc_use_perfetto.
The configuration of perfetto depends on whether or not webrtc is
build within Chrome or not. When in Chrome, WebRTC will depend on
//third_party/perfetto:libperfetto. When building standalone, specific includes required for Perfetto are exposed with the library webrtc_libperfetto.
The perfetto trace API is exposed with a header export in
trace_event.h which is used instead of the legacy API.
The addition of Perfetto means there are 4 compilation modes for
tracing in WebRTC,
1. No tracing implementation.
2. Legacy tracing (AddTraceEvent/GetCategoryEnabled).
3.a. Perfetto statically linked (webrtc_libperfetto).
3.b. Perfetto in Chrome (Chrome's libperfetto).
This CL removes the tracing expectations from
rtc_stats_integrationtest.cc because those directly used the old API.
Integration into Chrome is a follow up CL which depends on
https://chromium-review.googlesource.com/c/chromium/src/+/5471691.
Tested: Ran Chrome with Perfetto and traces appear. WebRTC Unit test tracing working: https://ui.perfetto.dev/#!?s=04ea2613ea36b814394639a1ec4b60be5b5097527f1a485995ecc13469885468
Bug: webrtc:15917
Change-Id: I537d79dc247c2b759689910c621087286a4d8fdc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347880
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mikhail Khokhlov <khokhlov@google.com>
Cr-Commit-Position: refs/heads/main@{#42166}
Also change the generation of compile_commands.json so that it
does not include reclient arguments.
Bug: webrtc:15874
Change-Id: I1bc2e7a8768a3467d31528d584f7e70d946a3301
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347900
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42110}
Since iwyu is now deprecated, we need to enable use of include-cleaner.
This approach gives some error messages when running, but does the job.
Bug: webrtc:15874
Change-Id: I431deef0f2e5ce99eb256a4d82aa32769ae58b41
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347642
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42085}
The intent is to catch compile errors when tracing is turned off.
Bug: None
Change-Id: I48a42e53e7bd8053984b7d0687b1f6abe538cba1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/333760
Reviewed-by: Christoffer Dewerin <jansson@google.com>
Auto-Submit: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41474}
This test drives the new tools_webrtc/remove_extra_namespace.py tool.
Bug: None
Change-Id: I9b590aa1213e4cace2d64d555f4dafd893f03606
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/327021
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41141}
This will allow to stop CLs on CQ in case the CL is adding or removing
a field trial without updating the field trial registry.
This only affects debug and release bots but not pure_release bots
since they are used for performance tests.
Bug: webrtc:14154
Change-Id: Iab277fd4791b6f0cfb5304fd4e39a8519ea71198
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/321880
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40877}
This is part of effort to enable HEVC for WebRTC. Parser added here to support parsing of QP/picture size for bitstream, for dynamic adaptation and stream metadata abstraction.
Bug: webrtc:13485
Change-Id: I2fbdf210e72e77989ca87ce285da174df5bedd5c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298421
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40572}
Previously, this script hardcoded deployment targets for device,
simulator, and Catalyst builds. This commit turns those into minimums
and allows callers to pass a higher version with --deployment-target.
Bug: None
Change-Id: I9398a8466dfa35ebac5e198aef6ec4f521054cc6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314420
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40506}
This CL also adds the prefix RTC_TESTING to `ios_internal_pure_release_bot_arm64` in order to avoid ODR
violations.
Bug: b/292472934
Change-Id: If63020e679c8670b4c797217eb38fc8c2954d422
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/313240
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40476}
Now that chromium/base has rolled and switched the android_ndk_root to
the new android_toolchain directory, remove the stale Android NDK. Also
update the license generation and build helper scripts to remove
references to the previous NDK.
Bug: chromium:1448383
Test: Verified build of WebRTC.
Change-Id: Ic2b6009f454d67da60231bbcbb5c27bde8407ef3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307541
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40246}
Chromium is being updated to 'android_toolchain', which means the
'android_ndk' DEPS is no longer present. Remove it from the roller until
the transition is complete, then it can be removed from this script
entirely.
Bug: chromium:1448383
Test: Verified fix in libyuv, which uses identical roller script.
Change-Id: I0b07aefaa8edf0a8f87b2accfbcffd4a2307f9f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/308160
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Prashanth Swaminathan <prashanthsw@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40243}
The Android NDK dependency is moving to a CIPD bucket to reduce the
checkout cost and to eventually move to NDK v25. This introduces the
NDK into an 'android_toolchain' directory. Following the roll of
chromium/base in this repository, a second change will delete the old
'android_ndk' checkout. As a result, the checkout size of this
repository will temporarily increase.
This change also updates the license generation scripts and build
helpers to ensure the android_toolchain is also accounted for.
Bug: chromium:1448383
Test: Verified local builds of WebRTC.
Change-Id: Ibe667be241e5a454d884482061dd10b9850be25f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307540
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40239}
This allows users to turn debugging on from the command line
instead of modifying the file.
Bug: None
Change-Id: I37d42a8b745f60720e5b396d695d3b2dda444b8b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306222
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40196}
* The 'deps_os' list processed 'unix' twice. The former is likely meant
to process 'linux' instead.
* The roller skips dependencies that do not an '@' to split on. However,
it is valid to specify a DEPS that has no specific revision. In this
case, gclient assumes to pull HEAD.
Bug: webrtc:15215
Change-Id: Idf2f51ebd55f00a96b7b7f4a1935cd69881cabd8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307240
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Cr-Commit-Position: refs/heads/main@{#40189}
OpenSSL removed ability to generate C code:
a18cf8fc63
CL rewrites generation script to use pure Python asn1crypto library.
The changes in generated code leading to huge diff in generated file:
- Certificate array names are based on certificate fingerprints instead
of semi-human readable names, which were not referenced externally;
- Order of arrays in generated file matches the order of certificates
as they are appeared in source pem file. Previously re-ordering happen
due to writing temporary files on disk;
Bug: webrtc:11710
Change-Id: Ie7a97b3658f6ccb397f0fd0c21d341934a2cc12e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304642
Commit-Queue: Yury Yarashevich <yura.yaroshevich@gmail.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40039}
In the previous commit, I changed to modify deps_content,
but it was no-op since the content was already written to the DEPS file.
Bug: None
Change-Id: I278fbbb628422a42e616708f00529e935d75cd1f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292660
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@google.com>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#39268}
By making this change, we ensure that these variables are not outdated.
Also, remove unnecessary list calls to python generators.
Bug: None
Change-Id: I53babe03da1cb78cf5dc127b7e1f753b63be20de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292620
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#39267}
Also set xcode back to xcode 13 for iOS 14.
Change-Id: Ic5475d274895b5f86e4fea36805dec4486adc79b
Bug: b/264630045
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290894
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39094}
The goal of this bot is to replace ios_sim_x64_dbg_ios(12, 13 and 14).
Change-Id: I6d8f5004a9440f5fd8cb96730dc2dbb4abba2e61
Bug: b/264630045
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290893
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39086}