[BREAKGLASS] Append-only mirror of github.com/signalapp/webrtc
Go to file
Marina Ciocea e448a3fb54 Update DataChannel bufferedamount implementation.
Call DataChannelObserver::OnBufferedAmountChange on each successful send.
Previously, the observer would get notified of buffered amount changes only when
queued send data is consumed. Data gets queued only if it cannot be sent right
away. According to the WebRTC standard[1], bufferedamount should be increased
before each sent and decreased after each successful sent. Update implementation
to be standard compliant.

Design doc: http://doc/1lorHBn-GMn5U0T0RQANxrsW0pXhw8XGZM-xZyVUOW90

[1] https://w3c.github.io/webrtc-pc/#dom-datachannel-bufferedamount

Bug: chromium:878682
Change-Id: Ife009d30c4a18dced9a54cf600a445bb1f02561d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/123237
Commit-Queue: Marina Ciocea <marinaciocea@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27057}
2019-03-11 13:21:36 +00:00
api Update DataChannel bufferedamount implementation. 2019-03-11 13:21:36 +00:00
audio Reland "Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current" 2019-03-11 12:32:49 +00:00
build_overrides Disable hermetic toolchain when building on macOS 10.14. 2018-12-07 13:57:28 +00:00
call Adds ChannelSend specific encoder task queue. 2019-03-08 15:53:12 +00:00
common_audio webrtc: Remove semicolons. 2019-02-20 16:02:59 +00:00
common_video Generic Frame Descriptor (GFD) VP8 templates. 2019-03-06 11:03:09 +00:00
crypto Adding new top-level directory crypto/ 2019-03-08 00:35:05 +00:00
data Remove old data files. 2018-10-05 14:40:21 +00:00
examples Finally delete deprecated mac capturer. 2019-03-07 10:35:03 +00:00
logging Allow suppression of padding check in RtpHeaderParser. 2019-03-08 15:54:17 +00:00
media Guard preferred_dscp with the network interface lock 2019-03-08 23:59:41 +00:00
modules Reland "Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current" 2019-03-11 12:32:49 +00:00
p2p Implicitly suppress //build/config/clang:find_bad_constructs. 2019-03-01 10:18:17 +00:00
pc Update DataChannel bufferedamount implementation. 2019-03-11 13:21:36 +00:00
resources 2nd reland of https://webrtc-review.googlesource.com/c/src/+/114883 2019-02-22 09:59:01 +00:00
rtc_base Reland "Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current" 2019-03-11 12:32:49 +00:00
rtc_tools Reland "Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current" 2019-03-11 12:32:49 +00:00
sdk Reland "Delete rtc::TaskQueue::Current in favor of webrtc::TaskQueueBase::Current" 2019-03-11 12:32:49 +00:00
stats Expose relative packet arrival delay metric in stats API. 2019-03-06 16:35: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 Add metrics::Samples to facilitate easier testing 2019-03-05 17:51:14 +00:00
test Rename EndpointNode into EmulatedEndpoint 2019-03-11 09:47:47 +00:00
tools_webrtc Bump iOS min supported version to 10.0 2019-03-07 13:08:17 +00:00
video Revert "Fix LibvpxVp8Encoder::FrameDropThreshold" 2019-03-11 12:16:09 +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 Add Visual Studio Code project folder to gitignore file. 2019-01-21 18:42:33 +00:00
.gn Bump iOS min supported version to 10.0 2019-03-07 13:08:17 +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 Ban absl::StrSplit and absl::StrJoin 2019-02-26 00:45:11 +00:00
AUTHORS Import proto_library.gni when rtc_enable_protobuf is true 2019-02-27 09:56:42 +00:00
BUILD.gn Prepare for splitting FrameType into AudioFrameType and VideoFrameType 2019-03-07 10:12:57 +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 Prepare for splitting FrameType into AudioFrameType and VideoFrameType 2019-03-07 10:12:57 +00:00
DEPS Roll chromium_revision 4029fd18b6..f2f5c1896e (639320:639430) 2019-03-11 09:38:26 +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 Delete unused I420 "codec" 2018-12-18 12:30:58 +00:00
OWNERS Clean up root OWNERS. 2018-11-09 14:23:59 +00:00
PATENTS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
presubmit_test_mocks.py Reland: Add presubmit check for changes in 3pp 2018-05-22 13:11:18 +00:00
presubmit_test.py Fixing py lint errors 2018-07-23 15:28:48 +00:00
PRESUBMIT.py Add a presubmit check for absl/memory/memory.h inclusion for WrapUnique 2019-02-28 14:12:48 +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 Remove rule that discourages passing optional by const reference 2019-02-05 11:58:05 +00:00
WATCHLISTS Modify pc/ WATCHLISTS definition 2019-01-31 22:09:16 +00:00
webrtc.gni Implicitly suppress //build/config/clang:find_bad_constructs. 2019-03-01 10:18:17 +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