webrtc/api
Benjamin Wright a54daf162f Reland "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.

Reland Fix:
- cryptooptions.h - now has enable_aes128_sha1_32_crypto_cipher as an optional
                    root level configuration.
- peerconnectionfactory - If this optional is set will now overwrite the
                          underyling value.

This along with the other field will be deprecated once dependent projects
are updated.

TBR=sakal@webrtc.org,kthelgason@webrtc.org,emadomara@webrtc.org,qingsi@webrtc.org

Bug: webrtc:9681
Change-Id: Iaa6b741baafb85d352e42f54226119f19d97151d
Reviewed-on: https://webrtc-review.googlesource.com/c/105560
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Emad Omara <emadomara@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25135}
2018-10-11 23:09:07 +00:00
..
audio AEC3: Enabling by default the use of the stationarity properties at render at init 2018-10-11 16:14:22 +00:00
audio_codecs Reland "Export symbols needed by the Chromium component build (part 1)." 2018-10-11 09:50:21 +00:00
call Adds flags indicating presence in allocation and feedback per packet. 2018-10-09 18:24:38 +00:00
crypto Reland "Move CryptoOptions to api/crypto from rtc_base/sslstreamadapter.h" 2018-10-11 23:09:07 +00:00
ortc Reland "Delete leftover includes and declarations for MediaConstraintsInterface" 2018-09-03 09:00:01 +00:00
stats getStats: add relayProtocol 2018-10-02 08:43:06 +00:00
test Revert "Add ability to specify if rate controller of video encoder is trusted." 2018-10-11 15:37:40 +00:00
transport Implement (mostly) standards-compliant RTCIceTransportState. 2018-10-10 08:10:16 +00:00
units Fix visibility of api/units build targets. 2018-10-08 07:27:30 +00:00
video Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
video_codecs Revert "Add ability to specify if rate controller of video encoder is trusted." 2018-10-11 15:37:40 +00:00
array_view.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
array_view_unittest.cc ArrayView, adding ctor for fixed-size views of const(expr) std::array. 2018-05-15 13:49:02 +00:00
asyncresolverfactory.h Support domain name ICE candidates 2018-08-24 04:54:43 +00:00
audio_options.cc Uninline non-trivial AudioOptions functions 2018-08-31 16:25:48 +00:00
audio_options.h Uninline non-trivial AudioOptions functions 2018-08-31 16:25:48 +00:00
bitrate_constraints.h Convert video quality test from a TEST_F to a TEST fixture. 2018-06-21 15:49:43 +00:00
BUILD.gn Reland "Move CryptoOptions to api/crypto from rtc_base/sslstreamadapter.h" 2018-10-11 23:09:07 +00:00
candidate.cc Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
candidate.h Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
cryptoparams.h Reland "Move CryptoOptions to api/crypto from rtc_base/sslstreamadapter.h" 2018-10-11 23:09:07 +00:00
datachannelinterface.cc Enabling clang::find_bad_constructs for libjingle_peerconnection_api. 2018-07-19 09:17:10 +00:00
datachannelinterface.h Enabling clang::find_bad_constructs for libjingle_peerconnection_api. 2018-07-19 09:17:10 +00:00
DEPS Moves GoogCC factory to API. 2018-10-10 06:11:36 +00:00
dtmfsenderinterface.h Add "tones remaining" argument to DTMF ontonechange callback 2018-09-07 17:29:37 +00:00
fec_controller.h Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
jsep.cc Enabling clang::find_bad_constructs for libjingle_peerconnection_api. 2018-07-19 09:17:10 +00:00
jsep.h Add CreateSessionDescription overload which takes a cricket::SessionDescription 2018-07-25 18:03:05 +00:00
jsepicecandidate.cc Enable clang::find_bad_constructs for sdk/android (part 1/2). 2018-07-20 21:35:40 +00:00
jsepicecandidate.h Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
jsepsessiondescription.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
media_transport_interface.cc Pass MediaTransportFactory to PeerConnectionFactory. 2018-10-08 18:11:06 +00:00
media_transport_interface.h Pass MediaTransportFactory to PeerConnectionFactory. 2018-10-08 18:11:06 +00:00
mediaconstraintsinterface.cc Removing the intelligibility enhancer. 2018-08-30 21:29:57 +00:00
mediaconstraintsinterface.h Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
mediastreaminterface.cc Final name changing of MediaStreamInterface.label() to id(). 2018-03-14 20:30:52 +00:00
mediastreaminterface.h Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
mediastreamproxy.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
mediastreamtrackproxy.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
mediatypes.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
mediatypes.h Convert video quality test from a TEST_F to a TEST fixture. 2018-06-21 15:49:43 +00:00
notifier.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
OWNERS Adding shampson (me) as an owner to pc/ & api/. 2018-07-03 20:39:17 +00:00
peerconnectionfactoryproxy.h Delete almost all use of MediaConstraintsInterface in the PeerConnection API 2018-08-23 07:14:37 +00:00
peerconnectioninterface.cc Reland "Delete leftover includes and declarations for MediaConstraintsInterface" 2018-09-03 09:00:01 +00:00
peerconnectioninterface.h Reland "Move CryptoOptions to api/crypto from rtc_base/sslstreamadapter.h" 2018-10-11 23:09:07 +00:00
peerconnectionproxy.h Delete almost all use of MediaConstraintsInterface in the PeerConnection API 2018-08-23 07:14:37 +00:00
proxy.cc Enable the clang style plugin in primary p2p/ target 2017-11-01 00:19:05 +00:00
proxy.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
refcountedbase.h New classes RefCounter and RefCountedBase. 2017-10-23 11:46:47 +00:00
rtcerror.cc Remove all remaining non-test uses of std::stringstream. 2018-09-13 08:52:05 +00:00
rtcerror.h Remove all remaining non-test uses of std::stringstream. 2018-09-13 08:52:05 +00:00
rtcerror_unittest.cc Remove all remaining non-test uses of std::stringstream. 2018-09-13 08:52:05 +00:00
rtceventlogoutput.h Move RtcEventLogOutput to api/ 2017-10-06 13:58:14 +00:00
rtp_headers.cc Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
rtp_headers.h Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
rtpparameters.cc Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
rtpparameters.h Add support for sending RTP two-byte header extensions. 2018-10-05 08:45:52 +00:00
rtpparameters_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
rtpreceiverinterface.cc Injects FrameEncryptorInterface into RtpSender. 2018-08-30 00:33:54 +00:00
rtpreceiverinterface.h Injects FrameEncryptorInterface into RtpSender. 2018-08-30 00:33:54 +00:00
rtpsenderinterface.cc Add support for send_encodings parameters in addTransceiver 2018-10-01 22:56:30 +00:00
rtpsenderinterface.h Reland "[cleanup] Remove useless includes." 2018-10-08 07:44:19 +00:00
rtptransceiverinterface.cc Add dummy implementation for SetCodecPReferences. 2018-09-24 18:26:10 +00:00
rtptransceiverinterface.h Add dummy implementation for SetCodecPReferences. 2018-09-24 18:26:10 +00:00
setremotedescriptionobserverinterface.h Reland "SetRemoteDescriptionObserverInterface added." 2017-11-23 19:59:48 +00:00
statstypes.cc Reimplement rtc::ToString and rtc::FromString without streams. 2018-08-16 16:14:01 +00:00
statstypes.h Revert "Add framesRendered to StatsReport" 2018-07-27 14:53:07 +00:00
turncustomizer.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
umametrics.h Remove MetricsObserverInterface. 2018-07-19 23:00:20 +00:00
videosourceproxy.h Replace rtc::Optional with absl::optional in api 2018-06-21 12:50:03 +00:00