OLD | NEW |
---|---|
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 "RTCIceCandidate+Private.h" | 11 #import "RTCIceCandidate+Private.h" |
12 | 12 |
13 #include <memory> | 13 #include <memory> |
14 | 14 |
15 #import "NSString+StdString.h" | 15 #import "NSString+StdString.h" |
16 #import "WebRTC/RTCLogging.h" | 16 #import "WebRTC/RTCLogging.h" |
17 | 17 |
18 @implementation RTCIceCandidate | 18 @implementation RTCIceCandidate |
19 | 19 |
20 @synthesize sdpMid = _sdpMid; | 20 @synthesize sdpMid = _sdpMid; |
21 @synthesize sdpMLineIndex = _sdpMLineIndex; | 21 @synthesize sdpMLineIndex = _sdpMLineIndex; |
22 @synthesize sdp = _sdp; | 22 @synthesize sdp = _sdp; |
23 @synthesize serverUrl = _serverUrl; | |
23 | 24 |
24 - (instancetype)initWithSdp:(NSString *)sdp | 25 - (instancetype)initWithSdp:(NSString *)sdp |
25 sdpMLineIndex:(int)sdpMLineIndex | 26 sdpMLineIndex:(int)sdpMLineIndex |
26 sdpMid:(NSString *)sdpMid { | 27 sdpMid:(NSString *)sdpMid { |
28 return [self initWithSdpAndServerUrl:sdp | |
29 sdpMLineIndex:sdpMLineIndex | |
30 sdpMid:sdpMid | |
31 serverUrl:@""]; | |
32 } | |
33 | |
34 - (instancetype)initWithSdpAndServerUrl:(NSString *)sdp | |
tkchin_webrtc
2017/02/14 21:58:55
remove this ctor since it's only ever used private
Zhi Huang
2017/02/15 00:22:48
Done.
| |
35 sdpMLineIndex:(int)sdpMLineIndex | |
36 sdpMid:(NSString *)sdpMid | |
37 serverUrl:(NSString *)serverUrl { | |
27 NSParameterAssert(sdp.length); | 38 NSParameterAssert(sdp.length); |
28 if (self = [super init]) { | 39 if (self = [super init]) { |
29 _sdpMid = [sdpMid copy]; | 40 _sdpMid = [sdpMid copy]; |
30 _sdpMLineIndex = sdpMLineIndex; | 41 _sdpMLineIndex = sdpMLineIndex; |
31 _sdp = [sdp copy]; | 42 _sdp = [sdp copy]; |
43 _serverUrl = [serverUrl copy]; | |
tkchin_webrtc
2017/02/14 21:58:55
remove
Zhi Huang
2017/02/15 00:22:49
Done.
| |
32 } | 44 } |
33 return self; | 45 return self; |
34 } | 46 } |
35 | 47 |
36 - (NSString *)description { | 48 - (NSString *)description { |
37 return [NSString stringWithFormat:@"RTCIceCandidate:\n%@\n%d\n%@", | 49 return [NSString stringWithFormat:@"RTCIceCandidate:\n%@\n%d\n%@\n%@", |
38 _sdpMid, | 50 _sdpMid, |
39 _sdpMLineIndex, | 51 _sdpMLineIndex, |
40 _sdp]; | 52 _sdp, |
53 _serverUrl]; | |
41 } | 54 } |
42 | 55 |
43 #pragma mark - Private | 56 #pragma mark - Private |
44 | 57 |
45 - (instancetype)initWithNativeCandidate: | 58 - (instancetype)initWithNativeCandidate: |
46 (const webrtc::IceCandidateInterface *)candidate { | 59 (const webrtc::IceCandidateInterface *)candidate { |
47 NSParameterAssert(candidate); | 60 NSParameterAssert(candidate); |
48 std::string sdp; | 61 std::string sdp; |
49 candidate->ToString(&sdp); | 62 candidate->ToString(&sdp); |
50 | 63 |
51 return [self initWithSdp:[NSString stringForStdString:sdp] | 64 return [self initWithSdpAndServerUrl:[NSString stringForStdString:sdp] |
tkchin_webrtc
2017/02/14 21:58:55
RTCIceCandidate *candidate = [self initWithSdp:sdp
Zhi Huang
2017/02/15 00:22:49
Done.
| |
52 sdpMLineIndex:candidate->sdp_mline_index() | 65 sdpMLineIndex:candidate->sdp_mline_index() |
53 sdpMid:[NSString stringForStdString:candidate->sdp_mid()]]; | 66 sdpMid:[NSString stringForStdString:candidate->s dp_mid()] |
67 serverUrl:[NSString stringForStdString:candidate->s erver_url()]]; | |
54 } | 68 } |
55 | 69 |
56 - (std::unique_ptr<webrtc::IceCandidateInterface>)nativeCandidate { | 70 - (std::unique_ptr<webrtc::IceCandidateInterface>)nativeCandidate { |
57 webrtc::SdpParseError error; | 71 webrtc::SdpParseError error; |
58 | 72 |
59 webrtc::IceCandidateInterface *candidate = webrtc::CreateIceCandidate( | 73 webrtc::IceCandidateInterface *candidate = webrtc::CreateIceCandidate( |
60 _sdpMid.stdString, _sdpMLineIndex, _sdp.stdString, &error); | 74 _sdpMid.stdString, _sdpMLineIndex, _sdp.stdString, &error); |
61 | 75 |
62 if (!candidate) { | 76 if (!candidate) { |
63 RTCLog(@"Failed to create ICE candidate: %s\nline: %s", | 77 RTCLog(@"Failed to create ICE candidate: %s\nline: %s", |
64 error.description.c_str(), | 78 error.description.c_str(), |
65 error.line.c_str()); | 79 error.line.c_str()); |
66 } | 80 } |
67 | 81 |
68 return std::unique_ptr<webrtc::IceCandidateInterface>(candidate); | 82 return std::unique_ptr<webrtc::IceCandidateInterface>(candidate); |
69 } | 83 } |
70 | 84 |
71 @end | 85 @end |
OLD | NEW |