Using CRYPTO_BUFFERs instead of legacy X509 objects offers memory and
security gains, and will provide binary size improvements as well once
the default list of built-in certificates can be removed; the code
dealing with them still depends on the X509 API.
Implemented by splitting openssl_identity and openssl_certificate
into BoringSSL and vanilla OpenSSL implementations.
Bug: webrtc:11410
Change-Id: Idc043462faac5e4ab1b75bedab2057197f80aba6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174120
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: David Benjamin <davidben@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32811}
Adds a new "rtc_pipewire_version" build option to specify version of
PipeWire we want to build against. We use version "0.2" by default
which is version of PipeWire we currently have in sysroot and which
is supported even on older systems like RHEL7 and Debian.
Bug: chromium:1146942
Change-Id: Ib74b52fa87623a3f960e419916b01586aaeba47f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195441
Commit-Queue: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32768}
When building WebRTC.framework, building the XCTest test runner is a
problem because it requires Chromium's //base checkout. This workaround
allows to skip that.
No-Presubmit: True
Bug: webrtc:12134
Change-Id: I0d99bd03f27911f46679ee91b0120e7121d1c7d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196081
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32732}
After upgrading to xcode 12, some Gtest tests have started to randomly
fail. The solution around this problem is to build and run GTests as
XCTests.
In order to achieve that, the CL sets enable_run_ios_unittests_with_xctest
to true in all iOS builds and adds a dependency on
//base/test:google_test_runner for each Gtest that needs to run as an
XCTest.
Real XCTest don't need the dependency and they are marked with the
rtc_test() argument `is_xctest=true` (apprtcmobile_tests, sdk_unittests
and sdk_framework_unittests).
This CL is based on [1] which passes --xctest to the runner and uses
--undefok to avoid to crash when absl/flags doesn't recognize the
flag --enable-run-ios-unittests-with-xctest (absl/flags cannot have "-"
in flags so WebRTC binaries cannot define that flag). To workaround the
issue, WebRTC tests always behave like
--enable-run-ios-unittests-with-xctest is always set (by linking only
with //base/test:google_test_runner to run iOS tests).
This fixes iOS12 and iOS13 tests but not iOS14 on which some tests
are failing because of restricted access to resources (this will be
addressed in another CL).
Long term, this solution might cause problems when Chromium decides
to update test() GN template and/or the test launcher, so WebRTC should
plan a better integration with Chromium's iOS infra.
[1] - https://chromium-review.googlesource.com/c/chromium/tools/build/+/2550656
Bug: webrtc:12134
Change-Id: I24c731dee0310e02ae1bbe6c23d359d6fcd18f17
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193620
Reviewed-by: Jeremy Leconte <jleconte@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32716}
This is a reland of 37d41eea04
Original change's description:
> Reland "Remove placeholder Obj-C headers and use angle-bracketed headers."
>
> This is a reland of 6bfad33fd8
>
> Original change's description:
> > Remove placeholder Obj-C headers and use angle-bracketed headers.
> >
> > sdk/objc/Framework/Headers are just a placeholder headers
> > for backward compatibility and I don't think it is really need this for now.
> > Instead, we can generate the framework header in
> > ios/mac_framework_bundle_with_umbrella_header.
> > Also clang supports the -Wquoted-include-in-framework-header warning,
> > and in Xcode 12, it's in Xcode's recommended settings. This warnings
> > can be avoided by replacing double-quoted includes with angle-bracketed
> > includes when generate framework headers.
> >
> > No-Presubmit: True
> > Bug: webrtc:9627, webrtc:11984
> > Change-Id: I3f6258dfa77a5acee669614005b2747feee35e39
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185920
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#32343}
>
> TBR=tommi@webrtc.org, andersc@webrtc.org
>
> No-Presubmit: True
> Bug: webrtc:9627
> Bug: webrtc:11984
> Change-Id: I8f44232f1a70b8ff2ce6a4b4792f0a18472fcec3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/187280
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32429}
TBR=tommi@webrtc.org, andersc@webrtc.org
No-Presubmit: True
Bug: webrtc:9627
Bug: webrtc:11984
Change-Id: Ida92b8864dffaea37d3053d3c00381644988b54e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189781
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32470}
This reverts commit 37d41eea04.
Reason for revert: Sorry for the back and forth here. I need to revert again because I need to fix a downstream project. The re-landing should
be without changes.
Original change's description:
> Reland "Remove placeholder Obj-C headers and use angle-bracketed headers."
>
> This is a reland of 6bfad33fd8
>
> Original change's description:
> > Remove placeholder Obj-C headers and use angle-bracketed headers.
> >
> > sdk/objc/Framework/Headers are just a placeholder headers
> > for backward compatibility and I don't think it is really need this for now.
> > Instead, we can generate the framework header in
> > ios/mac_framework_bundle_with_umbrella_header.
> > Also clang supports the -Wquoted-include-in-framework-header warning,
> > and in Xcode 12, it's in Xcode's recommended settings. This warnings
> > can be avoided by replacing double-quoted includes with angle-bracketed
> > includes when generate framework headers.
> >
> > No-Presubmit: True
> > Bug: webrtc:9627, webrtc:11984
> > Change-Id: I3f6258dfa77a5acee669614005b2747feee35e39
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185920
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#32343}
>
> TBR=tommi@webrtc.org, andersc@webrtc.org
>
> No-Presubmit: True
> Bug: webrtc:9627
> Bug: webrtc:11984
> Change-Id: I8f44232f1a70b8ff2ce6a4b4792f0a18472fcec3
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/187280
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32429}
TBR=mbonadei@webrtc.org,andersc@webrtc.org,tommi@webrtc.org,daniel.l@hpcnt.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:9627
Bug: webrtc:11984
Change-Id: I006d50c94ad2e336c8a56d49d5ce1c768685f696
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189542
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32432}
This is a reland of 6bfad33fd8
Original change's description:
> Remove placeholder Obj-C headers and use angle-bracketed headers.
>
> sdk/objc/Framework/Headers are just a placeholder headers
> for backward compatibility and I don't think it is really need this for now.
> Instead, we can generate the framework header in
> ios/mac_framework_bundle_with_umbrella_header.
> Also clang supports the -Wquoted-include-in-framework-header warning,
> and in Xcode 12, it's in Xcode's recommended settings. This warnings
> can be avoided by replacing double-quoted includes with angle-bracketed
> includes when generate framework headers.
>
> No-Presubmit: True
> Bug: webrtc:9627, webrtc:11984
> Change-Id: I3f6258dfa77a5acee669614005b2747feee35e39
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185920
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32343}
TBR=tommi@webrtc.org, andersc@webrtc.org
No-Presubmit: True
Bug: webrtc:9627
Bug: webrtc:11984
Change-Id: I8f44232f1a70b8ff2ce6a4b4792f0a18472fcec3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/187280
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32429}
This reverts commit 6bfad33fd8.
Reason for revert: Breaks downstream project.
Original change's description:
> Remove placeholder Obj-C headers and use angle-bracketed headers.
>
> sdk/objc/Framework/Headers are just a placeholder headers
> for backward compatibility and I don't think it is really need this for now.
> Instead, we can generate the framework header in
> ios/mac_framework_bundle_with_umbrella_header.
> Also clang supports the -Wquoted-include-in-framework-header warning,
> and in Xcode 12, it's in Xcode's recommended settings. This warnings
> can be avoided by replacing double-quoted includes with angle-bracketed
> includes when generate framework headers.
>
> No-Presubmit: True
> Bug: webrtc:9627, webrtc:11984
> Change-Id: I3f6258dfa77a5acee669614005b2747feee35e39
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185920
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32343}
TBR=mbonadei@webrtc.org,andersc@webrtc.org,tommi@webrtc.org,daniel.l@hpcnt.com
Change-Id: I7a6f72ecb8feebf06ad0fe0ecef071da43b98fca
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9627
Bug: webrtc:11984
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/187160
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32344}
sdk/objc/Framework/Headers are just a placeholder headers
for backward compatibility and I don't think it is really need this for now.
Instead, we can generate the framework header in
ios/mac_framework_bundle_with_umbrella_header.
Also clang supports the -Wquoted-include-in-framework-header warning,
and in Xcode 12, it's in Xcode's recommended settings. This warnings
can be avoided by replacing double-quoted includes with angle-bracketed
includes when generate framework headers.
No-Presubmit: True
Bug: webrtc:9627, webrtc:11984
Change-Id: I3f6258dfa77a5acee669614005b2747feee35e39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185920
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32343}
`is_desktop_linux` is the same as `is_linux` now and will be deprecated
Bug: chromium:1132395
Change-Id: If3746da85558d20a0c321357c8dd3bcadfee7a9b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186424
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Xiaohan Wang <xhwang@google.com>
Cr-Commit-Position: refs/heads/master@{#32318}
This is a reland of ad148272b8
Original change's description:
> Activating AVX2 support by default
>
> This CL activates the newly added AVX2 support by default.
> The activation is done beneath a kill-switch.
>
> Beyond the above, the CL also changes an incorrect DCHECK_GT
> to a DCHECK_GE.
>
> Bug: webrtc:11663
> Change-Id: I231ccb2f5efabf74cd8190411daa954b2b94a2a0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183042
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32193}
Bug: webrtc:11663, chromium:1134234
Change-Id: I0cb34cf08d4d14bc3aee055254493c9c9ee8faa0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186401
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32303}
This reverts commit 61709a3233.
Reason for revert: Some downstream projects have issues building this
change due to the inclusion of the <windows.graphics.capture.h> header
which is newly available in the Win 10 SDK v10.0.19041.
To get around this issue for now, this change adds an off-by-default
build flag for these files. However, in the future we will want to
toggle this flag on, and the downstream projects will either need to
update their SDK versions or toggle this flag in their WebRTC clone.
Original change's description:
> Revert "Begin implementing WGC CaptureFrame"
>
> This reverts commit e820cef534.
>
> Reason for revert: Breaks downstream client. I will investigate and
> get back with a suggestion to fix.
>
> Original change's description:
> > Begin implementing WGC CaptureFrame
> >
> > This change introduces the design that will allow us to deliver frames
> > synchronously to callers despite the Windows.Graphics.Capture APIs being
> > inherently asynchronous.
> >
> > We achieve this by having WindowCapturerWinWgc create and maintain a
> > WgcCaptureSession object for each window that it is asked to capture a
> > frame for. The capture session object will be the class that actually
> > uses the WGC APIs, and it will store the frames it receives in a frame
> > pool and deliver them via GetMostRecentFrame.
> >
> > The next CL will add the necessary functionality to the
> > WgcCaptureSession class.
> >
> > Bug: webrtc:9273
> > Change-Id: I44e164f4874503d8ccc8e6a210e74f9c8458f6c4
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184220
> > Commit-Queue: Austin Orion <auorion@microsoft.com>
> > Reviewed-by: Tommi <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#32240}
>
> TBR=mbonadei@webrtc.org,jamiewalch@chromium.org,tommi@webrtc.org,auorion@microsoft.com
>
> Change-Id: I114944357ce5be7d1e2da817703dc95d544aa99a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9273
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186045
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32248}
Bug: webrtc:9273
Change-Id: I9644fbf8f1fd1a84cb716176b8f14e3683a3f7cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186423
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32286}
This is a reland of ad148272b8
Original change's description:
> Activating AVX2 support by default
>
> This CL activates the newly added AVX2 support by default.
> The activation is done beneath a kill-switch.
>
> Beyond the above, the CL also changes an incorrect DCHECK_GT
> to a DCHECK_GE.
>
> Bug: webrtc:11663
> Change-Id: I231ccb2f5efabf74cd8190411daa954b2b94a2a0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183042
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32193}
Bug: webrtc:11663
Change-Id: Ib41dc1d1c5865f2828699c462939d15d5562df47
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186262
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32270}
This reverts commit ad148272b8.
Reason for revert: Speculative revert to investigate test failures
Original change's description:
> Activating AVX2 support by default
>
> This CL activates the newly added AVX2 support by default.
> The activation is done beneath a kill-switch.
>
> Beyond the above, the CL also changes an incorrect DCHECK_GT
> to a DCHECK_GE.
>
> Bug: webrtc:11663
> Change-Id: I231ccb2f5efabf74cd8190411daa954b2b94a2a0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183042
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32193}
TBR=mbonadei@webrtc.org,saza@webrtc.org,peah@webrtc.org,kwiberg@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:11663
Change-Id: Ibb019e8c702dce45ebf47f1c1e8db19069b4964d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186081
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32259}
This is a reland of ad148272b8
Original change's description:
> Activating AVX2 support by default
>
> This CL activates the newly added AVX2 support by default.
> The activation is done beneath a kill-switch.
>
> Beyond the above, the CL also changes an incorrect DCHECK_GT
> to a DCHECK_GE.
>
> Bug: webrtc:11663
> Change-Id: I231ccb2f5efabf74cd8190411daa954b2b94a2a0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183042
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32193}
Bug: webrtc:11663
Change-Id: I669435c2f4e451ee0766d809443484f2dde09d8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185482
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32200}
This reverts commit ad148272b8.
Reason for revert: Causing test failures downstream.
Original change's description:
> Activating AVX2 support by default
>
> This CL activates the newly added AVX2 support by default.
> The activation is done beneath a kill-switch.
>
> Beyond the above, the CL also changes an incorrect DCHECK_GT
> to a DCHECK_GE.
>
> Bug: webrtc:11663
> Change-Id: I231ccb2f5efabf74cd8190411daa954b2b94a2a0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183042
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32193}
TBR=mbonadei@webrtc.org,saza@webrtc.org,peah@webrtc.org,kwiberg@webrtc.org
Change-Id: If2287a0a4b37931ce5f85baae093a66b19d0a78b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11663
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185481
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32196}
This CL activates the newly added AVX2 support by default.
The activation is done beneath a kill-switch.
Beyond the above, the CL also changes an incorrect DCHECK_GT
to a DCHECK_GE.
Bug: webrtc:11663
Change-Id: I231ccb2f5efabf74cd8190411daa954b2b94a2a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183042
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32193}
and make git blame point to a public description
NOTRY=true
BUG=webrtc:11947
Change-Id: Ic914c30243be8fd301140bc9d9489ff5869c6461
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184502
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#32130}
This reverts commit 60c25a303f.
Reason for revert: Breaks downstream iOS testers.
From an offline discussion, the GN argument is not needed and only
the 3 xctest needs the behavior of that argument. So I am reverting
this one and preparing 2 CLs to properly fix.
Original change's description:
> Reland "Switch from "rtc_ios_xctest_test" to "rtc_test"."
>
> This is a reland of 7a73c772e2
>
> The change to fix the downstream issue is just the switch from
> "test" to "rtc_test" which is a GN template that expands to
> "test".
>
> Original change's description:
> > Switch from "rtc_ios_xctest_test" to "test".
> >
> > Using the "test" GN template instead of the "ios_xctest_test" one we
> > will get iOS support for isolates via MB and GN for free, making it
> > easier to migrate the iOS recipe and fix bugs.webrtc.org/11604.
> >
> > Bug: webrtc:11881
> > Change-Id: I72b90f8494c473fa567e6296caf7a771e4caba92
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182680
> > Reviewed-by: Dirk Pranke <dpranke@google.com>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#32064}
>
> Bug: webrtc:11881
> Change-Id: Ia5338859f4e893b9f19bcca6b26b8cf66d5984e8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183766
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Cr-Commit-Position: refs/heads/master@{#32075}
TBR=mbonadei@webrtc.org,dpranke@google.com,jeffyoon@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: webrtc:11881, webrtc:11937
Change-Id: Ie6eea6b2a8ba5c46af40b115c6db4fd0a38a25b0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184340
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32112}
making it more visible where fixed point is preferred
BUG=None
Change-Id: I72c135ebea9c67739fc9c1747433f1a574319d39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183980
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#32081}
This is a reland of 7a73c772e2
The change to fix the downstream issue is just the switch from
"test" to "rtc_test" which is a GN template that expands to
"test".
Original change's description:
> Switch from "rtc_ios_xctest_test" to "test".
>
> Using the "test" GN template instead of the "ios_xctest_test" one we
> will get iOS support for isolates via MB and GN for free, making it
> easier to migrate the iOS recipe and fix bugs.webrtc.org/11604.
>
> Bug: webrtc:11881
> Change-Id: I72b90f8494c473fa567e6296caf7a771e4caba92
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182680
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32064}
Bug: webrtc:11881
Change-Id: Ia5338859f4e893b9f19bcca6b26b8cf66d5984e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183766
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Cr-Commit-Position: refs/heads/master@{#32075}
Currently is_linux is set to true on Chrome OS build,
but it is planned to be set false. This CL is the preparation
to keep the compatibility.
Bug: chromium:1110266
Test: Build locally.
Change-Id: Ic79a202b0b3baeff157955cd03a07556bfb958a8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183860
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Hidehiko Abe <hidehiko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#32073}
This reverts commit 7a73c772e2.
Reason for revert: Breaks downstream test.
Original change's description:
> Switch from "rtc_ios_xctest_test" to "test".
>
> Using the "test" GN template instead of the "ios_xctest_test" one we
> will get iOS support for isolates via MB and GN for free, making it
> easier to migrate the iOS recipe and fix bugs.webrtc.org/11604.
>
> Bug: webrtc:11881
> Change-Id: I72b90f8494c473fa567e6296caf7a771e4caba92
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182680
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32064}
TBR=mbonadei@webrtc.org,dpranke@google.com,jeffyoon@google.com
Change-Id: Ia4d6257fee42661c10303217980bd0a9126d2709
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11881
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183765
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32068}
Using the "test" GN template instead of the "ios_xctest_test" one we
will get iOS support for isolates via MB and GN for free, making it
easier to migrate the iOS recipe and fix bugs.webrtc.org/11604.
Bug: webrtc:11881
Change-Id: I72b90f8494c473fa567e6296caf7a771e4caba92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182680
Reviewed-by: Dirk Pranke <dpranke@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32064}
This is a reland of 1ca8d87239
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}
Bug: webrtc:11663
Change-Id: I92f5832a42c0314853c9fead46425c08e2040dc0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181800
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31945}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
`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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
This is a reland of 0cc42d4738
Original change's description:
> Reland "Default to dlopening the PipeWire."
>
> This is a reland of a099877d89
>
> Original change's description:
> > Reland "Default to dlopening the PipeWire."
> >
> > This is a reland of a13be01901
> >
> > Original change's description:
> > > Default to dlopening the PipeWire.
> > >
> > > Reuse the existing infra from Chromium to do that. Additionally the
> > > target_gen_dir needs to the added to the include directories, otherwise
> > > the Chromium build will fail as it won't find the generated stubs. Also the
> > > pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
> > > require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
> > > doesn't work with them correctly. With all these changes in place the PipeWire
> > > support is enabled when compiling on Linux.
> > >
> > > Bug: chromium:682122
> > > Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/111081
> > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > Reviewed-by: Brave Yao <braveyao@webrtc.org>
> > > Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
> > > Cr-Commit-Position: refs/heads/master@{#25720}
> >
> > Bug: chromium:682122
> > Change-Id: I3cca3d4d961dc7a088346c8fd3c970d3dfde3b79
> > Reviewed-on: https://webrtc-review.googlesource.com/c/113040
> > Reviewed-by: Weiyong Yao <braveyao@chromium.org>
> > Reviewed-by: Brave Yao <braveyao@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> > Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#25981}
>
> Bug: chromium:682122
> Change-Id: Ief26c93069f946f981340664a267fcb412229285
> Reviewed-on: https://webrtc-review.googlesource.com/c/114163
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26004}
Bug: chromium:682122
Change-Id: I0a4ea7b39be5970f26df6dbc3e437dd63cdb8708
Reviewed-on: https://webrtc-review.googlesource.com/c/116280
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26154}
This reverts commit 0cc42d4738.
Reason for revert: Sorry, broke WebRTC roll to Chromium again: https://chromium-review.googlesource.com/c/chromium/src/+/1377299. This time the define now set enabled code around the feature flag already landed and there were failures related to that. I suggest to revert that Chromium CL and re-land it after this CL has landed and been rolled into Chromium (if possible to do so).
Original change's description:
> Reland "Default to dlopening the PipeWire."
>
> This is a reland of a099877d89
>
> Original change's description:
> > Reland "Default to dlopening the PipeWire."
> >
> > This is a reland of a13be01901
> >
> > Original change's description:
> > > Default to dlopening the PipeWire.
> > >
> > > Reuse the existing infra from Chromium to do that. Additionally the
> > > target_gen_dir needs to the added to the include directories, otherwise
> > > the Chromium build will fail as it won't find the generated stubs. Also the
> > > pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
> > > require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
> > > doesn't work with them correctly. With all these changes in place the PipeWire
> > > support is enabled when compiling on Linux.
> > >
> > > Bug: chromium:682122
> > > Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/111081
> > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > Reviewed-by: Brave Yao <braveyao@webrtc.org>
> > > Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
> > > Cr-Commit-Position: refs/heads/master@{#25720}
> >
> > Bug: chromium:682122
> > Change-Id: I3cca3d4d961dc7a088346c8fd3c970d3dfde3b79
> > Reviewed-on: https://webrtc-review.googlesource.com/c/113040
> > Reviewed-by: Weiyong Yao <braveyao@chromium.org>
> > Reviewed-by: Brave Yao <braveyao@webrtc.org>
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> > Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#25981}
>
> Bug: chromium:682122
> Change-Id: Ief26c93069f946f981340664a267fcb412229285
> Reviewed-on: https://webrtc-review.googlesource.com/c/114163
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26004}
TBR=phoglund@webrtc.org,mbonadei@webrtc.org,oprypin@webrtc.org,braveyao@webrtc.org,braveyao@chromium.org,tomas.popela@gmail.com
Change-Id: I9ca52c61210e94182dd6b6a26a136c7f79a2dd0f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:682122
Reviewed-on: https://webrtc-review.googlesource.com/c/114427
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Henrik Grunell <henrikg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26014}
This is a reland of a099877d89
Original change's description:
> Reland "Default to dlopening the PipeWire."
>
> This is a reland of a13be01901
>
> Original change's description:
> > Default to dlopening the PipeWire.
> >
> > Reuse the existing infra from Chromium to do that. Additionally the
> > target_gen_dir needs to the added to the include directories, otherwise
> > the Chromium build will fail as it won't find the generated stubs. Also the
> > pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
> > require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
> > doesn't work with them correctly. With all these changes in place the PipeWire
> > support is enabled when compiling on Linux.
> >
> > Bug: chromium:682122
> > Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
> > Reviewed-on: https://webrtc-review.googlesource.com/c/111081
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Brave Yao <braveyao@webrtc.org>
> > Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
> > Cr-Commit-Position: refs/heads/master@{#25720}
>
> Bug: chromium:682122
> Change-Id: I3cca3d4d961dc7a088346c8fd3c970d3dfde3b79
> Reviewed-on: https://webrtc-review.googlesource.com/c/113040
> Reviewed-by: Weiyong Yao <braveyao@chromium.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25981}
Bug: chromium:682122
Change-Id: Ief26c93069f946f981340664a267fcb412229285
Reviewed-on: https://webrtc-review.googlesource.com/c/114163
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26004}
This reverts commit a099877d89.
Reason for revert: Breaks WebRTC roll into Chromium. See https://chromium-review.googlesource.com/c/chromium/src/+/1373891:
In file included from ../../third_party/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc:11:
In file included from ../../third_party/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.h:16:
../../third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.h:16:10: fatal error: 'pipewire/pipewire.h' file not found
#include <pipewire/pipewire.h>
^~~~~~~~~~~~~~~~~~~~~
Original change's description:
> Reland "Default to dlopening the PipeWire."
>
> This is a reland of a13be01901
>
> Original change's description:
> > Default to dlopening the PipeWire.
> >
> > Reuse the existing infra from Chromium to do that. Additionally the
> > target_gen_dir needs to the added to the include directories, otherwise
> > the Chromium build will fail as it won't find the generated stubs. Also the
> > pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
> > require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
> > doesn't work with them correctly. With all these changes in place the PipeWire
> > support is enabled when compiling on Linux.
> >
> > Bug: chromium:682122
> > Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
> > Reviewed-on: https://webrtc-review.googlesource.com/c/111081
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Brave Yao <braveyao@webrtc.org>
> > Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
> > Cr-Commit-Position: refs/heads/master@{#25720}
>
> Bug: chromium:682122
> Change-Id: I3cca3d4d961dc7a088346c8fd3c970d3dfde3b79
> Reviewed-on: https://webrtc-review.googlesource.com/c/113040
> Reviewed-by: Weiyong Yao <braveyao@chromium.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25981}
TBR=phoglund@webrtc.org,mbonadei@webrtc.org,oprypin@webrtc.org,braveyao@webrtc.org,braveyao@chromium.org,tomas.popela@gmail.com
Change-Id: Icdb6a94c8825f13d75ddc12219e99cee8fef51a0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:682122
Reviewed-on: https://webrtc-review.googlesource.com/c/114162
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Henrik Grunell <henrikg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25989}
This is a reland of a13be01901
Original change's description:
> Default to dlopening the PipeWire.
>
> Reuse the existing infra from Chromium to do that. Additionally the
> target_gen_dir needs to the added to the include directories, otherwise
> the Chromium build will fail as it won't find the generated stubs. Also the
> pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
> require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
> doesn't work with them correctly. With all these changes in place the PipeWire
> support is enabled when compiling on Linux.
>
> Bug: chromium:682122
> Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
> Reviewed-on: https://webrtc-review.googlesource.com/c/111081
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
> Cr-Commit-Position: refs/heads/master@{#25720}
Bug: chromium:682122
Change-Id: I3cca3d4d961dc7a088346c8fd3c970d3dfde3b79
Reviewed-on: https://webrtc-review.googlesource.com/c/113040
Reviewed-by: Weiyong Yao <braveyao@chromium.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25981}
This is a propagation of upstream chromium change needed to
resume DEPS autorolls into WebRTC.
Original comment from upstream change:
> This change is made in preparation for an ErrorProne
> check to catch this at compile time. See bug for details.
Bug: chromium:771683
Change-Id: I56aed15f73a633dcadae7ece6c645cd3596f9257
Reviewed-on: https://webrtc-review.googlesource.com/c/113505
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25951}
Windows UWP allows an application to be built that targets
across all Windows 10 based systems and the Windows store.
Change-Id: I69694bb7e83fb01ad6db2438b065b55738cf01fd
Bug: webrtc:10046
Reviewed-on: https://webrtc-review.googlesource.com/c/110570
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25814}
This reverts commit a13be01901.
Reason for revert: The GN definitions cause problems for downstream tooling. They're also generally complicated and reach deep into Chromium's build which is undesirable. Setting `rtc_use_pipewire = true` by default should also be re-evaluated.
Original change's description:
> Default to dlopening the PipeWire.
>
> Reuse the existing infra from Chromium to do that. Additionally the
> target_gen_dir needs to the added to the include directories, otherwise
> the Chromium build will fail as it won't find the generated stubs. Also the
> pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
> require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
> doesn't work with them correctly. With all these changes in place the PipeWire
> support is enabled when compiling on Linux.
>
> Bug: chromium:682122
> Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
> Reviewed-on: https://webrtc-review.googlesource.com/c/111081
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
> Cr-Commit-Position: refs/heads/master@{#25720}
TBR=phoglund@webrtc.org,mbonadei@webrtc.org,braveyao@webrtc.org,tomas.popela@gmail.com
Change-Id: Iec20b07cb1cff7d57f8114ac6ec2d0d250e61214
No-Try: true
Bug: chromium:682122
Reviewed-on: https://webrtc-review.googlesource.com/c/111584
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25722}
Reuse the existing infra from Chromium to do that. Additionally the
target_gen_dir needs to the added to the include directories, otherwise
the Chromium build will fail as it won't find the generated stubs. Also the
pw_properties_new() was replaced with pw_properties_new_string() as it doesn't
require a variadic parameter because the //tools/generate_stubs/generate_stubs.py
doesn't work with them correctly. With all these changes in place the PipeWire
support is enabled when compiling on Linux.
Bug: chromium:682122
Change-Id: I3bbc5efaecd9a08e20cbcf998b2cb534224eae7d
Reviewed-on: https://webrtc-review.googlesource.com/c/111081
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
Cr-Commit-Position: refs/heads/master@{#25720}
The content_unittests failure was caused by wrong path in the cfi
blacklist (when the files from x11 folder were moved to the linux
folder by this change).
Bug: chromium:682122
Change-Id: I4f7f6c5a73a981feeac18494749f85935e812981
Reviewed-on: https://webrtc-review.googlesource.com/c/110461
Commit-Queue: Tomáš Popela <tomas.popela@gmail.com>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25621}
This reverts commit dd20c9c1e3.
Reason for revert: Speculative revert; looks like it causes crashes on official builders. See crbug.com/901319.
Original change's description:
> Add support for screen sharing with PipeWire on Wayland
>
> Currently, when users want to use the screen sharing and are using the
> Wayland display server (the default on Fedora distribution), then it
> doesn't work, because the WebRTC only includes the X11 implementation.
> This change adds the support by using the PipeWire multimedia server.
>
> The PipeWire implementation in WebRTC stays in
> screen-capturer-pipewire.c and is guarded by the rtc_use_pipewire build
> flag that is automatically enabled on Linux.
>
> More information are included in the relevant commit messages.
>
> Tested on the current Chromium master and Firefox.
>
> The sysroot changes are requested in:
> https://chromium-review.googlesource.com/c/chromium/src/+/1258174
>
> Co-authored-by: Jan Grulich <grulja@gmail.com>
> Co-authored-by: Eike Rathke <erathke@redhat.com>
> Change-Id: I212074a4bc437b99a77bf383266026c5bfae7c4a
>
> BUG=chromium:682122
>
> Change-Id: I212074a4bc437b99a77bf383266026c5bfae7c4a
> Reviewed-on: https://webrtc-review.googlesource.com/c/103504
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Brave Yao <braveyao@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25461}
TBR=phoglund@webrtc.org,jamiewalch@chromium.org,niklas.enbom@webrtc.org,braveyao@webrtc.org,tomas.popela@gmail.com
# Not skipping CQ checks because original CL landed > 1 day ago.
NOPRESUBMIT=true
Bug: chromium:682122, chromium:901319
Change-Id: I4ca5da77daea73cae1232953a0d633900a85a93d
Reviewed-on: https://webrtc-review.googlesource.com/c/109584
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25522}
Currently, when users want to use the screen sharing and are using the
Wayland display server (the default on Fedora distribution), then it
doesn't work, because the WebRTC only includes the X11 implementation.
This change adds the support by using the PipeWire multimedia server.
The PipeWire implementation in WebRTC stays in
screen-capturer-pipewire.c and is guarded by the rtc_use_pipewire build
flag that is automatically enabled on Linux.
More information are included in the relevant commit messages.
Tested on the current Chromium master and Firefox.
The sysroot changes are requested in:
https://chromium-review.googlesource.com/c/chromium/src/+/1258174
Co-authored-by: Jan Grulich <grulja@gmail.com>
Co-authored-by: Eike Rathke <erathke@redhat.com>
Change-Id: I212074a4bc437b99a77bf383266026c5bfae7c4a
BUG=chromium:682122
Change-Id: I212074a4bc437b99a77bf383266026c5bfae7c4a
Reviewed-on: https://webrtc-review.googlesource.com/c/103504
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Brave Yao <braveyao@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25461}
In order to implement a WebRTC component in Chromium, WebRTC needs to
export some symbols.
If RTC_EXPORT relies on COMPONENT_BUILD to mark symbols as exported
or imported, it will not be possible to incrementally add RTC_EXPORT
because the Chromium build will break (two Chromium components that
export a symbol or no component that exports it).
By using `rtc_enable_symbol_export` (which makes GN define
WEBRTC_ENABLE_SYMBOL_EXPORT), WebRTC will be able to incrementally mark
symbols with RTC_EXPORT and flip the value of `rtc_enable_symbol_export`
in the Chromium build when everything will be ready.
Bug: webrtc:9419
Change-Id: I57ab63c53545c500eaaefd75c112b4674aa7cf19
Reviewed-on: https://webrtc-review.googlesource.com/c/104980
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25087}
Without this file, the Framework can't be used by Swift projects.
Bug: webrtc:9142
Change-Id: I8803ec8b194dc116e133257e205f4620bb34a692
Reviewed-on: https://webrtc-review.googlesource.com/c/103340
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25047}
This features is not needed anymore, with this CL it is also possible
to address two issues:
- The need to pick a default implementation.
- The need to use -Wno-global-constructors.
Bug: webrtc:9631, webrtc:9693
Change-Id: Id3daf34179fbc8db26969fc701ccbfa7182c6a9b
Reviewed-on: https://webrtc-review.googlesource.com/102543
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24904}
This is a reland of 55daf1aef6.
In order to avoid problems on case insensitive file systems this CL
moves rtc_export.h to rtc_base/system (avoiding problems with build/).
Diff: https://webrtc-review.googlesource.com/c/src/+/100804/1..2.
Original change's description:
> Add RTC_EXPORT macro to export WebRTC symbols.
>
> This CL introduces the utility macro RTC_EXPORT which will let WebRTC
> developers decide which symbols are supposed to be exported/imported
> and which ones are private.
>
> RTC_EXPORT will only export/import symbols in a component build, more
> info: https://cs.chromium.org/chromium/src/docs/component_build.md.
> During a component build, the macro COMPONENT_BUILD will be globally
> defined in a consistent fashion so it is safe to rely on it to
> understand how to expand RTC_EXPORT.
> In a non component build, RTC_EXPORT will expand to nothing.
>
> Bug: webrtc:9419
> Change-Id: Ic58162783be7f5883136ade27f324d6d34fdf932
> Reviewed-on: https://webrtc-review.googlesource.com/97960
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Yves Gerey <yvesg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24757}
Bug: webrtc:9419
Change-Id: Icfedea5fc3416ea1af2185de443fa879fb2dee8b
Reviewed-on: https://webrtc-review.googlesource.com/100804
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24766}
This reverts commit 55daf1aef6.
Reason for revert: The build directory conflicts with the existing BUILD file on Mac where the file system is case insensitive.
Original change's description:
> Add RTC_EXPORT macro to export WebRTC symbols.
>
> This CL introduces the utility macro RTC_EXPORT which will let WebRTC
> developers decide which symbols are supposed to be exported/imported
> and which ones are private.
>
> RTC_EXPORT will only export/import symbols in a component build, more
> info: https://cs.chromium.org/chromium/src/docs/component_build.md.
> During a component build, the macro COMPONENT_BUILD will be globally
> defined in a consistent fashion so it is safe to rely on it to
> understand how to expand RTC_EXPORT.
> In a non component build, RTC_EXPORT will expand to nothing.
>
> Bug: webrtc:9419
> Change-Id: Ic58162783be7f5883136ade27f324d6d34fdf932
> Reviewed-on: https://webrtc-review.googlesource.com/97960
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Yves Gerey <yvesg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24757}
TBR=phoglund@webrtc.org,mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org,yvesg@webrtc.org
Change-Id: I9147ad010f391eeeb2e9dd0cbe7b637ebda57766
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9419
Reviewed-on: https://webrtc-review.googlesource.com/100803
Reviewed-by: JT Teh <jtteh@webrtc.org>
Commit-Queue: JT Teh <jtteh@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24763}
This CL introduces the utility macro RTC_EXPORT which will let WebRTC
developers decide which symbols are supposed to be exported/imported
and which ones are private.
RTC_EXPORT will only export/import symbols in a component build, more
info: https://cs.chromium.org/chromium/src/docs/component_build.md.
During a component build, the macro COMPONENT_BUILD will be globally
defined in a consistent fashion so it is safe to rely on it to
understand how to expand RTC_EXPORT.
In a non component build, RTC_EXPORT will expand to nothing.
Bug: webrtc:9419
Change-Id: Ic58162783be7f5883136ade27f324d6d34fdf932
Reviewed-on: https://webrtc-review.googlesource.com/97960
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24757}
This GN argument will be used to exclude the default implementation of
runtime_features_enabled in order to allow clients to provide a custom
implementation.
This will allow to land [1] without breaking Chromium.
[1] - https://webrtc-review.googlesource.com/c/src/+/100640
Bug: webrtc:9631
Change-Id: I4ce8ff12e277f81de42e272d8874d5bb3a4a2635
Reviewed-on: https://webrtc-review.googlesource.com/100641
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24753}