This is a reland of 0cc42d47389c039c57e47d7ec0c76b97e2da2b0b
Original change's description:
> Reland "Default to dlopening the PipeWire."
>
> This is a reland of a099877d8946eb942046ca1295cc142e4fa7ea6f
>
> Original change's description:
> > Reland "Default to dlopening the PipeWire."
> >
> > This is a reland of a13be019017449c57f48203d0fb778f34f7553a7
> >
> > 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 0cc42d47389c039c57e47d7ec0c76b97e2da2b0b.
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 a099877d8946eb942046ca1295cc142e4fa7ea6f
>
> Original change's description:
> > Reland "Default to dlopening the PipeWire."
> >
> > This is a reland of a13be019017449c57f48203d0fb778f34f7553a7
> >
> > 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 a099877d8946eb942046ca1295cc142e4fa7ea6f
Original change's description:
> Reland "Default to dlopening the PipeWire."
>
> This is a reland of a13be019017449c57f48203d0fb778f34f7553a7
>
> 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 a099877d8946eb942046ca1295cc142e4fa7ea6f.
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 a13be019017449c57f48203d0fb778f34f7553a7
>
> 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 a13be019017449c57f48203d0fb778f34f7553a7
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 a13be019017449c57f48203d0fb778f34f7553a7.
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 dd20c9c1e3f681f6c33d1879c76f588bd4b095bd.
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}
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 55daf1aef65218a97eff88999e5190a2f2f6b72e.
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 55daf1aef65218a97eff88999e5190a2f2f6b72e.
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}
Using the mac framework bundle's path should be more correct than the
hardcoded version used previously.
Bug: webrtc:9627
Change-Id: I706c7961f21ba921503ed68b6e79ea0838e664d5
Reviewed-on: https://webrtc-review.googlesource.com/98620
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24606}
This CL enables -Wexit-time-destructors and -Wglobal-constructors on
rtc_static_library and rtc_source_set build targets.
It also adds the possibility to suppress these warnings because
they trigger in a few places.
The long term goal is to avoid regressions on this and remove all the
suppressions.
Bug: webrtc:9693
Change-Id: I4c1ecc137ef9e87ec5e66981ce95d96fb082727c
Reviewed-on: https://webrtc-review.googlesource.com/98380
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24604}
The intelligibility enhancer is always disabled and it is the only non-test
target using the lapped transform in common_audio (which we planned to remove).
Bug: webrtc:9689, webrtc:5298
Change-Id: Ida65d3aa11ac366471e7e5cbc053108b376c67d8
Reviewed-on: https://webrtc-review.googlesource.com/96460
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24504}
This CL separates the files under sdk/objc into logical directories, replacing
the previous file layout under Framework/.
A long term goal is to have some system set up to generate the files under
sdk/objc/api (the PeerConnection API wrappers) from the C++ code. In the shorter
term the goal is to abstract out shared concepts from these classes in order to
make them as uniform as possible.
The separation into base/, components/, and helpers/ are to differentiate between
the base layer's common protocols, various utilities and the actual platform
specific components.
The old directory layout that resembled a framework's internal layout is not
necessary, since it is generated by the framework target when building it.
Bug: webrtc:9627
Change-Id: Ib084fd83f050ae980649ca99e841f4fb0580bd8f
Reviewed-on: https://webrtc-review.googlesource.com/94142
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24493}
This removes call of av_register_all(), which is deprecated, and
related code.
Bug: webrtc:9352
Change-Id: Ib7de5931c900eaf1023ecf3046f560feaaeec8ef
Reviewed-on: https://webrtc-review.googlesource.com/85347
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23743}
After [1], a manual dependency on exe_and_shlib_deps is no longer necessary
since it's automatically added. This CL removes all remaining manual references
to exe_and_shlib_deps.
[1] d7ed1f0a9c
BUG=chromium:845700
R=tommi@webrtc.org
Change-Id: I92942bc08c0e34c5c39df3c71f56f89476f8d95c
Reviewed-on: https://webrtc-review.googlesource.com/83061
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23573}
This provides an environment for testing out using WebRTC from an iOS
extension. It implements a ReplayKit broadcast extension for live
streaming games and screensharing.
The extension is only supported on iOS 11+ and is guarded by a build
flag.
Bug: webrtc:9335
Change-Id: Id218d6c73ef7599f5953c5a1e0e62e5d0dc4f10b
Reviewed-on: https://webrtc-review.googlesource.com/80000
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23504}
This reverts commit 9632112a16d70a146e917db4de761e6253dfc364.
Reason for revert: It breaks the WebRTC roll into Chromium.
https://chromium-review.googlesource.com/c/chromium/src/+/1061476
Original change's description:
> Reland "Adding absl includes and defines to rtc_* templates."
>
> This reverts commit d161eda477491b2b97fb3f26d229c625a2a0e9b8.
>
> Reason for revert: The problem with iOS trybots should be fixed.
>
> Original change's description:
> > Revert "Adding absl includes and defines to rtc_* templates."
> >
> > This reverts commit 9d8f3850f4c4faad5dc5ab32ab6f2c9c43df7b6c.
> >
> > Reason for revert: Breaks some trybots: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Release/builds/12793.
> >
> > Original change's description:
> > > Adding absl includes and defines to rtc_* templates.
> > >
> > > This CL implicitly adds the -I compiler flag and absl macros to WebRTC
> > > templates. In order to include absl headers using relative paths, WebRTC
> > > needs to ensure that all its build targets are able to see absl headers.
> > >
> > > This can also be done with public_deps, but WebRTC is trying to avoid
> > > it because it creates problems with other build systems. Given this
> > > constraint, using rtc_* templates is the most reliable solution.
> > >
> > > Please note that rtc_* templates are adding absl includes and defines
> > > as public_configs, this means that build targets with WebRTC targets
> > > in their public_deps will propagate these configs following the GN
> > > guideline.
> > >
> > > Bug: webrtc:8821
> > > Change-Id: I4aa594a524f4bd045bcb3e80d76cc27f06fe01d7
> > > Reviewed-on: https://webrtc-review.googlesource.com/70367
> > > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#22927}
> >
> > TBR=phoglund@webrtc.org,mbonadei@webrtc.org
> >
> > Change-Id: Id8e1f881c57553386566eb1970f6b9f8632cab37
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:8821
> > Reviewed-on: https://webrtc-review.googlesource.com/71000
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22928}
>
> TBR=phoglund@webrtc.org,mbonadei@webrtc.org
>
> Bug: webrtc:8821
> Change-Id: I6ee2eda97bbcd4c9be25c9c4073272192b0373f8
> Reviewed-on: https://webrtc-review.googlesource.com/71700
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23251}
TBR=phoglund@webrtc.org,mbonadei@webrtc.org
Change-Id: I61fb749797314ca514691b341c66f7f39ef45491
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8821
Reviewed-on: https://webrtc-review.googlesource.com/77220
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23264}
This reverts commit d161eda477491b2b97fb3f26d229c625a2a0e9b8.
Reason for revert: The problem with iOS trybots should be fixed.
Original change's description:
> Revert "Adding absl includes and defines to rtc_* templates."
>
> This reverts commit 9d8f3850f4c4faad5dc5ab32ab6f2c9c43df7b6c.
>
> Reason for revert: Breaks some trybots: https://build.chromium.org/p/client.webrtc/builders/iOS64%20Release/builds/12793.
>
> Original change's description:
> > Adding absl includes and defines to rtc_* templates.
> >
> > This CL implicitly adds the -I compiler flag and absl macros to WebRTC
> > templates. In order to include absl headers using relative paths, WebRTC
> > needs to ensure that all its build targets are able to see absl headers.
> >
> > This can also be done with public_deps, but WebRTC is trying to avoid
> > it because it creates problems with other build systems. Given this
> > constraint, using rtc_* templates is the most reliable solution.
> >
> > Please note that rtc_* templates are adding absl includes and defines
> > as public_configs, this means that build targets with WebRTC targets
> > in their public_deps will propagate these configs following the GN
> > guideline.
> >
> > Bug: webrtc:8821
> > Change-Id: I4aa594a524f4bd045bcb3e80d76cc27f06fe01d7
> > Reviewed-on: https://webrtc-review.googlesource.com/70367
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#22927}
>
> TBR=phoglund@webrtc.org,mbonadei@webrtc.org
>
> Change-Id: Id8e1f881c57553386566eb1970f6b9f8632cab37
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8821
> Reviewed-on: https://webrtc-review.googlesource.com/71000
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22928}
TBR=phoglund@webrtc.org,mbonadei@webrtc.org
Bug: webrtc:8821
Change-Id: I6ee2eda97bbcd4c9be25c9c4073272192b0373f8
Reviewed-on: https://webrtc-review.googlesource.com/71700
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23251}
This extends the API surface so that
custom certificates can be provided by an API user in both the standalone and
factory creation paths for the OpenSSLAdapter. Prior to this change the SSL
roots were hardcoded in a header file and directly included into
openssladapter.cc. This forces the 100 kilobytes of certificates to always be
compiled into the library. This is undesirable in certain linking cases where
these certificates can be shared from another binary that already has an
equivalent set of trusted roots hard coded into the binary.
Support for removing the hard coded SSL roots has also been added through a new
build flag. By default the hard coded SSL roots will be included and will be
used if no other trusted root certificates are provided.
The main goal of this CL is to reduce total binary size requirements of WebRTC
by about 100kb in certain applications where adding these certificates is
redundant.
Change-Id: Ifd36d92b5cb32d1b3098a61ddfc244d76df8f30f
Bug: chromium:526260
Change-Id: Ifd36d92b5cb32d1b3098a61ddfc244d76df8f30f
Reviewed-on: https://webrtc-review.googlesource.com/64841
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23180}
The goal is to make these injectable, and only VP8 and VP9 specific
targets should depend on them.
Bug: webrtc:7925
Change-Id: Ie9239a54d197fe70c93de0582797211fef6997a2
Reviewed-on: https://webrtc-review.googlesource.com/72082
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23021}
Only specially taggged targets may transitively depend on poisonous
targets. We first apply it to audio codecs.
This makes it much clearer exactly what parts of the code still have
dependencies on the audio codecs (and we want to eventually get rid of
pretty much all of them).
Bug: webrtc:8396, webrtc:9121
Change-Id: Iba5c2e806c702b5cfe881022674705f647896d43
Reviewed-on: https://webrtc-review.googlesource.com/69520
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22979}