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

Unified Diff: webrtc/api/objc/RTCIceCandidate.mm

Issue 1517253005: Update API for Objective-C RTCIceCandidate. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@updateRTCIceServer
Patch Set: Created 5 years 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/api/objc/RTCIceCandidate.mm
diff --git a/webrtc/api/objc/RTCIceCandidate.mm b/webrtc/api/objc/RTCIceCandidate.mm
new file mode 100644
index 0000000000000000000000000000000000000000..c114848e708e4612c20eb2df68a0d902faffa6ae
--- /dev/null
+++ b/webrtc/api/objc/RTCIceCandidate.mm
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2015 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 "RTCIceCandidate.h"
+
+#import "webrtc/api/objc/RTCIceCandidate+Private.h"
+#import "webrtc/base/objc/NSString+StdString.h"
+
+@implementation RTCIceCandidate
+
+@synthesize sdpMid = _sdpMid;
+@synthesize sdpMLineIndex = _sdpMLineIndex;
+@synthesize sdp = _sdp;
+
+- (instancetype)initWithSdpMid:(NSString *)sdpMid
+ sdpMLineIndex:(NSInteger)sdpMLineIndex
+ sdp:(NSString *)sdp {
+ NSParameterAssert(sdp.length);
+ if (self = [super init]) {
+ _sdpMid = [sdpMid copy];
+ _sdpMLineIndex = sdpMLineIndex;
+ _sdp = [sdp copy];
+ }
+ return self;
+}
+
+- (NSString *)description {
+ return [NSString stringWithFormat:@"RTCIceCandidate:\n%@\n%ld\n%@",
+ _sdpMid,
+ (long)_sdpMLineIndex,
+ _sdp];
+}
+
+#pragma mark - Private
+
+- (instancetype)initWithCandidate:(webrtc::IceCandidateInterface *)candidate {
+ std::string sdp;
tkchin_webrtc 2015/12/15 01:55:44 assert on candidate
hjon 2015/12/15 17:35:44 Done.
+ candidate->ToString(&sdp);
+
+ return [self initWithSdpMid:[NSString stringForStdString:candidate->sdp_mid()]
+ sdpMLineIndex:candidate->sdp_mline_index()
+ sdp:[NSString stringForStdString:sdp]];
+}
+
+- (rtc::scoped_ptr<webrtc::IceCandidateInterface>)candidate {
+ webrtc::IceCandidateInterface *candidate;
+ webrtc::SdpParseError error;
+
+ candidate = webrtc::CreateIceCandidate(
+ _sdpMid.stdString, _sdpMLineIndex, _sdp.stdString, &error);
+
+ if (candidate == NULL) {
tkchin_webrtc 2015/12/15 01:55:44 if (!candidate) {
hjon 2015/12/15 17:35:44 Done.
+ NSLog(@"Failed to create ICE candidate: %s\nline: %s",
tkchin_webrtc 2015/12/15 01:55:44 RTCLog #import "webrtc/base/RTCLogging.h"
hjon 2015/12/15 17:35:44 Done.
+ error.description.c_str(),
+ error.line.c_str());
+ }
+
+ rtc::scoped_ptr<webrtc::IceCandidateInterface> iceCandidate(candidate);
tkchin_webrtc 2015/12/15 01:55:44 I don't think you need this line, it *should* invo
hjon 2015/12/15 17:35:44 I might have misunderstood this, but simply puttin
+ return iceCandidate;
+}
+
+@end

Powered by Google App Engine
This is Rietveld 408576698