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 "content/common/content_export.h" | 12 #include "content/common/content_export.h" |
13 #include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h
" | 13 #include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h
" |
14 #include "webkit/glue/p2p_transport.h" | 14 #include "webkit/glue/p2p_transport.h" |
15 | 15 |
16 namespace content { | 16 namespace content { |
17 class IpcNetworkManager; | 17 class IpcNetworkManager; |
18 class IpcPacketSocketFactory; | 18 class IpcPacketSocketFactory; |
19 class P2PSocketDispatcher; | 19 class P2PSocketDispatcher; |
| 20 class RenderView; |
20 } | 21 } |
21 | 22 |
22 namespace cricket { | 23 namespace cricket { |
23 class PortAllocator; | 24 class PortAllocator; |
24 } | 25 } |
25 | 26 |
26 namespace talk_base { | 27 namespace talk_base { |
27 class NetworkManager; | 28 class NetworkManager; |
28 class PacketSocketFactory; | 29 class PacketSocketFactory; |
29 class Thread; | 30 class Thread; |
30 } | 31 } |
31 | 32 |
32 namespace webrtc { | 33 namespace webrtc { |
33 class PeerConnection; | 34 class PeerConnection; |
34 class VideoCaptureModule; | 35 class VideoCaptureModule; |
35 } | 36 } |
36 | 37 |
37 class VideoCaptureImplManager; | 38 class VideoCaptureImplManager; |
38 | 39 |
39 // Object factory for MediaStreamImpl and PeerConnectionHandler. | 40 // Object factory for MediaStreamImpl and PeerConnectionHandler. |
40 class CONTENT_EXPORT MediaStreamDependencyFactory { | 41 class CONTENT_EXPORT MediaStreamDependencyFactory { |
41 public: | 42 public: |
42 explicit MediaStreamDependencyFactory(VideoCaptureImplManager* vc_manager); | 43 explicit MediaStreamDependencyFactory(VideoCaptureImplManager* vc_manager); |
43 virtual ~MediaStreamDependencyFactory(); | 44 virtual ~MediaStreamDependencyFactory(); |
44 | 45 |
45 // Creates and deletes |pc_factory_|, which in turn is used for | 46 // Creates and deletes |pc_factory_|, which in turn is used for |
46 // creating PeerConnection objects. | 47 // creating PeerConnection objects. |
47 virtual bool CreatePeerConnectionFactory( | 48 virtual bool CreatePeerConnectionFactory( |
| 49 content::RenderView* render_view, |
48 talk_base::Thread* worker_thread, | 50 talk_base::Thread* worker_thread, |
49 talk_base::Thread* signaling_thread, | 51 talk_base::Thread* signaling_thread, |
50 content::P2PSocketDispatcher* socket_dispatcher, | 52 content::P2PSocketDispatcher* socket_dispatcher, |
51 talk_base::NetworkManager* network_manager, | 53 talk_base::NetworkManager* network_manager, |
52 talk_base::PacketSocketFactory* socket_factory); | 54 talk_base::PacketSocketFactory* socket_factory); |
53 virtual void ReleasePeerConnectionFactory(); | 55 virtual void ReleasePeerConnectionFactory(); |
54 virtual bool PeerConnectionFactoryCreated(); | 56 virtual bool PeerConnectionFactoryCreated(); |
55 | 57 |
56 // Asks the PeerConnection factory to create a PeerConnection object. | 58 // Asks the PeerConnection factory to create a PeerConnection object. |
57 // The PeerConnection object is owned by PeerConnectionHandler. | 59 // The PeerConnection object is owned by PeerConnectionHandler. |
(...skipping 26 matching lines...) Expand all Loading... |
84 const std::string& sdp); | 86 const std::string& sdp); |
85 | 87 |
86 private: | 88 private: |
87 talk_base::scoped_refptr<webrtc::PeerConnectionFactoryInterface> pc_factory_; | 89 talk_base::scoped_refptr<webrtc::PeerConnectionFactoryInterface> pc_factory_; |
88 scoped_refptr<VideoCaptureImplManager> vc_manager_; | 90 scoped_refptr<VideoCaptureImplManager> vc_manager_; |
89 | 91 |
90 DISALLOW_COPY_AND_ASSIGN(MediaStreamDependencyFactory); | 92 DISALLOW_COPY_AND_ASSIGN(MediaStreamDependencyFactory); |
91 }; | 93 }; |
92 | 94 |
93 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_ | 95 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_ |
OLD | NEW |