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

Side by Side Diff: content/renderer/media/media_stream_dependency_factory.h

Issue 10947030: Removed the use of WebFrame::frameForCurrentContext() in MediaStreamCenter::didStopLocalMediaStream (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Addressing code review comments found by Tommi. Created 8 years, 3 months 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 unified diff | Download patch
OLDNEW
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/threading/thread.h" 12 #include "base/threading/thread.h"
13 #include "content/common/content_export.h" 13 #include "content/common/content_export.h"
14 #include "content/renderer/media/media_stream_extra_data.h"
14 #include "content/renderer/p2p/socket_dispatcher.h" 15 #include "content/renderer/p2p/socket_dispatcher.h"
15 #include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h " 16 #include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h "
16 17
17 namespace base { 18 namespace base {
18 class WaitableEvent; 19 class WaitableEvent;
19 } 20 }
20 21
21 namespace content { 22 namespace content {
22 class IpcNetworkManager; 23 class IpcNetworkManager;
23 class IpcPacketSocketFactory; 24 class IpcPacketSocketFactory;
(...skipping 10 matching lines...) Expand all
34 } 35 }
35 36
36 namespace WebKit { 37 namespace WebKit {
37 class WebMediaStreamDescriptor; 38 class WebMediaStreamDescriptor;
38 class WebPeerConnection00Handler; 39 class WebPeerConnection00Handler;
39 class WebPeerConnection00HandlerClient; 40 class WebPeerConnection00HandlerClient;
40 class WebRTCPeerConnectionHandler; 41 class WebRTCPeerConnectionHandler;
41 class WebRTCPeerConnectionHandlerClient; 42 class WebRTCPeerConnectionHandlerClient;
42 } 43 }
43 44
45 class VideoCaptureImplManager;
44 class WebRtcAudioDeviceImpl; 46 class WebRtcAudioDeviceImpl;
45 class VideoCaptureImplManager;
46 47
47 // Object factory for RTC MediaStreams and RTC PeerConnections. 48 // Object factory for RTC MediaStreams and RTC PeerConnections.
48 class CONTENT_EXPORT MediaStreamDependencyFactory 49 class CONTENT_EXPORT MediaStreamDependencyFactory
49 : NON_EXPORTED_BASE(public base::NonThreadSafe) { 50 : NON_EXPORTED_BASE(public base::NonThreadSafe) {
50 public: 51 public:
51 MediaStreamDependencyFactory( 52 MediaStreamDependencyFactory(
52 VideoCaptureImplManager* vc_manager, 53 VideoCaptureImplManager* vc_manager,
53 content::P2PSocketDispatcher* p2p_socket_dispatcher); 54 content::P2PSocketDispatcher* p2p_socket_dispatcher);
54 virtual ~MediaStreamDependencyFactory(); 55 virtual ~MediaStreamDependencyFactory();
55 56
56 // Create a PeerConnectionHandlerJsep object that implements the 57 // Create a PeerConnectionHandlerJsep object that implements the
57 // WebKit WebPeerConnection00Handler interface. 58 // WebKit WebPeerConnection00Handler interface.
58 WebKit::WebPeerConnection00Handler* CreatePeerConnectionHandlerJsep( 59 WebKit::WebPeerConnection00Handler* CreatePeerConnectionHandlerJsep(
59 WebKit::WebPeerConnection00HandlerClient* client); 60 WebKit::WebPeerConnection00HandlerClient* client);
60 61
61 // Create a RTCPeerConnectionHandler object that implements the 62 // Create a RTCPeerConnectionHandler object that implements the
62 // WebKit WebRTCPeerConnectionHandler interface. 63 // WebKit WebRTCPeerConnectionHandler interface.
63 WebKit::WebRTCPeerConnectionHandler* CreateRTCPeerConnectionHandler( 64 WebKit::WebRTCPeerConnectionHandler* CreateRTCPeerConnectionHandler(
64 WebKit::WebRTCPeerConnectionHandlerClient* client); 65 WebKit::WebRTCPeerConnectionHandlerClient* client);
65 66
66 // Creates a libjingle representation of a MediaStream and stores 67 // Creates a libjingle representation of a MediaStream and stores
67 // it in the extra data field of |description| 68 // it in the extra data field of |description|.
68 bool CreateNativeLocalMediaStream( 69 bool CreateNativeLocalMediaStream(
69 WebKit::WebMediaStreamDescriptor* description); 70 WebKit::WebMediaStreamDescriptor* description);
70 71
72 // Creates a libjingle representation of a MediaStream and stores
73 // it in the extra data field of |description|.
74 // |stream_stopped| a is callback that is run when a MediaStream have been
75 // stopped.
76 bool CreateNativeLocalMediaStream(
77 WebKit::WebMediaStreamDescriptor* description,
78 const MediaStreamExtraData::StreamStopCallback& stream_stop);
79
71 // Asks the libjingle PeerConnection factory to create a libjingle 80 // Asks the libjingle PeerConnection factory to create a libjingle
72 // PeerConnection object. 81 // PeerConnection object.
73 // The PeerConnection object is owned by PeerConnectionHandler. 82 // The PeerConnection object is owned by PeerConnectionHandler.
74 virtual scoped_refptr<webrtc::PeerConnectionInterface> 83 virtual scoped_refptr<webrtc::PeerConnectionInterface>
75 CreatePeerConnection(const std::string& config, 84 CreatePeerConnection(const std::string& config,
76 webrtc::PeerConnectionObserver* observer); 85 webrtc::PeerConnectionObserver* observer);
77 86
78 virtual scoped_refptr<webrtc::PeerConnectionInterface> 87 virtual scoped_refptr<webrtc::PeerConnectionInterface>
79 CreatePeerConnection(const webrtc::JsepInterface::IceServers& ice_servers, 88 CreatePeerConnection(const webrtc::JsepInterface::IceServers& ice_servers,
80 const webrtc::MediaConstraintsInterface* constraints, 89 const webrtc::MediaConstraintsInterface* constraints,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 // PeerConnection threads. signaling_thread_ is created from the 156 // PeerConnection threads. signaling_thread_ is created from the
148 // "current" chrome thread. 157 // "current" chrome thread.
149 talk_base::Thread* signaling_thread_; 158 talk_base::Thread* signaling_thread_;
150 talk_base::Thread* worker_thread_; 159 talk_base::Thread* worker_thread_;
151 base::Thread chrome_worker_thread_; 160 base::Thread chrome_worker_thread_;
152 161
153 DISALLOW_COPY_AND_ASSIGN(MediaStreamDependencyFactory); 162 DISALLOW_COPY_AND_ASSIGN(MediaStreamDependencyFactory);
154 }; 163 };
155 164
156 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_ 165 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_DEPENDENCY_FACTORY_H_
OLDNEW
« no previous file with comments | « content/renderer/media/media_stream_center.cc ('k') | content/renderer/media/media_stream_dependency_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698