webrtc/sdk/objc
Benjamin Wright bfb444ce2c Adds new CryptoOption crypto_options.frame.require_frame_encryption.
This change adds a new subcategory to the public native webrtc::CryptoOptions
structure: webrtc::CryptoOptions::Frame.

This new structure has a single off by default property:
crypto_options.frame.require_frame_encryption.

This new flag if set prevents RtpSenders from sending outgoing payloads unless
a frame_encryptor_ is attached and prevents RtpReceivers from receiving
incoming payloads unless a frame_decryptor_ is attached.

This option is important to enforce no unencrypted data can ever leave the
device or be received.

I have also attached bindings for Java and Objective-C.

I have implemented this functionality for E2EE audio but not E2EE video
since the changes are still in review.

Bug: webrtc:9681
Change-Id: Ie184711190e0cdf5ac781f69e9489ceec904736f
Reviewed-on: https://webrtc-review.googlesource.com/c/105540
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25238}
2018-10-17 17:44:19 +00:00
..
api Adds new CryptoOption crypto_options.frame.require_frame_encryption. 2018-10-17 17:44:19 +00:00
base Adding support for logging severity LS_NONE. 2018-10-16 09:24:44 +00:00
components Check if __IPHONE_OS_VERSION_MAX_ALLOWED is defined before reference 2018-10-09 08:13:02 +00:00
Framework Revert "Add SSLConfig object to IceServer." 2018-09-12 10:46:04 +00:00
helpers Rename RTC_EXPORT to RTC_OBJC_EXPORT. 2018-09-17 10:06:57 +00:00
native Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
unittests Adding support for logging severity LS_NONE. 2018-10-16 09:24:44 +00:00
DEPS Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
Info.plist Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00
OWNERS Update sdk/objc ownership 2018-05-08 11:48:32 +00:00
README.md Obj-C SDK Cleanup 2018-08-30 10:42:41 +00:00

WebRTC Obj-C SDK

This directory contains the Obj-C SDK for WebRTC. This includes wrappers for the C++ PeerConnection API and some platform specific components for iOS and macOS.

Organization

  • api/

    Wrappers around classes and functions in the C++ API for creating and configuring peer connections, etc.

  • base/

    This directory contains some base protocols and classes that are used by both the platform specific components and the SDK wrappers.

  • components/

    These are the platform specific components. Contains components for handling audio, capturing and rendering video, encoding and decoding using the platform's hardware codec implementation and for representing video frames in the platform's native format.

  • helpers/

    These files are not WebRTC specific, but are general helper classes and utilities for the Cocoa platforms.

  • native/

    APIs for wrapping the platform specific components and using them with the C++ API.

  • unittests/

    This directory contains the tests.