No description
Find a file
Tommi a334dc68f3 Make VideoSendStream::UpdateActiveSimulcastLayers not block.
UpdateActiveSimulcastLayers has been blocking
WebRtcVideoChannel::SetSend which may be called quite frequently during
negotiations. This CL changes UpdateActiveSimulcastLayers to not
synchronize with the transport's task queue to wait for the changes to
get applied.

This synchronization is quite costly, but so too are other remaining
things in VideoSendStream, so we should aim to get rid of the
`thread_sync_event_` in VideoSendStream.

Bug: webrtc:12840, webrtc:12854
Change-Id: Idb48d29b6b8382881c7c1e6f1d0f5e708dbca30f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221203
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34228}
2021-06-04 12:32:24 +00:00
api Add a function to check if the packet in a PacketResult has been received. 2021-06-03 12:42:49 +00:00
audio AudioSendStream: s/worker_queue_/rtp_transport_queue_/g 2021-06-01 08:00:22 +00:00
build_overrides Roll chromium + fix: blacklist -> ignorelist for sanitizers suppressions 2021-05-27 16:16:01 +00:00
call Remove synchronization from VideoSendStream construction. 2021-06-03 19:13:45 +00:00
common_audio Avoid undefined behavior in a division operation. 2021-04-23 07:49:24 +00:00
common_video Update BitBuffer methods to style guide 2021-05-18 11:10:27 +00:00
data Remove old data files. 2018-10-05 14:40:21 +00:00
docs Create a VideoFrameTrackingId RTP header extension. 2021-03-25 17:25:18 +00:00
examples Added PeerConnectionObserverJni::OnRemoveTrack() 2021-06-03 19:24:55 +00:00
g3doc doc: document rtp payload type mapping behaviour 2021-06-04 06:23:32 +00:00
logging Add documentation for RTC event log 2021-06-03 09:03:18 +00:00
media Make VideoSendStream::UpdateActiveSimulcastLayers not block. 2021-06-04 12:32:24 +00:00
modules Remove synchronization from VideoSendStream construction. 2021-06-03 19:13:45 +00:00
net/dcsctp dcsctp: Stay in stream if not producing fragment 2021-06-02 09:45:59 +00:00
p2p Remove cricket::DtlsTransportState. 2021-05-21 21:45:29 +00:00
pc doc: document rtp payload type mapping behaviour 2021-06-04 06:23:32 +00:00
resources Disable high-pass filtering of the AEC reference 2021-02-23 07:06:11 +00:00
rtc_base Proxy: solve event tracing with compile time strings. 2021-05-28 06:53:29 +00:00
rtc_tools Convert to NTP time using the real clock. 2021-05-21 19:29:32 +00:00
sdk Added PeerConnectionObserverJni::OnRemoveTrack() 2021-06-03 19:24:55 +00:00
stats Populate qualityLimitationDurations stats for outbound RTP streams 2021-05-31 21:39:37 +00:00
system_wrappers Make Clock::ConvertTimestampToNtpTime pure virtual 2021-05-21 09:55:14 +00:00
test Reduce usage of RtpHeaderParser::CreateForTest in favor of RtpPacket 2021-06-03 12:29:09 +00:00
tools_webrtc Make generate_license.py compatible with Python 3. 2021-05-31 07:05:46 +00:00
video Make VideoSendStream::UpdateActiveSimulcastLayers not block. 2021-06-04 12:32:24 +00:00
.clang-format Add IncludeBlocks to clang-format. 2021-02-03 16:29:07 +00:00
.git-blame-ignore-revs Let git-hyper-blame ignore new format cleanup. 2019-07-11 16:18:51 +00:00
.gitignore Add .cache to .gitignore. 2021-01-20 15:01:07 +00:00
.gn Switch from check_targets to no_check_targets in .gn 2021-05-20 10:42:21 +00:00
.vpython Update six library version 2021-04-26 16:39:07 +00:00
AUTHORS Added PeerConnectionObserverJni::OnRemoveTrack() 2021-06-03 19:24:55 +00:00
BUILD.gn Switch from check_targets to no_check_targets in .gn 2021-05-20 10:42:21 +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
DEPS Roll chromium_revision a11573a242..b54a8c30e7 (888935:889150) 2021-06-04 05:23:36 +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 kwiberg@webrtc.org from OWNERS files 2020-12-04 15:11:26 +00:00
g3doc.lua Improve webrtc documentation infra. Preview at: 2021-03-30 10:29:30 +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 the remote_bitrate_estimator build target private 2020-11-26 12:21:22 +00:00
OWNERS Move style guide and abseil-in-webrtc into g3doc subfolder 2021-05-13 14:43:10 +00:00
PATENTS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
PRESUBMIT.py sctp: Rename SctpTransport to UsrSctpTransport 2021-04-12 10:40:34 +00:00
presubmit_test.py Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00
presubmit_test_mocks.py Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00
pylintrc Undo enforcing of PEP-8 pylint changes for method and function names. 2020-11-10 18:26:25 +00:00
README.chromium Add CPEPrefix. 2020-07-13 11:42:07 +00:00
README.md Move style guide and abseil-in-webrtc into g3doc subfolder 2021-05-13 14:43:10 +00:00
WATCHLISTS Add hta@ to rtc_base/ and api/ WATCHLISTS. 2021-01-06 09:43:34 +00:00
webrtc.gni Turn on the RTC_ENABLE_WIN_WGC build flag. 2021-05-10 20:16:52 +00:00
webrtc_lib_link_test.cc Deprecate PeerConnectionFactory::CreatePeerConnection 2021-05-10 08:47:48 +00:00
whitespace.txt Reland "Triggering CI." 2021-03-22 11:57:23 +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