No description
Find a file
Tomas Popela dd20c9c1e3 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}
2018-11-01 08:46:38 +00:00
api Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer." 2018-11-01 04:46:02 +00:00
audio Harmonize paths to dependent targets. 2018-10-31 10:04:59 +00:00
build_overrides Add phoglund@ to various OWNERS and remove kjellander@ 2017-10-19 09:21:12 +00:00
call Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer." 2018-11-01 04:46:02 +00:00
common_audio Harmonize paths to dependent targets. 2018-10-31 10:04:59 +00:00
common_video Harmonize paths to dependent targets. 2018-10-31 10:04:59 +00:00
data Remove old data files. 2018-10-05 14:40:21 +00:00
examples Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer." 2018-11-01 04:46:02 +00:00
infra Remove ios32_sim_ios9_dbg from CQ. 2018-10-15 06:59:19 +00:00
logging Depend directly on destination targets. 2018-10-31 10:21:40 +00:00
media Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer." 2018-11-01 04:46:02 +00:00
modules Add support for screen sharing with PipeWire on Wayland 2018-11-01 08:46:38 +00:00
p2p Improve the documentation of MdnsResponderInterface and rename MDns.* 2018-11-01 02:39:59 +00:00
pc Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer." 2018-11-01 04:46:02 +00:00
resources Drop legacy AEC metrics interface from ApmTest.Process 2018-09-14 08:16:43 +00:00
rtc_base Improve the documentation of MdnsResponderInterface and rename MDns.* 2018-11-01 02:39:59 +00:00
rtc_tools Harmonize paths to dependent targets. 2018-10-31 10:04:59 +00:00
sdk Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer." 2018-11-01 04:46:02 +00:00
stats Export symbols needed by the Chromium component build (part 7). 2018-10-25 11:41:16 +00:00
style-guide Add style guide rule about paired .h and .cc files 2018-03-14 13:02:35 +00:00
system_wrappers Harmonize paths to dependent targets. 2018-10-31 10:04:59 +00:00
test Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer." 2018-11-01 04:46:02 +00:00
tools_webrtc Reland "Remove deprecated barcode scanning functionality" 2018-10-22 21:30:58 +00:00
video Revert "Use the factory instead of using the builtin code path in VideoCodecInitializer." 2018-11-01 04:46:02 +00:00
.clang-format Tune ObjC clang-format configuration 2017-05-11 09:14:18 +00:00
.git-blame-ignore-revs Let git-hyper-blame ignore format commit. 2018-06-20 09:26:44 +00:00
.gitignore Reland "Compile frame analyzer for the host machine on perf tests." 2018-09-18 09:51:19 +00:00
.gn Re-enable gtest absl pretty printers. 2018-08-13 13:54:05 +00:00
.vpython Add vpython dependencies needed to run presubmit tests on LUCI 2018-05-18 08:10:25 +00:00
abseil-in-webrtc.md Replace _stricmp with absl::EqualsIgnoreCase 2018-10-19 14:17:31 +00:00
AUTHORS Add support for screen sharing with PipeWire on Wayland 2018-11-01 08:46:38 +00:00
BUILD.gn Delete OptionsFile class. Refactored only user, TurnFileAuth. 2018-10-30 11:54:53 +00:00
CODE_OF_CONDUCT.md Add code of conduct to WebRTC repo 2017-05-16 12:09:13 +00:00
codereview.settings Don't add webrtc-reviews@ to CC, it can be added globally on Gerrit 2018-10-25 08:19:53 +00:00
common_types.h Removes deprecated BitrateAllocation alias. 2018-10-25 11:02:58 +00:00
DEPS Roll chromium_revision 6271fcdc14..734e273d43 (604273:604373) 2018-10-31 21:57:51 +00:00
ENG_REVIEW_OWNERS Enforce LGTM from owners of depends-on paths in DEPS via presubmit. 2018-09-28 12:49:54 +00:00
LICENSE Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
license_template.txt Update template to follow chromium copyright style 2013-04-24 01:01:28 +00:00
native-api.md Add documentation about field_trial/metrics custom impl. 2018-09-18 11:27:59 +00:00
OWNERS Add a list of allowed and disallowed Abseil things 2018-08-27 08:37:20 +00:00
PATENTS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
PRESUBMIT.py Simplify api/DEPS presubmit check. 2018-10-26 12:24:41 +00:00
presubmit_test.py Fixing py lint errors 2018-07-23 15:28:48 +00:00
presubmit_test_mocks.py Reland: Add presubmit check for changes in 3pp 2018-05-22 13:11:18 +00:00
pylintrc Fixing py lint errors 2018-07-23 15:28:48 +00:00
README.chromium Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
README.md Tell users where they can find the native API headers 2017-11-14 10:36:46 +00:00
style-guide.md Add a list of allowed and disallowed Abseil things 2018-08-27 08:37:20 +00:00
WATCHLISTS Remove likely obsolete entries from WATCHLISTS 2018-10-30 07:46:29 +00:00
webrtc.gni Add support for screen sharing with PipeWire on Wayland 2018-11-01 08:46:38 +00:00
whitespace.txt Whitespace change 2018-02-23 10:34:16 +00:00

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

Development

See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.

Authoritative list of directories that contain the native API header files.

More info