No description
Find a file
Tommi 1f3679884c Start using ArrayView in AudioFrame, update PushResampler
Start introducing ArrayView to AudioFrame and code that flows down
from there.  In this first step:
* Add `data_view()` that returns a read-only ArrayView for the
  audio buffer. When AudioFrame is not initialized however, data_view()
  will return a nullptr whereas the current data() method never returns
  nullptr.
* Add `mutable_data()` that requires two arguments for properly setting
  the samples per channel and number of channels that's required for
  accurately reserving the returned mutable ArrayView.
  A notable behavior change is that if the requested number of channels
  is larger than supported or the calculated buffer size is too large,
  the function will trigger a check.
* Add TODOs for following work.

Bug: chromium:335805780
Change-Id: I2937de800422589ebe6a3840b3caadf3d9ff8b00
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347982
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42202}
2024-04-30 15:33:08 +00:00
api Start using ArrayView in AudioFrame, update PushResampler 2024-04-30 15:33:08 +00:00
audio Start using ArrayView in AudioFrame, update PushResampler 2024-04-30 15:33:08 +00:00
build_overrides WebRTC perfetto chromium integration 2024-04-29 12:12:48 +00:00
call Update WebRTC code version (2024-04-30T04:14:10). 2024-04-30 05:57:25 +00:00
common_audio Start using ArrayView in AudioFrame, update PushResampler 2024-04-30 15:33:08 +00:00
common_video Remove wrong range check for CurrRpsIdx and fix its naming. 2024-04-19 13:56:24 +00:00
data Remove old data files. 2018-10-05 14:40:21 +00:00
docs Add Monorail -> Google Issue Tracker map. 2024-04-29 19:08:57 +00:00
examples Migrate webrtc to stop using its own JniZero mirror classes 2024-04-23 12:50:19 +00:00
experiments Use Google issue tracker bug IDs in the field trial registry 2024-04-29 07:49:17 +00:00
g3doc Recommend to follow C++ tips of the week in webrtc c++ style guide 2024-04-17 14:08:57 +00:00
infra update fuchsia perf dimensions to jammy 2024-04-04 09:02:18 +00:00
logging Expose AudioLevel as an absl::optional struct in api/rtp_headers.h 2024-03-22 10:07:47 +00:00
media Query EncoderInfoSettings through propagated field trials 2024-04-30 11:16:31 +00:00
modules Start using ArrayView in AudioFrame, update PushResampler 2024-04-30 15:33:08 +00:00
net/dcsctp Move call/simulated_network to test/network 2024-04-29 09:55:06 +00:00
p2p Deprecate the StreamInterface::SignalEvent sigslot 2024-04-28 21:30:18 +00:00
pc Deprecate cricket::VideoCodec and cricket::AudioCodec 2024-04-29 16:24:51 +00:00
resources Ignore .binarypb files. 2023-10-30 14:56:36 +00:00
rtc_base Query EncoderInfoSettings through propagated field trials 2024-04-30 11:16:31 +00:00
rtc_tools Move call/simulated_network to test/network 2024-04-29 09:55:06 +00:00
sdk Migrate webrtc to stop using its own JniZero mirror classes 2024-04-23 12:50:19 +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 Add IWYU export pragmas to gtest/gmock 2024-04-30 11:15:05 +00:00
tools_webrtc Generate privacy manifest when creating Apple Framework 2024-04-30 10:49:08 +00:00
video Query EncoderInfoSettings through propagated field trials 2024-04-30 11:16:31 +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 Use vpython3 as the default interpreter for gn. 2024-04-09 14:14:16 +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 Fix 'Screen flickering on ScreenCapturerWinDirectx' 2024-04-25 21:18:27 +00:00
BUILD.gn Convert decoder TRACE_EVENT to flows 2024-04-30 08:47:29 +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 Convert decoder TRACE_EVENT to flows 2024-04-30 08:47:29 +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 Roll chromium_revision 5350dd2460..d5c79b109a (1281218:1283550) 2024-04-08 08:12:19 +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 Generate privacy manifest when creating Apple Framework 2024-04-30 10:49:08 +00:00
webrtc_lib_link_test.cc Move webrtc::AudioDeviceModule include to api/ folder 2024-04-22 08:56:31 +00:00
whitespace.txt Reland "lets try again" 2024-04-26 09:56:00 +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