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

Unified Diff: talk/app/webrtc/peerconnection.cc

Issue 1269843005: Added DtlsCertificate, a ref counted object owning an SSLIdentity (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Trying to get iOS to compile Created 5 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: talk/app/webrtc/peerconnection.cc
diff --git a/talk/app/webrtc/peerconnection.cc b/talk/app/webrtc/peerconnection.cc
index a53e2cb510ef9806299f6314617ff8ccc0d41d82..a2ccd21b9432946daa3535366b95977b209fa278 100644
--- a/talk/app/webrtc/peerconnection.cc
+++ b/talk/app/webrtc/peerconnection.cc
@@ -351,6 +351,48 @@ bool PeerConnection::Initialize(
PortAllocatorFactoryInterface* allocator_factory,
rtc::scoped_ptr<DtlsIdentityStoreInterface> dtls_identity_store,
PeerConnectionObserver* observer) {
+ if (!InitializeCommon(configuration, constraints, allocator_factory,
+ observer)) {
+ return false;
+ }
+
+ // Initialize the WebRtcSession with our optional |dtls_identity_store|.
+ // It creates transport channels etc.
+ if (!session_->Initialize(factory_->options(), constraints,
+ dtls_identity_store.Pass(), configuration)) {
+ return false;
+ }
+ InitializeSessionAfterInit();
+ return true;
+}
+
+bool PeerConnection::Initialize(
+ const PeerConnectionInterface::RTCConfiguration& configuration,
+ const MediaConstraintsInterface* constraints,
+ PortAllocatorFactoryInterface* allocator_factory,
+ const rtc::scoped_refptr<DtlsCertificate>& certificate,
+ PeerConnectionObserver* observer) {
+ DCHECK(certificate.get());
+ if (!InitializeCommon(configuration, constraints, allocator_factory,
+ observer)) {
+ return false;
+ }
+
+ // Initialize the WebRtcSession with our |certificate|.
+ // It creates transport channels etc.
+ if (!session_->Initialize(factory_->options(), constraints,
+ certificate, configuration)) {
+ return false;
+ }
+ InitializeSessionAfterInit();
+ return true;
+}
+
+bool PeerConnection::InitializeCommon(
Henrik Grunell WebRTC 2015/08/12 14:46:29 InitializeInternal() is slightly better imo.
hbos 2015/08/14 14:09:38 Done.
+ const PeerConnectionInterface::RTCConfiguration& configuration,
+ const MediaConstraintsInterface* constraints,
+ PortAllocatorFactoryInterface* allocator_factory,
+ PeerConnectionObserver* observer) {
ASSERT(observer != NULL);
if (!observer)
return false;
@@ -402,17 +444,14 @@ bool PeerConnection::Initialize(
stream_handler_container_.reset(new MediaStreamHandlerContainer(
session_.get(), session_.get()));
stats_.reset(new StatsCollector(session_.get()));
+ return true;
+}
- // Initialize the WebRtcSession. It creates transport channels etc.
- if (!session_->Initialize(factory_->options(), constraints,
- dtls_identity_store.Pass(), configuration))
- return false;
-
+void PeerConnection::InitializeSessionAfterInit() {
Henrik Grunell WebRTC 2015/08/12 14:46:29 Maybe RegisterAsIceObserver()?
hbos 2015/08/14 14:09:38 Function not needed anymore.
// Register PeerConnection as receiver of local ice candidates.
// All the callbacks will be posted to the application from PeerConnection.
session_->RegisterIceObserver(this);
session_->SignalState.connect(this, &PeerConnection::OnSessionStateChange);
- return true;
}
rtc::scoped_refptr<StreamCollectionInterface>

Powered by Google App Engine
This is Rietveld 408576698