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

Unified Diff: content/renderer/media/webrtc/peer_connection_dependency_factory.cc

Issue 1500663003: Removing references to webrtc::PortAllocatorFactoryInterface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing patch conflicts. 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
« no previous file with comments | « no previous file | content/renderer/p2p/filtering_network_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/media/webrtc/peer_connection_dependency_factory.cc
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
index 869a4a55dccc0b9ed0b3037ecc83040087fb8652..faa92df16161653d9386bb8c18250d95eb77cab9 100644
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
@@ -135,87 +135,6 @@ void HarmonizeConstraintsAndEffects(RTCMediaConstraints* constraints,
}
}
-class P2PPortAllocatorFactory
- : public rtc::RefCountedObject<webrtc::PortAllocatorFactoryInterface> {
- public:
- P2PPortAllocatorFactory(
- scoped_ptr<media::MediaPermission> media_permission,
- const scoped_refptr<P2PSocketDispatcher>& socket_dispatcher,
- rtc::NetworkManager* network_manager,
- rtc::PacketSocketFactory* socket_factory,
- const P2PPortAllocator::Config& config,
- const GURL& origin,
- const scoped_refptr<base::SingleThreadTaskRunner>& task_runner)
- : media_permission_(media_permission.Pass()),
- socket_dispatcher_(socket_dispatcher),
- network_manager_(network_manager),
- socket_factory_(socket_factory),
- config_(config),
- origin_(origin),
- task_runner_(task_runner) {}
-
- cricket::PortAllocator* CreatePortAllocator(
- const std::vector<StunConfiguration>& stun_servers,
- const std::vector<TurnConfiguration>& turn_configurations) override {
- P2PPortAllocator::Config config = config_;
- for (size_t i = 0; i < stun_servers.size(); ++i) {
- config.stun_servers.insert(rtc::SocketAddress(
- stun_servers[i].server.hostname(),
- stun_servers[i].server.port()));
- }
- for (size_t i = 0; i < turn_configurations.size(); ++i) {
- P2PPortAllocator::Config::RelayServerConfig relay_config;
- relay_config.server_address = turn_configurations[i].server.hostname();
- relay_config.port = turn_configurations[i].server.port();
- relay_config.username = turn_configurations[i].username;
- relay_config.password = turn_configurations[i].password;
- relay_config.transport_type = turn_configurations[i].transport_type;
- relay_config.secure = turn_configurations[i].secure;
- config.relays.push_back(relay_config);
- }
-
- scoped_ptr<rtc::NetworkManager> network_manager;
- if (config.enable_multiple_routes) {
- media::MediaPermission* media_permission = media_permission_.get();
- FilteringNetworkManager* filtering_network_manager =
- new FilteringNetworkManager(network_manager_, origin_,
- media_permission_.Pass());
- if (media_permission) {
- // Start permission check earlier to reduce any impact to call set up
- // time. It's safe to use Unretained here since both destructor and
- // Initialize can only be called on the worker thread.
- task_runner_->PostTask(
- FROM_HERE, base::Bind(&FilteringNetworkManager::Initialize,
- base::Unretained(filtering_network_manager)));
- }
- network_manager.reset(filtering_network_manager);
- } else {
- network_manager.reset(new EmptyNetworkManager(network_manager_));
- }
-
- return new P2PPortAllocator(socket_dispatcher_, network_manager.Pass(),
- socket_factory_, config, origin_, task_runner_);
- }
-
- protected:
- ~P2PPortAllocatorFactory() override {}
-
- private:
- // Ownership of |media_permission_| will be passed to FilteringNetworkManager
- // during CreatePortAllocator.
- scoped_ptr<media::MediaPermission> media_permission_;
-
- scoped_refptr<P2PSocketDispatcher> socket_dispatcher_;
- rtc::NetworkManager* network_manager_;
- rtc::PacketSocketFactory* socket_factory_;
- P2PPortAllocator::Config config_;
- GURL origin_;
-
- // This is the worker thread where |media_permission_| and |network_manager_|
- // live on.
- scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
-};
-
PeerConnectionDependencyFactory::PeerConnectionDependencyFactory(
P2PSocketDispatcher* p2p_socket_dispatcher)
: network_manager_(NULL),
@@ -540,14 +459,30 @@ PeerConnectionDependencyFactory::CreatePeerConnection(
const GURL& requesting_origin =
GURL(web_frame->document().url().spec()).GetOrigin();
- scoped_refptr<P2PPortAllocatorFactory> pa_factory =
- new P2PPortAllocatorFactory(
- media_permission.Pass(), p2p_socket_dispatcher_, network_manager_,
- socket_factory_.get(), port_config, requesting_origin,
- chrome_worker_thread_.task_runner());
+ scoped_ptr<rtc::NetworkManager> network_manager;
+ if (port_config.enable_multiple_routes) {
+ media::MediaPermission* media_permission_ptr = media_permission.get();
+ FilteringNetworkManager* filtering_network_manager =
+ new FilteringNetworkManager(network_manager_, requesting_origin,
+ std::move(media_permission));
+ if (media_permission_ptr) {
+ // Start permission check earlier to reduce any impact to call set up
+ // time. It's safe to use Unretained here since both destructor and
+ // Initialize can only be called on the worker thread.
+ chrome_worker_thread_.task_runner()->PostTask(
+ FROM_HERE, base::Bind(&FilteringNetworkManager::Initialize,
+ base::Unretained(filtering_network_manager)));
+ }
+ network_manager.reset(filtering_network_manager);
+ } else {
+ network_manager.reset(new EmptyNetworkManager(network_manager_));
+ }
+ rtc::scoped_ptr<P2PPortAllocator> port_allocator(new P2PPortAllocator(
+ p2p_socket_dispatcher_, std::move(network_manager), socket_factory_.get(),
+ port_config, requesting_origin, chrome_worker_thread_.task_runner()));
return GetPcFactory()
- ->CreatePeerConnection(config, constraints, pa_factory.get(),
+ ->CreatePeerConnection(config, constraints, std::move(port_allocator),
std::move(identity_store), observer)
.get();
}
« no previous file with comments | « no previous file | content/renderer/p2p/filtering_network_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698