Index: talk/app/webrtc/peerconnectioninterface.h |
diff --git a/talk/app/webrtc/peerconnectioninterface.h b/talk/app/webrtc/peerconnectioninterface.h |
index 946b1253c99bfca3ce1bd508a0973f6f437e83d6..6dda4fbe8ae1391d0845bd79418bbd6cb3f164f9 100644 |
--- a/talk/app/webrtc/peerconnectioninterface.h |
+++ b/talk/app/webrtc/peerconnectioninterface.h |
@@ -72,6 +72,7 @@ |
#include <vector> |
#include "talk/app/webrtc/datachannelinterface.h" |
+#include "talk/app/webrtc/dtlscertificate.h" |
#include "talk/app/webrtc/dtlsidentitystore.h" |
#include "talk/app/webrtc/dtmfsenderinterface.h" |
#include "talk/app/webrtc/jsep.h" |
@@ -535,6 +536,7 @@ class PeerConnectionFactoryInterface : public rtc::RefCountInterface { |
// TODO(hbos): Temporary CreatePeerConnection function while we transition |
// from DTLSIdentityServiceInterface to DtlsIdentityStoreInterface. |
+ // This method takes the ownership of |dtls_identity_service|. |
rtc::scoped_refptr<PeerConnectionInterface> |
CreatePeerConnection( |
const PeerConnectionInterface::RTCConfiguration& configuration, |
@@ -547,6 +549,9 @@ class PeerConnectionFactoryInterface : public rtc::RefCountInterface { |
dtls_identity_service, observer); |
} |
+ // If a |dtls_identity_service| is provided it will be used for |
+ // SSLIdentity/DtlsCertificate generation, otherwise a default service will be |
+ // used. |
// This method takes the ownership of |dtls_identity_service|. |
virtual rtc::scoped_refptr<PeerConnectionInterface> |
CreatePeerConnection( |
@@ -556,6 +561,17 @@ class PeerConnectionFactoryInterface : public rtc::RefCountInterface { |
DTLSIdentityServiceInterface* dtls_identity_service, |
PeerConnectionObserver* observer) = 0; |
+ // With the |certificate| already generated, this version of |
+ // CreatePeerConnection can skip the need to generate |
+ // SSLIdentity/DtlsCertificate. |certificate| must not be a null reference. |
+ virtual rtc::scoped_refptr<PeerConnectionInterface> |
+ CreatePeerConnection( |
+ const PeerConnectionInterface::RTCConfiguration& configuration, |
+ const MediaConstraintsInterface* constraints, |
+ PortAllocatorFactoryInterface* allocator_factory, |
+ rtc::scoped_refptr<DtlsCertificate> certificate, |
+ PeerConnectionObserver* observer) = 0; |
+ |
// TODO(mallinath) : Remove below versions after clients are updated |
// to above method. |
// In latest W3C WebRTC draft, PC constructor will take RTCConfiguration, |