No description
Find a file
Jan Grulich 334e9133dc Video capture PipeWire: add support for DMABuf buffer type
Announce that we support SPA_DATA_DmaBuf and tell PipeWire not to map
memory for us so we can handle it ourself, similar like we do in case of
screen sharing. This fixes an issue when a camera is already in use by
gstreamer (pipewiresrc), where DMABufs are used, and we try to share
same camera and get no content, as PipeWire doesn't want to mmap DMABuf
memory for us and we get NULL data pointers.

Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1876895

Bug: webrtc:15654
Change-Id: I788d8d12b2fcd5588329d7265e45b479f74bb628
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/338921
Commit-Queue: Jan Grulich <grulja@gmail.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#41826}
2024-02-27 18:31:26 +00:00
api Change BuiltInNetworkBehaviorConfig.loss_percent to double 2024-02-27 14:38:31 +00:00
audio Rename AudioLevel to AudioLevelExtension in rtp_header_extensions.h 2024-02-22 23:12:52 +00:00
build_overrides Roll chromium_revision 01dc2965ca..917876224a (1209117:1211391) 2023-10-18 15:15:07 +00:00
call Update WebRTC code version (2024-02-27T04:11:00). 2024-02-27 05:37:54 +00:00
common_audio Provide test output path with OutputPathWithRandomDirectory 1/n 2024-02-15 07:35:00 +00:00
common_video Export h.265 bitstream parser APIs. 2024-02-27 01:36:42 +00:00
data Remove old data files. 2018-10-05 14:40:21 +00:00
docs Add nonstandard x-google-per-layer-pli fmtp for enabling per-layer keyFrames in response to PLIs 2024-02-26 07:11:45 +00:00
examples Remove multiplex codec. 2024-02-26 11:26:04 +00:00
experiments Remove nonexempt field trials from POLICY_EXEMPT_FIELD_TRIALS 2024-02-21 10:14:08 +00:00
g3doc Update TODO example in the style guide. 2023-11-21 23:11:09 +00:00
infra Update iOS dimension to have more machines available. 2024-02-16 17:31:52 +00:00
logging Remove multiplex codec. 2024-02-26 11:26:04 +00:00
media Change RtpTransport and DsctTransport to receives packets through ReceivedPacketCallback 2024-02-27 15:55:02 +00:00
modules Video capture PipeWire: add support for DMABuf buffer type 2024-02-27 18:31:26 +00:00
net/dcsctp dcsctp: Update zero checksum option to v-06 draft 2024-02-19 10:25:17 +00:00
p2p Change RtpTransport and DsctTransport to receives packets through ReceivedPacketCallback 2024-02-27 15:55:02 +00:00
pc Propagate rtc::ReceivedPacket further in RtpTransport 2024-02-27 17:46:18 +00:00
resources Ignore .binarypb files. 2023-10-30 14:56:36 +00:00
rtc_base Add missing absl::optional includes 2024-02-26 18:21:16 +00:00
rtc_tools Remove multiplex codec. 2024-02-26 11:26:04 +00:00
sdk Delete RTCWrappedNativeVideoDecoder 2024-02-27 17:03:28 +00:00
stats [Stats] Migrate from the RTCStatsMember type alias to absl::optional. 2024-01-25 21:56:08 +00:00
system_wrappers Use //third_party/cpu_features directly 2023-06-02 07:17:36 +00:00
test Remove multiplex codec. 2024-02-26 11:26:04 +00:00
tools_webrtc Add directory for ChromiumOS specific tools 2024-02-26 03:46:59 +00:00
video Remove multiplex codec. 2024-02-26 11:26:04 +00:00
.clang-format Add IncludeBlocks to clang-format. 2021-02-03 16:29:07 +00:00
.git-blame-ignore-revs Add formatting CLs to .git-blame-ignore-revs 2023-05-07 09:27:47 +00:00
.gitignore Add .cache to .gitignore. 2021-01-20 15:01:07 +00:00
.gn Disable checks for googletest for WebRTC 2024-02-27 12:05:12 +00:00
.mailmap Add .mailmap for git. 2022-02-20 14:22:13 +00:00
.style.yapf Configure YAPF to follow PEP-8 altogether 2023-09-22 10:32:11 +00:00
.vpython3 Update to vpython 3.11 and remove .vpython (v2.x) 2024-01-25 11:12:20 +00:00
AUTHORS Expose setCodecPreferences/getCapabilities for iOS 2024-01-23 13:54:26 +00:00
BUILD.gn Add environment_construction poison 2023-11-27 11:44:50 +00:00
CODE_OF_CONDUCT.md Reland "Migrate WebRTC documentation to new renderer" 2023-01-31 09:30:04 +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
DEPS Roll chromium_revision af00cd208a..a44e4a5e32 (1264869:1265726) 2024-02-27 13:31:12 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files. 2021-02-08 19:09:33 +00:00
ENG_REVIEW_OWNERS Remove phoglund from ENG_REVIEW_OWNERS 2021-10-08 08:29:42 +00:00
LICENSE Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
license_template.txt
native-api.md Reland "Migrate WebRTC documentation to new renderer" 2023-01-31 09:30:04 +00:00
OWNERS Add infra owners file 2022-12-02 09:21:47 +00:00
OWNERS_INFRA Allow to keep old python style for existing files. 2023-10-17 13:52:56 +00:00
PATENTS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
PRESUBMIT.py Implement Newline Check in the Presubmit 2024-01-23 07:50:56 +00:00
presubmit_test.py tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
presubmit_test_mocks.py tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
pylintrc Configure Pylint to follow PEP-8 2023-09-25 15:56:09 +00:00
pylintrc_old_style Allow to keep old python style for existing files. 2023-10-17 13:52:56 +00:00
README.chromium [ssci] Added Shipped field to READMEs 2023-07-12 07:31:06 +00:00
README.md doc: Follow up link rename in I2dbe1ef0c74a0de8c5619b522fab39527e797d9c 2023-05-26 09:20:16 +00:00
WATCHLISTS Remove xooglers from WATCHLISTS and OWNERS 2022-11-30 15:33:25 +00:00
webrtc.gni Add environment_construction poison 2023-11-27 11:44:50 +00:00
webrtc_lib_link_test.cc Deprecate RtcEventLogFactory constructor taking unused parameter 2023-12-07 21:46:56 +00:00
whitespace.txt Revert "Test new tree." 2024-01-31 08:50:04 +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 here 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