Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(548)

Side by Side Diff: webrtc/sdk/objc/Framework/Classes/RTCConfiguration.mm

Issue 1971563002: Add config continualGatheringPolicy to the IOS RTCConfiguration. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: address comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #import "RTCConfiguration+Private.h" 11 #import "RTCConfiguration+Private.h"
12 12
13 #include <memory> 13 #include <memory>
14 14
15 #import "RTCIceServer+Private.h" 15 #import "RTCIceServer+Private.h"
16 #import "WebRTC/RTCLogging.h" 16 #import "WebRTC/RTCLogging.h"
17 17
18 #include "webrtc/base/sslidentity.h" 18 #include "webrtc/base/sslidentity.h"
19 19
20 @implementation RTCConfiguration 20 @implementation RTCConfiguration
21 21
22 @synthesize iceServers = _iceServers; 22 @synthesize iceServers = _iceServers;
23 @synthesize iceTransportPolicy = _iceTransportPolicy; 23 @synthesize iceTransportPolicy = _iceTransportPolicy;
24 @synthesize bundlePolicy = _bundlePolicy; 24 @synthesize bundlePolicy = _bundlePolicy;
25 @synthesize rtcpMuxPolicy = _rtcpMuxPolicy; 25 @synthesize rtcpMuxPolicy = _rtcpMuxPolicy;
26 @synthesize tcpCandidatePolicy = _tcpCandidatePolicy; 26 @synthesize tcpCandidatePolicy = _tcpCandidatePolicy;
27 @synthesize continualGatheringPolicy = _continualGatheringPolicy;
27 @synthesize audioJitterBufferMaxPackets = _audioJitterBufferMaxPackets; 28 @synthesize audioJitterBufferMaxPackets = _audioJitterBufferMaxPackets;
28 @synthesize iceConnectionReceivingTimeout = _iceConnectionReceivingTimeout; 29 @synthesize iceConnectionReceivingTimeout = _iceConnectionReceivingTimeout;
29 @synthesize iceBackupCandidatePairPingInterval = 30 @synthesize iceBackupCandidatePairPingInterval =
30 _iceBackupCandidatePairPingInterval; 31 _iceBackupCandidatePairPingInterval;
31 @synthesize keyType = _keyType; 32 @synthesize keyType = _keyType;
32 33
33 - (instancetype)init { 34 - (instancetype)init {
34 if (self = [super init]) { 35 if (self = [super init]) {
35 _iceServers = [NSMutableArray array]; 36 _iceServers = [NSMutableArray array];
36 // Copy defaults. 37 // Copy defaults.
37 webrtc::PeerConnectionInterface::RTCConfiguration config; 38 webrtc::PeerConnectionInterface::RTCConfiguration config;
38 _iceTransportPolicy = 39 _iceTransportPolicy =
39 [[self class] transportPolicyForTransportsType:config.type]; 40 [[self class] transportPolicyForTransportsType:config.type];
40 _bundlePolicy = 41 _bundlePolicy =
41 [[self class] bundlePolicyForNativePolicy:config.bundle_policy]; 42 [[self class] bundlePolicyForNativePolicy:config.bundle_policy];
42 _rtcpMuxPolicy = 43 _rtcpMuxPolicy =
43 [[self class] rtcpMuxPolicyForNativePolicy:config.rtcp_mux_policy]; 44 [[self class] rtcpMuxPolicyForNativePolicy:config.rtcp_mux_policy];
44 _tcpCandidatePolicy = [[self class] tcpCandidatePolicyForNativePolicy: 45 _tcpCandidatePolicy = [[self class] tcpCandidatePolicyForNativePolicy:
45 config.tcp_candidate_policy]; 46 config.tcp_candidate_policy];
47 webrtc::PeerConnectionInterface::ContinualGatheringPolicy nativePolicy =
48 config.continual_gathering_policy;
49 _continualGatheringPolicy =
50 [[self class] continualGatheringPolicyForNativePolicy:nativePolicy];
46 _audioJitterBufferMaxPackets = config.audio_jitter_buffer_max_packets; 51 _audioJitterBufferMaxPackets = config.audio_jitter_buffer_max_packets;
47 _iceConnectionReceivingTimeout = config.ice_connection_receiving_timeout; 52 _iceConnectionReceivingTimeout = config.ice_connection_receiving_timeout;
48 _iceBackupCandidatePairPingInterval = 53 _iceBackupCandidatePairPingInterval =
49 config.ice_backup_candidate_pair_ping_interval; 54 config.ice_backup_candidate_pair_ping_interval;
50 _keyType = RTCEncryptionKeyTypeECDSA; 55 _keyType = RTCEncryptionKeyTypeECDSA;
51 } 56 }
52 return self; 57 return self;
53 } 58 }
54 59
55 - (NSString *)description { 60 - (NSString *)description {
56 return [NSString stringWithFormat: 61 return [NSString stringWithFormat:
57 @"RTCConfiguration: {\n%@\n%@\n%@\n%@\n%@\n%d\n%d\n%d\n}\n", 62 @"RTCConfiguration: {\n%@\n%@\n%@\n%@\n%@\n%@\n%d\n%d\n%d\n}\n",
58 _iceServers, 63 _iceServers,
59 [[self class] stringForTransportPolicy:_iceTransportPolicy], 64 [[self class] stringForTransportPolicy:_iceTransportPolicy],
60 [[self class] stringForBundlePolicy:_bundlePolicy], 65 [[self class] stringForBundlePolicy:_bundlePolicy],
61 [[self class] stringForRtcpMuxPolicy:_rtcpMuxPolicy], 66 [[self class] stringForRtcpMuxPolicy:_rtcpMuxPolicy],
62 [[self class] stringForTcpCandidatePolicy:_tcpCandidatePolicy], 67 [[self class] stringForTcpCandidatePolicy:_tcpCandidatePolicy],
68 [[self class]
69 stringForContinualGatheringPolicy:_continualGatheringPolicy],
63 _audioJitterBufferMaxPackets, 70 _audioJitterBufferMaxPackets,
64 _iceConnectionReceivingTimeout, 71 _iceConnectionReceivingTimeout,
65 _iceBackupCandidatePairPingInterval]; 72 _iceBackupCandidatePairPingInterval];
66 } 73 }
67 74
68 #pragma mark - Private 75 #pragma mark - Private
69 76
70 - (webrtc::PeerConnectionInterface::RTCConfiguration)nativeConfiguration { 77 - (webrtc::PeerConnectionInterface::RTCConfiguration)nativeConfiguration {
71 webrtc::PeerConnectionInterface::RTCConfiguration nativeConfig; 78 webrtc::PeerConnectionInterface::RTCConfiguration nativeConfig;
72 79
73 for (RTCIceServer *iceServer in _iceServers) { 80 for (RTCIceServer *iceServer in _iceServers) {
74 nativeConfig.servers.push_back(iceServer.nativeServer); 81 nativeConfig.servers.push_back(iceServer.nativeServer);
75 } 82 }
76 nativeConfig.type = 83 nativeConfig.type =
77 [[self class] nativeTransportsTypeForTransportPolicy:_iceTransportPolicy]; 84 [[self class] nativeTransportsTypeForTransportPolicy:_iceTransportPolicy];
78 nativeConfig.bundle_policy = 85 nativeConfig.bundle_policy =
79 [[self class] nativeBundlePolicyForPolicy:_bundlePolicy]; 86 [[self class] nativeBundlePolicyForPolicy:_bundlePolicy];
80 nativeConfig.rtcp_mux_policy = 87 nativeConfig.rtcp_mux_policy =
81 [[self class] nativeRtcpMuxPolicyForPolicy:_rtcpMuxPolicy]; 88 [[self class] nativeRtcpMuxPolicyForPolicy:_rtcpMuxPolicy];
82 nativeConfig.tcp_candidate_policy = 89 nativeConfig.tcp_candidate_policy =
83 [[self class] nativeTcpCandidatePolicyForPolicy:_tcpCandidatePolicy]; 90 [[self class] nativeTcpCandidatePolicyForPolicy:_tcpCandidatePolicy];
91 nativeConfig.continual_gathering_policy = [[self class]
92 nativeContinualGatheringPolicyForPolicy:_continualGatheringPolicy];
84 nativeConfig.audio_jitter_buffer_max_packets = _audioJitterBufferMaxPackets; 93 nativeConfig.audio_jitter_buffer_max_packets = _audioJitterBufferMaxPackets;
85 nativeConfig.ice_connection_receiving_timeout = 94 nativeConfig.ice_connection_receiving_timeout =
86 _iceConnectionReceivingTimeout; 95 _iceConnectionReceivingTimeout;
87 nativeConfig.ice_backup_candidate_pair_ping_interval = 96 nativeConfig.ice_backup_candidate_pair_ping_interval =
88 _iceBackupCandidatePairPingInterval; 97 _iceBackupCandidatePairPingInterval;
89 if (_keyType == RTCEncryptionKeyTypeECDSA) { 98 if (_keyType == RTCEncryptionKeyTypeECDSA) {
90 std::unique_ptr<rtc::SSLIdentity> identity( 99 std::unique_ptr<rtc::SSLIdentity> identity(
91 rtc::SSLIdentity::Generate(webrtc::kIdentityName, rtc::KT_ECDSA)); 100 rtc::SSLIdentity::Generate(webrtc::kIdentityName, rtc::KT_ECDSA));
92 if (identity) { 101 if (identity) {
93 nativeConfig.certificates.push_back( 102 nativeConfig.certificates.push_back(
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 236
228 + (NSString *)stringForTcpCandidatePolicy:(RTCTcpCandidatePolicy)policy { 237 + (NSString *)stringForTcpCandidatePolicy:(RTCTcpCandidatePolicy)policy {
229 switch (policy) { 238 switch (policy) {
230 case RTCTcpCandidatePolicyEnabled: 239 case RTCTcpCandidatePolicyEnabled:
231 return @"TCP_ENABLED"; 240 return @"TCP_ENABLED";
232 case RTCTcpCandidatePolicyDisabled: 241 case RTCTcpCandidatePolicyDisabled:
233 return @"TCP_DISABLED"; 242 return @"TCP_DISABLED";
234 } 243 }
235 } 244 }
236 245
246 + (webrtc::PeerConnectionInterface::ContinualGatheringPolicy)
247 nativeContinualGatheringPolicyForPolicy:
248 (RTCContinualGatheringPolicy)policy {
249 switch (policy) {
250 case RTCGatherOnce:
251 return webrtc::PeerConnectionInterface::GATHER_ONCE;
252 case RTCGatherContinually:
253 return webrtc::PeerConnectionInterface::GATHER_CONTINUALLY;
254 }
255 }
256
257 + (RTCContinualGatheringPolicy)continualGatheringPolicyForNativePolicy:
258 (webrtc::PeerConnectionInterface::ContinualGatheringPolicy)nativePolicy {
259 switch (nativePolicy) {
260 case webrtc::PeerConnectionInterface::GATHER_ONCE:
261 return RTCGatherOnce;
262 case webrtc::PeerConnectionInterface::GATHER_CONTINUALLY:
263 return RTCGatherContinually;
264 }
265 }
266
267 + (NSString *)stringForContinualGatheringPolicy:
268 (RTCContinualGatheringPolicy)policy {
269 switch (policy) {
270 case RTCGatherOnce:
271 return @"GATHER_ONCE";
272 case RTCGatherContinually:
273 return @"GATHER_CONTINUALLY";
274 }
275 }
276
237 @end 277 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698