No description
Find a file
Henrik Boström e88c95e516 [Stats] Add more rtc::Thread::ScopedDisallowBlockingCalls to getStats().
This ensures with DCHECK-crashes that we don't accidentally do more
blocking invokes than we think.

Remaining blocking invokes FYI:
- PrepareTransceiverStatsInfos_s_w() does 1 blocking invoke (regardless
  of the number of transceivers or channels) to the worker thread. This
  is because VoiceMediaChannel, VideoMediaChannel and GetParameters()
  execute on the worker thread, and the result of these operations are
  needed on the signalling thread.
- pc_->GetCallStats() does 1 blocking invoke to the worker thread.

These two blocking invokes can be merged, reducing the total number of
blocking invokes from 2 to 1, but this CL does not attempt to do that.
I filed https://crbug.com/webrtc/11767 for that.

Bug: webrtc:11716
Change-Id: Iebc2ab350d253fd037211cdd283825b4e5b2d446
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178867
Reviewed-by: Evan Shrubsole <eshr@google.com>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31670}
2020-07-08 10:55:30 +00:00
api Revert "Implement packets_(sent | received) for RTCTransportStats" 2020-07-08 09:42:41 +00:00
audio webrtc::AudioSendStream: Add lock annotation to audio_level_ 2020-07-06 17:05:25 +00:00
build_overrides Rename sanitizers suppression files. 2020-07-03 18:29:58 +00:00
call [Adaptation] Remove deg.prefs from ResourceAdaptationProcessor 2020-07-07 08:37:05 +00:00
common_audio Replace slave -> helper, master -> reference 2020-06-29 12:18:05 +00:00
common_video Migrate common_video/ and examples/ to webrtc::Mutex. 2020-07-07 13:33:27 +00:00
data Remove old data files. 2018-10-05 14:40:21 +00:00
docs Search and replace gendered terms according to style guide: 2020-06-12 14:12:54 +00:00
examples Migrate common_video/ and examples/ to webrtc::Mutex. 2020-07-07 13:33:27 +00:00
logging Search and replace gendered terms according to style guide: 2020-06-12 14:12:54 +00:00
media Migrate media/ to webrtc::Mutex. 2020-07-07 13:46:47 +00:00
modules Migrate modules/audio_device to webrtc::Mutex. 2020-07-08 09:32:12 +00:00
p2p Revert "Implement packets_(sent | received) for RTCTransportStats" 2020-07-08 09:42:41 +00:00
pc [Stats] Add more rtc::Thread::ScopedDisallowBlockingCalls to getStats(). 2020-07-08 10:55:30 +00:00
resources iSAC API wrapper unit test fix 2020-02-27 14:27:23 +00:00
rtc_base Remove unused GuardedAsyncInvoker class 2020-07-08 10:46:20 +00:00
rtc_tools Roll chromium_revision 4d95e6c77b..71a0e1904e (776481:782339) 2020-06-26 05:33:14 +00:00
sdk Convert GN libs lists to frameworks 2020-07-06 10:08:09 +00:00
stats Revert "Implement packets_(sent | received) for RTCTransportStats" 2020-07-08 09:42:41 +00:00
style-guide Add style guide rule about paired .h and .cc files 2018-03-14 13:02:35 +00:00
system_wrappers Use absl_deps in order to preapre to the Abseil component build release. 2020-06-08 12:59:40 +00:00
test Revert "Migrate test/time_controller to webrtc::Mutex." 2020-07-08 10:17:02 +00:00
tools_webrtc Add possibility to expand strings in the autoroller. 2020-07-08 08:37:52 +00:00
video VideoAnalyzer: remove lock recursions. 2020-07-08 09:14:22 +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 new format cleanup. 2019-07-11 16:18:51 +00:00
.gitignore Add .clangd to .gitignore 2019-10-28 12:27:50 +00:00
.gn Reenable libaom decoder by default 2020-03-18 18:04:41 +00:00
.vpython Add source-side perf upload script for WebRTC. 2019-11-18 14:37:01 +00:00
abseil-in-webrtc.md Use absl_deps in order to preapre to the Abseil component build release. 2020-06-08 12:59:40 +00:00
AUTHORS Relanding: Fix data channel message integrity violation 2020-07-07 03:06:24 +00:00
BUILD.gn Convert GN libs lists to frameworks 2020-07-06 10:08:09 +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 Replaces OverheadObserver with simple getter. 2020-05-07 17:33:45 +00:00
DEPS Roll chromium_revision b5359525fc..a69b9c614c (785857:786202) 2020-07-08 10:14:08 +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 Make transient suppression optionally excludable via defines 2020-04-02 11:44:07 +00:00
OWNERS Remove phoglund as root owner. 2020-03-30 12:15:56 +00:00
PATENTS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
PRESUBMIT.py Inclusive language in PRESUBMIT.py. 2020-06-30 14:03:10 +00:00
presubmit_test.py Use source_sets in component builds and static_library in release builds. 2019-10-17 21:17:18 +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 Fix link in documentation. (take 2) 2020-04-16 11:08:43 +00:00
style-guide.md C++ style: We don't allow designated initializers 2020-06-03 09:11:09 +00:00
WATCHLISTS Remove benwright@webrtc.org from WATCHLISTS 2020-01-31 18:46:52 +00:00
webrtc.gni Build: Disable the iLBC audio codec by default 2020-07-01 08:52:35 +00:00
webrtc_lib_link_test.cc Rewrite the lib link test to just be a binary. 2019-10-18 07:42:20 +00:00
whitespace.txt Trigger bots. 2020-06-15 08:40:44 +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