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_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_MEDIA_STREAM_IMPL_H_ |
6 #define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_IMPL_H_ | 6 #define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_IMPL_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 NON_EXPORTED_BASE(public base::NonThreadSafe) { | 78 NON_EXPORTED_BASE(public base::NonThreadSafe) { |
79 public: | 79 public: |
80 MediaStreamImpl( | 80 MediaStreamImpl( |
81 content::RenderView* render_view, | 81 content::RenderView* render_view, |
82 MediaStreamDispatcher* media_stream_dispatcher, | 82 MediaStreamDispatcher* media_stream_dispatcher, |
83 content::P2PSocketDispatcher* p2p_socket_dispatcher, | 83 content::P2PSocketDispatcher* p2p_socket_dispatcher, |
84 VideoCaptureImplManager* vc_manager, | 84 VideoCaptureImplManager* vc_manager, |
85 MediaStreamDependencyFactory* dependency_factory); | 85 MediaStreamDependencyFactory* dependency_factory); |
86 virtual ~MediaStreamImpl(); | 86 virtual ~MediaStreamImpl(); |
87 | 87 |
88 virtual WebKit::WebPeerConnection00Handler* CreatePeerConnectionHandlerJsep( | |
89 WebKit::WebPeerConnection00HandlerClient* client); | |
90 // Stops a local MediaStream by notifying the MediaStreamDispatcher that the | 88 // Stops a local MediaStream by notifying the MediaStreamDispatcher that the |
91 // stream no longer may be used. | 89 // stream no longer may be used. |
92 virtual void StopLocalMediaStream( | 90 virtual void StopLocalMediaStream( |
93 const WebKit::WebMediaStreamDescriptor& stream); | 91 const WebKit::WebMediaStreamDescriptor& stream); |
94 // A new MediaStream have been created based on existing tracks. | 92 // A new MediaStream have been created based on existing tracks. |
95 virtual void CreateMediaStream( | 93 virtual void CreateMediaStream( |
96 WebKit::WebFrame* frame, | 94 WebKit::WebFrame* frame, |
97 WebKit::WebMediaStreamDescriptor* stream); | 95 WebKit::WebMediaStreamDescriptor* stream); |
98 | 96 |
99 // WebKit::WebUserMediaClient implementation | 97 // WebKit::WebUserMediaClient implementation |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 media::MessageLoopFactory* message_loop_factory); | 183 media::MessageLoopFactory* message_loop_factory); |
186 scoped_refptr<media::VideoDecoder> CreateRemoteVideoDecoder( | 184 scoped_refptr<media::VideoDecoder> CreateRemoteVideoDecoder( |
187 webrtc::MediaStreamInterface* stream, | 185 webrtc::MediaStreamInterface* stream, |
188 media::MessageLoopFactory* message_loop_factory); | 186 media::MessageLoopFactory* message_loop_factory); |
189 LocalNativeStreamPtr CreateNativeLocalMediaStream( | 187 LocalNativeStreamPtr CreateNativeLocalMediaStream( |
190 const std::string& label, | 188 const std::string& label, |
191 WebKit::WebFrame* frame, | 189 WebKit::WebFrame* frame, |
192 const WebKit::WebVector<WebKit::WebMediaStreamSource>& audio_sources, | 190 const WebKit::WebVector<WebKit::WebMediaStreamSource>& audio_sources, |
193 const WebKit::WebVector<WebKit::WebMediaStreamSource>& video_sources); | 191 const WebKit::WebVector<WebKit::WebMediaStreamSource>& video_sources); |
194 | 192 |
195 scoped_ptr<MediaStreamDependencyFactory> dependency_factory_; | 193 // Weak ref to a MediaStreamDependencyFactory, owned by the RenderThread. |
| 194 // It's valid for the lifetime of RenderThread. |
| 195 MediaStreamDependencyFactory* dependency_factory_; |
196 | 196 |
197 // media_stream_dispatcher_ is a weak reference, owned by RenderView. It's | 197 // media_stream_dispatcher_ is a weak reference, owned by RenderView. It's |
198 // valid for the lifetime of RenderView. | 198 // valid for the lifetime of RenderView. |
199 MediaStreamDispatcher* media_stream_dispatcher_; | 199 MediaStreamDispatcher* media_stream_dispatcher_; |
200 | 200 |
201 // p2p_socket_dispatcher_ is a weak reference, owned by RenderView. It's valid | 201 // p2p_socket_dispatcher_ is a weak reference, owned by RenderView. It's valid |
202 // for the lifetime of RenderView. | 202 // for the lifetime of RenderView. |
203 content::P2PSocketDispatcher* p2p_socket_dispatcher_; | 203 content::P2PSocketDispatcher* p2p_socket_dispatcher_; |
204 | 204 |
205 // We own network_manager_, must be deleted on the worker thread. | 205 // We own network_manager_, must be deleted on the worker thread. |
206 // The network manager uses |p2p_socket_dispatcher_|. | 206 // The network manager uses |p2p_socket_dispatcher_|. |
207 content::IpcNetworkManager* network_manager_; | 207 content::IpcNetworkManager* network_manager_; |
208 scoped_ptr<content::IpcPacketSocketFactory> socket_factory_; | 208 scoped_ptr<content::IpcPacketSocketFactory> socket_factory_; |
209 scoped_refptr<VideoCaptureImplManager> vc_manager_; | 209 scoped_refptr<VideoCaptureImplManager> vc_manager_; |
210 | 210 |
211 MediaRequestMap user_media_requests_; | 211 MediaRequestMap user_media_requests_; |
212 LocalNativeStreamMap local_media_streams_; | 212 LocalNativeStreamMap local_media_streams_; |
213 | 213 |
214 // PeerConnection threads. signaling_thread_ is created from the | 214 // PeerConnection threads. signaling_thread_ is created from the |
215 // "current" chrome thread. | 215 // "current" chrome thread. |
216 talk_base::Thread* signaling_thread_; | 216 talk_base::Thread* signaling_thread_; |
217 talk_base::Thread* worker_thread_; | 217 talk_base::Thread* worker_thread_; |
218 base::Thread chrome_worker_thread_; | 218 base::Thread chrome_worker_thread_; |
219 | 219 |
220 DISALLOW_COPY_AND_ASSIGN(MediaStreamImpl); | 220 DISALLOW_COPY_AND_ASSIGN(MediaStreamImpl); |
221 }; | 221 }; |
222 | 222 |
223 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_IMPL_H_ | 223 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_IMPL_H_ |
OLD | NEW |