No description
Find a file
Lennart Grahl a743303211 Fix RTP header extension encryption
Previously, RTP header extensions with encryption had been filtered
if the encryption had been activated (not the other way around) which
was likely an unintended logic inversion.

In addition, it ensures that encrypted RTP header extensions are only
negotiated if RTP header extension encryption is turned on. Formerly,
which extensions had been negotiated depended on the order in which
they were inserted, regardless of whether or not header encryption was
actually enabled, leading to no extensions being sent on the wire.

Further changes:

- If RTP header encryption enabled, prefer encrypted extensions over
  non-encrypted extensions
- Add most extensions to list of extensions supported for encryption
- Discard encrypted extensions in a session description in case encryption
  is not supported for that extension

Note that this depends on https://github.com/cisco/libsrtp/pull/491 to get
into libwebrtc (cherry-pick or bump libsrtp version). Otherwise, two-byte
header extensions will prevent any RTP packets being sent/received.

Bug: webrtc:11713
Change-Id: Ia0779453d342fa11e06996d9bc2d3c826f3466d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177980
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Taylor <deadbeef@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33723}
2021-04-14 08:53:45 +00:00
api Fix RTP header extension encryption 2021-04-14 08:53:45 +00:00
audio Speed up FrameCombiner::Combine by 3x 2021-04-13 17:18:47 +00:00
build_overrides Roll chromium_revision 34f3c82122..2dffe06711 (867171:871492) 2021-04-12 18:25:58 +00:00
call Update WebRTC code version (2021-04-14T04:04:15). 2021-04-14 05:47:23 +00:00
common_audio Remove from chromium build targets that are not compatible with it. 2021-02-01 13:46:19 +00:00
common_video Provide a default implementation of NV12BufferInterface::CropAndScale. 2021-03-22 11:09:36 +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 Change from sakal@webrtc.org to xalep@webrtc.org in OWNERS files. 2021-04-14 08:27:54 +00:00
g3doc Add g3doc for audio coding module. 2021-04-14 07:45:56 +00:00
logging Remove use of istream in RTC event log parser. 2021-03-31 13:21:58 +00:00
media sctp: Rename SctpTransport to UsrSctpTransport 2021-04-12 10:40:34 +00:00
modules Fix RTP header extension encryption 2021-04-14 08:53:45 +00:00
net/dcsctp dcsctp: Fix post-review comments for DataTracker 2021-04-14 07:54:06 +00:00
p2p Add death test for WrappingAsyncResolver 2021-04-13 10:11:50 +00:00
pc Fix RTP header extension encryption 2021-04-14 08:53:45 +00:00
resources Disable high-pass filtering of the AEC reference 2021-02-23 07:06:11 +00:00
rtc_base Change from sakal@webrtc.org to xalep@webrtc.org in OWNERS files. 2021-04-14 08:27:54 +00:00
rtc_tools Reland "Enable use of rtc::SystemTimeNanos() provided by Chromium" 2021-02-25 10:48:55 +00:00
sdk Change from sakal@webrtc.org to xalep@webrtc.org in OWNERS files. 2021-04-14 08:27:54 +00:00
stats Remove RTCRemoteInboundRtpStreamStats duplicate members. 2021-04-08 09:06:24 +00:00
style-guide Remove kwiberg@webrtc.org from OWNERS files 2020-12-04 15:11:26 +00:00
system_wrappers Consolidate the different NTP clocks into one. 2021-04-08 13:54:04 +00:00
test Track last packet receive times in RtpVideoStreamReceiver instead of the PacketBuffer. 2021-04-13 18:24:45 +00:00
tools_webrtc Change from sakal@webrtc.org to xalep@webrtc.org in OWNERS files. 2021-04-14 08:27:54 +00:00
video Fix RTP header extension encryption 2021-04-14 08:53:45 +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 Rename PlayoutDelay --> VideoPlayoutDelay, move to api/video/video_timing.h 2020-09-07 08:37:14 +00:00
.vpython Reland "Add protobuf-py2_py3 3.13.0 to .vpython." 2020-11-20 07:52:26 +00:00
abseil-in-webrtc.md Polish the "Using Abseil in WebRTC" docs 2020-10-16 13:42:00 +00:00
AUTHORS Adds missing header to fix compilation error when compiling with use_custom_libcxx set to false. 2021-03-25 09:57:00 +00:00
BUILD.gn Move RTC_ENABLE_WIN_WGC define to the top level BUILD.gn 2021-04-08 16:31:49 +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 0bde1c5411..1a13f11499 (871876:872016) 2021-04-13 18:43:25 +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 Add titovartem@webrtc.org as owner for /g3doc 2021-04-12 13:40:47 +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 doc: move bug reporting instructions to the repository 2020-10-21 14:47:49 +00:00
style-guide.md Add deprecation section to webrtc style guide 2021-02-22 13:34:40 +00:00
WATCHLISTS Add hta@ to rtc_base/ and api/ WATCHLISTS. 2021-01-06 09:43:34 +00:00
webrtc.gni Roll chromium_revision 34f3c82122..2dffe06711 (867171:871492) 2021-04-12 18:25:58 +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 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