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

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

Issue 18123002: Migrate webkit/renderer/media/ to content/renderer/media/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 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 | Annotate | Revision Log
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_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 <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
12 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
13 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
14 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
15 #include "base/memory/scoped_vector.h" 15 #include "base/memory/scoped_vector.h"
16 #include "base/memory/weak_ptr.h" 16 #include "base/memory/weak_ptr.h"
17 #include "base/threading/non_thread_safe.h" 17 #include "base/threading/non_thread_safe.h"
18 #include "content/common/content_export.h" 18 #include "content/common/content_export.h"
19 #include "content/public/renderer/render_view_observer.h" 19 #include "content/public/renderer/render_view_observer.h"
20 #include "content/renderer/media/media_stream_client.h"
20 #include "content/renderer/media/media_stream_dispatcher_eventhandler.h" 21 #include "content/renderer/media/media_stream_dispatcher_eventhandler.h"
21 #include "third_party/WebKit/public/platform/WebMediaStream.h" 22 #include "third_party/WebKit/public/platform/WebMediaStream.h"
22 #include "third_party/WebKit/public/web/WebUserMediaClient.h" 23 #include "third_party/WebKit/public/web/WebUserMediaClient.h"
23 #include "third_party/WebKit/public/web/WebUserMediaRequest.h" 24 #include "third_party/WebKit/public/web/WebUserMediaRequest.h"
24 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" 25 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h"
25 #include "webkit/renderer/media/media_stream_client.h"
26 26
27 namespace webkit_media { 27 namespace content {
28 class MediaStreamAudioRenderer; 28 class MediaStreamAudioRenderer;
29 } 29 }
30 30
31 namespace content { 31 namespace content {
32 class MediaStreamDependencyFactory; 32 class MediaStreamDependencyFactory;
33 class MediaStreamDispatcher; 33 class MediaStreamDispatcher;
34 class WebRtcAudioRenderer; 34 class WebRtcAudioRenderer;
35 class WebRtcLocalAudioRenderer; 35 class WebRtcLocalAudioRenderer;
36 36
37 // MediaStreamImpl is a delegate for the Media Stream API messages used by 37 // MediaStreamImpl is a delegate for the Media Stream API messages used by
38 // WebKit. It ties together WebKit, native PeerConnection in libjingle and 38 // WebKit. It ties together WebKit, native PeerConnection in libjingle and
39 // MediaStreamManager (via MediaStreamDispatcher and MediaStreamDispatcherHost) 39 // MediaStreamManager (via MediaStreamDispatcher and MediaStreamDispatcherHost)
40 // in the browser process. It must be created, called and destroyed on the 40 // in the browser process. It must be created, called and destroyed on the
41 // render thread. 41 // render thread.
42 // MediaStreamImpl have weak pointers to a MediaStreamDispatcher. 42 // MediaStreamImpl have weak pointers to a MediaStreamDispatcher.
43 class CONTENT_EXPORT MediaStreamImpl 43 class CONTENT_EXPORT MediaStreamImpl
44 : public RenderViewObserver, 44 : public RenderViewObserver,
45 NON_EXPORTED_BASE(public WebKit::WebUserMediaClient), 45 NON_EXPORTED_BASE(public WebKit::WebUserMediaClient),
46 NON_EXPORTED_BASE(public webkit_media::MediaStreamClient), 46 NON_EXPORTED_BASE(public MediaStreamClient),
47 public MediaStreamDispatcherEventHandler, 47 public MediaStreamDispatcherEventHandler,
48 public base::SupportsWeakPtr<MediaStreamImpl>, 48 public base::SupportsWeakPtr<MediaStreamImpl>,
49 NON_EXPORTED_BASE(public base::NonThreadSafe) { 49 NON_EXPORTED_BASE(public base::NonThreadSafe) {
50 public: 50 public:
51 MediaStreamImpl( 51 MediaStreamImpl(
52 RenderView* render_view, 52 RenderView* render_view,
53 MediaStreamDispatcher* media_stream_dispatcher, 53 MediaStreamDispatcher* media_stream_dispatcher,
54 MediaStreamDependencyFactory* dependency_factory); 54 MediaStreamDependencyFactory* dependency_factory);
55 virtual ~MediaStreamImpl(); 55 virtual ~MediaStreamImpl();
56 56
57 // Return true when the |url| is media stream. 57 // Return true when the |url| is media stream.
58 // This static function has the same functionalilty as IsMediaStream 58 // This static function has the same functionalilty as IsMediaStream
59 // except that it doesn't require an instance of this class. 59 // except that it doesn't require an instance of this class.
60 // This can save some overhead time when the |url| is not media stream. 60 // This can save some overhead time when the |url| is not media stream.
61 static bool CheckMediaStream(const GURL& url); 61 static bool CheckMediaStream(const GURL& url);
62 62
63 // WebKit::WebUserMediaClient implementation 63 // WebKit::WebUserMediaClient implementation
64 virtual void requestUserMedia( 64 virtual void requestUserMedia(
65 const WebKit::WebUserMediaRequest& user_media_request) OVERRIDE; 65 const WebKit::WebUserMediaRequest& user_media_request) OVERRIDE;
66 virtual void cancelUserMediaRequest( 66 virtual void cancelUserMediaRequest(
67 const WebKit::WebUserMediaRequest& user_media_request) OVERRIDE; 67 const WebKit::WebUserMediaRequest& user_media_request) OVERRIDE;
68 68
69 // webkit_media::MediaStreamClient implementation. 69 // MediaStreamClient implementation.
70 virtual bool IsMediaStream(const GURL& url) OVERRIDE; 70 virtual bool IsMediaStream(const GURL& url) OVERRIDE;
71 virtual scoped_refptr<webkit_media::VideoFrameProvider> GetVideoFrameProvider( 71 virtual scoped_refptr<VideoFrameProvider> GetVideoFrameProvider(
72 const GURL& url, 72 const GURL& url,
73 const base::Closure& error_cb, 73 const base::Closure& error_cb,
74 const webkit_media::VideoFrameProvider::RepaintCB& repaint_cb) OVERRIDE; 74 const VideoFrameProvider::RepaintCB& repaint_cb) OVERRIDE;
75 virtual scoped_refptr<webkit_media::MediaStreamAudioRenderer> 75 virtual scoped_refptr<MediaStreamAudioRenderer>
76 GetAudioRenderer(const GURL& url) OVERRIDE; 76 GetAudioRenderer(const GURL& url) OVERRIDE;
77 77
78 // MediaStreamDispatcherEventHandler implementation. 78 // MediaStreamDispatcherEventHandler implementation.
79 virtual void OnStreamGenerated( 79 virtual void OnStreamGenerated(
80 int request_id, 80 int request_id,
81 const std::string& label, 81 const std::string& label,
82 const StreamDeviceInfoArray& audio_array, 82 const StreamDeviceInfoArray& audio_array,
83 const StreamDeviceInfoArray& video_array) OVERRIDE; 83 const StreamDeviceInfoArray& video_array) OVERRIDE;
84 virtual void OnStreamGenerationFailed(int request_id) OVERRIDE; 84 virtual void OnStreamGenerationFailed(int request_id) OVERRIDE;
85 virtual void OnDevicesEnumerated( 85 virtual void OnDevicesEnumerated(
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 typedef ScopedVector<UserMediaRequestInfo> UserMediaRequests; 144 typedef ScopedVector<UserMediaRequestInfo> UserMediaRequests;
145 145
146 UserMediaRequestInfo* FindUserMediaRequestInfo(int request_id); 146 UserMediaRequestInfo* FindUserMediaRequestInfo(int request_id);
147 UserMediaRequestInfo* FindUserMediaRequestInfo( 147 UserMediaRequestInfo* FindUserMediaRequestInfo(
148 WebKit::WebMediaStream* descriptor); 148 WebKit::WebMediaStream* descriptor);
149 UserMediaRequestInfo* FindUserMediaRequestInfo( 149 UserMediaRequestInfo* FindUserMediaRequestInfo(
150 const WebKit::WebUserMediaRequest& request); 150 const WebKit::WebUserMediaRequest& request);
151 UserMediaRequestInfo* FindUserMediaRequestInfo(const std::string& label); 151 UserMediaRequestInfo* FindUserMediaRequestInfo(const std::string& label);
152 void DeleteUserMediaRequestInfo(UserMediaRequestInfo* request); 152 void DeleteUserMediaRequestInfo(UserMediaRequestInfo* request);
153 153
154 scoped_refptr<webkit_media::VideoFrameProvider> 154 scoped_refptr<VideoFrameProvider>
155 CreateVideoFrameProvider( 155 CreateVideoFrameProvider(
156 webrtc::MediaStreamInterface* stream, 156 webrtc::MediaStreamInterface* stream,
157 const base::Closure& error_cb, 157 const base::Closure& error_cb,
158 const webkit_media::VideoFrameProvider::RepaintCB& repaint_cb); 158 const VideoFrameProvider::RepaintCB& repaint_cb);
159 scoped_refptr<WebRtcAudioRenderer> CreateRemoteAudioRenderer( 159 scoped_refptr<WebRtcAudioRenderer> CreateRemoteAudioRenderer(
160 webrtc::MediaStreamInterface* stream); 160 webrtc::MediaStreamInterface* stream);
161 scoped_refptr<WebRtcLocalAudioRenderer> CreateLocalAudioRenderer( 161 scoped_refptr<WebRtcLocalAudioRenderer> CreateLocalAudioRenderer(
162 webrtc::MediaStreamInterface* stream); 162 webrtc::MediaStreamInterface* stream);
163 163
164 // Weak ref to a MediaStreamDependencyFactory, owned by the RenderThread. 164 // Weak ref to a MediaStreamDependencyFactory, owned by the RenderThread.
165 // It's valid for the lifetime of RenderThread. 165 // It's valid for the lifetime of RenderThread.
166 MediaStreamDependencyFactory* dependency_factory_; 166 MediaStreamDependencyFactory* dependency_factory_;
167 167
168 // media_stream_dispatcher_ is a weak reference, owned by RenderView. It's 168 // media_stream_dispatcher_ is a weak reference, owned by RenderView. It's
169 // valid for the lifetime of RenderView. 169 // valid for the lifetime of RenderView.
170 MediaStreamDispatcher* media_stream_dispatcher_; 170 MediaStreamDispatcher* media_stream_dispatcher_;
171 171
172 UserMediaRequests user_media_requests_; 172 UserMediaRequests user_media_requests_;
173 173
174 DISALLOW_COPY_AND_ASSIGN(MediaStreamImpl); 174 DISALLOW_COPY_AND_ASSIGN(MediaStreamImpl);
175 }; 175 };
176 176
177 } // namespace content 177 } // namespace content
178 178
179 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_IMPL_H_ 179 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698