OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_ |
6 #define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_ | 6 #define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
12 #include "base/memory/scoped_ptr.h" | |
13 #include "content/common/content_export.h" | 12 #include "content/common/content_export.h" |
14 #include "third_party/libjingle/source/talk/app/webrtc/peerconnection.h" | 13 #include "third_party/libjingle/source/talk/app/webrtc/peerconnection.h" |
15 #include "webkit/glue/p2p_transport.h" | 14 #include "webkit/glue/p2p_transport.h" |
16 | 15 |
17 namespace content { | 16 namespace content { |
18 class IpcNetworkManager; | 17 class IpcNetworkManager; |
19 class IpcPacketSocketFactory; | 18 class IpcPacketSocketFactory; |
20 class P2PSocketDispatcher; | 19 class P2PSocketDispatcher; |
21 } | 20 } |
22 | 21 |
(...skipping 10 matching lines...) Expand all Loading... |
33 namespace webrtc { | 32 namespace webrtc { |
34 class PeerConnection; | 33 class PeerConnection; |
35 class VideoCaptureModule; | 34 class VideoCaptureModule; |
36 } | 35 } |
37 | 36 |
38 class VideoCaptureImplManager; | 37 class VideoCaptureImplManager; |
39 | 38 |
40 // Object factory for MediaStreamImpl and PeerConnectionHandler. | 39 // Object factory for MediaStreamImpl and PeerConnectionHandler. |
41 class CONTENT_EXPORT MediaStreamDependencyFactory { | 40 class CONTENT_EXPORT MediaStreamDependencyFactory { |
42 public: | 41 public: |
43 MediaStreamDependencyFactory(VideoCaptureImplManager* vc_manager); | 42 explicit MediaStreamDependencyFactory(VideoCaptureImplManager* vc_manager); |
44 virtual ~MediaStreamDependencyFactory(); | 43 virtual ~MediaStreamDependencyFactory(); |
45 | 44 |
46 // Creates and deletes |pc_factory_|, which in turn is used for | 45 // Creates and deletes |pc_factory_|, which in turn is used for |
47 // creating PeerConnection objects. | 46 // creating PeerConnection objects. |
48 virtual bool CreatePeerConnectionFactory( | 47 virtual bool CreatePeerConnectionFactory( |
49 talk_base::Thread* worker_thread, | 48 talk_base::Thread* worker_thread, |
50 talk_base::Thread* signaling_thread, | 49 talk_base::Thread* signaling_thread, |
51 content::P2PSocketDispatcher* socket_dispatcher, | 50 content::P2PSocketDispatcher* socket_dispatcher, |
52 talk_base::NetworkManager* network_manager, | 51 talk_base::NetworkManager* network_manager, |
53 talk_base::PacketSocketFactory* socket_factory); | 52 talk_base::PacketSocketFactory* socket_factory); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 const std::string& sdp); | 84 const std::string& sdp); |
86 | 85 |
87 private: | 86 private: |
88 talk_base::scoped_refptr<webrtc::PeerConnectionFactoryInterface> pc_factory_; | 87 talk_base::scoped_refptr<webrtc::PeerConnectionFactoryInterface> pc_factory_; |
89 scoped_refptr<VideoCaptureImplManager> vc_manager_; | 88 scoped_refptr<VideoCaptureImplManager> vc_manager_; |
90 | 89 |
91 DISALLOW_COPY_AND_ASSIGN(MediaStreamDependencyFactory); | 90 DISALLOW_COPY_AND_ASSIGN(MediaStreamDependencyFactory); |
92 }; | 91 }; |
93 | 92 |
94 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_ | 93 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_ |
OLD | NEW |