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 <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 // WebKit::WebUserMediaClient implementation | 54 // WebKit::WebUserMediaClient implementation |
55 virtual void requestUserMedia( | 55 virtual void requestUserMedia( |
56 const WebKit::WebUserMediaRequest& user_media_request, | 56 const WebKit::WebUserMediaRequest& user_media_request, |
57 const WebKit::WebVector<WebKit::WebMediaStreamSource>& audio_sources, | 57 const WebKit::WebVector<WebKit::WebMediaStreamSource>& audio_sources, |
58 const WebKit::WebVector<WebKit::WebMediaStreamSource>& video_sources) | 58 const WebKit::WebVector<WebKit::WebMediaStreamSource>& video_sources) |
59 OVERRIDE; | 59 OVERRIDE; |
60 virtual void cancelUserMediaRequest( | 60 virtual void cancelUserMediaRequest( |
61 const WebKit::WebUserMediaRequest& user_media_request) OVERRIDE; | 61 const WebKit::WebUserMediaRequest& user_media_request) OVERRIDE; |
62 | 62 |
63 // webkit_media::MediaStreamClient implementation. | 63 // webkit_media::MediaStreamClient implementation. |
| 64 virtual bool IsMediaStream(const GURL& url) OVERRIDE; |
| 65 virtual scoped_refptr<webkit_media::VideoFrameProvider> GetVideoFrameProvider( |
| 66 const GURL& url, |
| 67 const base::Closure& error_cb, |
| 68 const webkit_media::VideoFrameProvider::RepaintCB& repaint_cb) OVERRIDE; |
64 virtual scoped_refptr<media::VideoDecoder> GetVideoDecoder( | 69 virtual scoped_refptr<media::VideoDecoder> GetVideoDecoder( |
65 const GURL& url, | 70 const GURL& url, |
66 media::MessageLoopFactory* message_loop_factory) OVERRIDE; | 71 media::MessageLoopFactory* message_loop_factory) OVERRIDE; |
67 | 72 |
68 // MediaStreamDispatcherEventHandler implementation. | 73 // MediaStreamDispatcherEventHandler implementation. |
69 virtual void OnStreamGenerated( | 74 virtual void OnStreamGenerated( |
70 int request_id, | 75 int request_id, |
71 const std::string& label, | 76 const std::string& label, |
72 const media_stream::StreamDeviceInfoArray& audio_array, | 77 const media_stream::StreamDeviceInfoArray& audio_array, |
73 const media_stream::StreamDeviceInfoArray& video_array) OVERRIDE; | 78 const media_stream::StreamDeviceInfoArray& video_array) OVERRIDE; |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 WebKit::WebFrame* frame_; // WebFrame that requested the MediaStream. | 121 WebKit::WebFrame* frame_; // WebFrame that requested the MediaStream. |
117 WebKit::WebUserMediaRequest request_; | 122 WebKit::WebUserMediaRequest request_; |
118 }; | 123 }; |
119 typedef std::map<int, UserMediaRequestInfo> MediaRequestMap; | 124 typedef std::map<int, UserMediaRequestInfo> MediaRequestMap; |
120 | 125 |
121 // We keep a list of the label and WebFrame of generated local media streams, | 126 // We keep a list of the label and WebFrame of generated local media streams, |
122 // so that we can stop them when needed. | 127 // so that we can stop them when needed. |
123 typedef std::map<std::string, WebKit::WebFrame*> LocalNativeStreamMap; | 128 typedef std::map<std::string, WebKit::WebFrame*> LocalNativeStreamMap; |
124 typedef scoped_refptr<webrtc::LocalMediaStreamInterface> LocalNativeStreamPtr; | 129 typedef scoped_refptr<webrtc::LocalMediaStreamInterface> LocalNativeStreamPtr; |
125 | 130 |
| 131 scoped_refptr<webkit_media::VideoFrameProvider> |
| 132 CreateLocalVideoFrameProvider( |
| 133 webrtc::MediaStreamInterface* stream, |
| 134 const base::Closure& error_cb, |
| 135 const webkit_media::VideoFrameProvider::RepaintCB& repaint_cb); |
| 136 scoped_refptr<webkit_media::VideoFrameProvider> |
| 137 CreateRemoteVideoFrameProvider( |
| 138 webrtc::MediaStreamInterface* stream, |
| 139 const base::Closure& error_cb, |
| 140 const webkit_media::VideoFrameProvider::RepaintCB& repaint_cb); |
126 scoped_refptr<media::VideoDecoder> CreateLocalVideoDecoder( | 141 scoped_refptr<media::VideoDecoder> CreateLocalVideoDecoder( |
127 webrtc::MediaStreamInterface* stream, | 142 webrtc::MediaStreamInterface* stream, |
128 media::MessageLoopFactory* message_loop_factory); | 143 media::MessageLoopFactory* message_loop_factory); |
129 scoped_refptr<media::VideoDecoder> CreateRemoteVideoDecoder( | 144 scoped_refptr<media::VideoDecoder> CreateRemoteVideoDecoder( |
130 webrtc::MediaStreamInterface* stream, | 145 webrtc::MediaStreamInterface* stream, |
131 media::MessageLoopFactory* message_loop_factory); | 146 media::MessageLoopFactory* message_loop_factory); |
132 | 147 |
133 // Weak ref to a MediaStreamDependencyFactory, owned by the RenderThread. | 148 // Weak ref to a MediaStreamDependencyFactory, owned by the RenderThread. |
134 // It's valid for the lifetime of RenderThread. | 149 // It's valid for the lifetime of RenderThread. |
135 MediaStreamDependencyFactory* dependency_factory_; | 150 MediaStreamDependencyFactory* dependency_factory_; |
136 | 151 |
137 // media_stream_dispatcher_ is a weak reference, owned by RenderView. It's | 152 // media_stream_dispatcher_ is a weak reference, owned by RenderView. It's |
138 // valid for the lifetime of RenderView. | 153 // valid for the lifetime of RenderView. |
139 MediaStreamDispatcher* media_stream_dispatcher_; | 154 MediaStreamDispatcher* media_stream_dispatcher_; |
140 | 155 |
141 scoped_refptr<VideoCaptureImplManager> vc_manager_; | 156 scoped_refptr<VideoCaptureImplManager> vc_manager_; |
142 | 157 |
143 MediaRequestMap user_media_requests_; | 158 MediaRequestMap user_media_requests_; |
144 LocalNativeStreamMap local_media_streams_; | 159 LocalNativeStreamMap local_media_streams_; |
145 | 160 |
146 DISALLOW_COPY_AND_ASSIGN(MediaStreamImpl); | 161 DISALLOW_COPY_AND_ASSIGN(MediaStreamImpl); |
147 }; | 162 }; |
148 | 163 |
149 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_IMPL_H_ | 164 #endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_IMPL_H_ |
OLD | NEW |