Add an rtc::SocketFactory* member to PeerConnectionFactoryDependencies

Bug: webrtc:13145
Change-Id: I0267013fdda42e09dc23551a73a6151e0fb9b72e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249950
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35909}
diff --git a/api/create_peerconnection_factory.cc b/api/create_peerconnection_factory.cc
index 008fce3..c41b6d6 100644
--- a/api/create_peerconnection_factory.cc
+++ b/api/create_peerconnection_factory.cc
@@ -49,6 +49,10 @@
       dependencies.task_queue_factory.get());
   dependencies.trials = std::make_unique<webrtc::FieldTrialBasedConfig>();
 
+  if (network_thread) {
+    // TODO(bugs.webrtc.org/13145): Add an rtc::SocketFactory* argument.
+    dependencies.socket_factory = network_thread->socketserver();
+  }
   cricket::MediaEngineDependencies media_dependencies;
   media_dependencies.task_queue_factory = dependencies.task_queue_factory.get();
   media_dependencies.adm = std::move(default_adm);
diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h
index ed801a7..1a6e782 100644
--- a/api/peer_connection_interface.h
+++ b/api/peer_connection_interface.h
@@ -1421,6 +1421,7 @@
   rtc::Thread* network_thread = nullptr;
   rtc::Thread* worker_thread = nullptr;
   rtc::Thread* signaling_thread = nullptr;
+  rtc::SocketFactory* socket_factory = nullptr;
   std::unique_ptr<TaskQueueFactory> task_queue_factory;
   std::unique_ptr<cricket::MediaEngineInterface> media_engine;
   std::unique_ptr<CallFactoryInterface> call_factory;