webrtc_m130/sdk/objc/api/peerconnection/RTCPeerConnectionFactoryOptions.mm

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

62 lines
2.3 KiB
Plaintext
Raw Normal View History

/*
* Copyright 2017 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#import "RTCPeerConnectionFactoryOptions+Private.h"
#include "rtc_base/network_constants.h"
namespace {
void setNetworkBit(webrtc::PeerConnectionFactoryInterface::Options* options,
rtc::AdapterType type,
bool ignore) {
if (ignore) {
options->network_ignore_mask |= type;
} else {
options->network_ignore_mask &= ~type;
}
}
} // namespace
@implementation RTCPeerConnectionFactoryOptions
@synthesize disableEncryption = _disableEncryption;
@synthesize disableNetworkMonitor = _disableNetworkMonitor;
@synthesize ignoreLoopbackNetworkAdapter = _ignoreLoopbackNetworkAdapter;
@synthesize ignoreVPNNetworkAdapter = _ignoreVPNNetworkAdapter;
@synthesize ignoreCellularNetworkAdapter = _ignoreCellularNetworkAdapter;
@synthesize ignoreWiFiNetworkAdapter = _ignoreWiFiNetworkAdapter;
@synthesize ignoreEthernetNetworkAdapter = _ignoreEthernetNetworkAdapter;
@synthesize enableAes128Sha1_32CryptoCipher = _enableAes128Sha1_32CryptoCipher;
@synthesize enableGcmCryptoSuites = _enableGcmCryptoSuites;
- (instancetype)init {
return [super init];
}
- (webrtc::PeerConnectionFactoryInterface::Options)nativeOptions {
webrtc::PeerConnectionFactoryInterface::Options options;
options.disable_encryption = self.disableEncryption;
options.disable_network_monitor = self.disableNetworkMonitor;
setNetworkBit(&options, rtc::ADAPTER_TYPE_LOOPBACK, self.ignoreLoopbackNetworkAdapter);
setNetworkBit(&options, rtc::ADAPTER_TYPE_VPN, self.ignoreVPNNetworkAdapter);
setNetworkBit(&options, rtc::ADAPTER_TYPE_CELLULAR, self.ignoreCellularNetworkAdapter);
setNetworkBit(&options, rtc::ADAPTER_TYPE_WIFI, self.ignoreWiFiNetworkAdapter);
setNetworkBit(&options, rtc::ADAPTER_TYPE_ETHERNET, self.ignoreEthernetNetworkAdapter);
Revert "Move CryptoOptions to api/crypto from rtc_base/sslstreamadapter.h" This reverts commit ac2f3d14e45398930bc35ff05ed7a3b9b617d328. Reason for revert: Breaks downstream project Original change's description: > 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} TBR=steveanton@webrtc.org,sakal@webrtc.org,kthelgason@webrtc.org,emadomara@webrtc.org,qingsi@webrtc.org,benwright@webrtc.org Bug: webrtc:9681 Change-Id: Ib0075c477c951b540d4deecb3b0cf8cf86ba0fff Reviewed-on: https://webrtc-review.googlesource.com/c/105541 Reviewed-by: Oleh Prypin <oprypin@webrtc.org> Commit-Queue: Oleh Prypin <oprypin@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25133}
2018-10-11 21:10:39 +00:00
options.crypto_options.enable_aes128_sha1_32_crypto_cipher = self.enableAes128Sha1_32CryptoCipher;
options.crypto_options.enable_gcm_crypto_suites = self.enableGcmCryptoSuites;
return options;
}
@end