webrtc/sdk/objc
Benjamin Wright ac2f3d14e4 Move CryptoOptions to api/crypto from rtc_base/sslstreamadapter.h
Promotes rtc::CryptoOptions to webrtc::CryptoOptions converting it from class
that only handles SRTP configuration to a more generic structure that can be
used and extended for all per peer connection CryptoOptions that can be on a
given PeerConnection.

Now all SRTP related options are under webrtc::CryptoOptions::Srtp and can be
accessed as crypto_options.srtp.whatever_option_name. This is more inline with
other structures we have in WebRTC such as VideoConfig. As additional features
are added over time this will allow the structure to remain compartmentalized
and concerned components can only request a subset of the overall configuration
structure e.g:

void MySrtpFunction(const webrtc::CryptoOptions::Srtp& srtp_config);

In addition to this it made little sense for sslstreamadapter.h to hold all
Srtp related configuration options. The header has become loo large and takes on
too many responsibilities and spilting this up will lead to more maintainable
code going forward.

This will be used in a future CL to enable configuration options for the newly
supported Frame Crypto.

Change-Id: I99d1be36740c59548c8e62db52d68d738649707f
Bug: webrtc:9681
Reviewed-on: https://webrtc-review.googlesource.com/c/105180
Reviewed-by: Emad Omara <emadomara@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25130}
2018-10-11 19:14:42 +00:00
..
api Move CryptoOptions to api/crypto from rtc_base/sslstreamadapter.h 2018-10-11 19:14:42 +00:00
base Remove backwards compatible macro RTC_EXPORT from sdk/. 2018-09-28 10:22:52 +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 Pass MediaTransportFactory to PeerConnectionFactory. 2018-10-08 18:11:06 +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.