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

Side by Side Diff: content/browser/renderer_host/media/media_stream_dispatcher_host.cc

Issue 10928043: Media Related changes for TabCapture API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rename REQUEST_*->MEDIA_REQUEST_* Created 8 years, 2 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 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h" 5 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h"
6 6
7 #include "content/browser/browser_main_loop.h" 7 #include "content/browser/browser_main_loop.h"
8 #include "content/common/media/media_stream_messages.h" 8 #include "content/common/media/media_stream_messages.h"
9 #include "content/common/media/media_stream_options.h" 9 #include "content/common/media/media_stream_options.h"
10 #include "googleurl/src/gurl.h" 10 #include "googleurl/src/gurl.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 118
119 Send(new MediaStreamMsg_DeviceOpened( 119 Send(new MediaStreamMsg_DeviceOpened(
120 request.render_view_id, request.page_request_id, label, video_device)); 120 request.render_view_id, request.page_request_id, label, video_device));
121 } 121 }
122 122
123 bool MediaStreamDispatcherHost::OnMessageReceived( 123 bool MediaStreamDispatcherHost::OnMessageReceived(
124 const IPC::Message& message, bool* message_was_ok) { 124 const IPC::Message& message, bool* message_was_ok) {
125 bool handled = true; 125 bool handled = true;
126 IPC_BEGIN_MESSAGE_MAP_EX(MediaStreamDispatcherHost, message, *message_was_ok) 126 IPC_BEGIN_MESSAGE_MAP_EX(MediaStreamDispatcherHost, message, *message_was_ok)
127 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_GenerateStream, OnGenerateStream) 127 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_GenerateStream, OnGenerateStream)
128 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_GenerateStreamForDevice,
129 OnGenerateStreamForDevice)
130 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_CancelGenerateStream, 128 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_CancelGenerateStream,
131 OnCancelGenerateStream) 129 OnCancelGenerateStream)
132 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_StopGeneratedStream, 130 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_StopGeneratedStream,
133 OnStopGeneratedStream) 131 OnStopGeneratedStream)
134 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_EnumerateDevices, 132 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_EnumerateDevices,
135 OnEnumerateDevices) 133 OnEnumerateDevices)
136 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_OpenDevice, 134 IPC_MESSAGE_HANDLER(MediaStreamHostMsg_OpenDevice,
137 OnOpenDevice) 135 OnOpenDevice)
138 IPC_MESSAGE_UNHANDLED(handled = false) 136 IPC_MESSAGE_UNHANDLED(handled = false)
139 IPC_END_MESSAGE_MAP_EX() 137 IPC_END_MESSAGE_MAP_EX()
(...skipping 26 matching lines...) Expand all
166 const GURL& security_origin) { 164 const GURL& security_origin) {
167 DVLOG(1) << "MediaStreamDispatcherHost::OnGenerateStream(" 165 DVLOG(1) << "MediaStreamDispatcherHost::OnGenerateStream("
168 << render_view_id << ", " 166 << render_view_id << ", "
169 << page_request_id << ", [" 167 << page_request_id << ", ["
170 << " audio:" << components.audio_type 168 << " audio:" << components.audio_type
171 << " video:" << components.video_type 169 << " video:" << components.video_type
172 << " ], " 170 << " ], "
173 << security_origin.spec() << ")"; 171 << security_origin.spec() << ")";
174 172
175 std::string label; 173 std::string label;
176 GetManager()->GenerateStream(this, render_process_id_, render_view_id, 174 if (components.audio_type == content::MEDIA_TAB_AUDIO_CAPTURE ||
177 components, security_origin, &label); 175 components.video_type == content::MEDIA_TAB_VIDEO_CAPTURE) {
176 const std::string& device_id = components.video_device_id;
177 DCHECK(!device_id.empty());
178 // TODO(justinlin): Cleanup/get rid of GenerateStreamForDevice and merge
179 // with the regular GenerateStream.
180 GetManager()->GenerateStreamForDevice(
181 this, render_process_id_, render_view_id,
182 components, device_id, security_origin, &label);
183 } else {
184 GetManager()->GenerateStream(this, render_process_id_, render_view_id,
185 components, security_origin, &label);
186 }
178 DCHECK(!label.empty()); 187 DCHECK(!label.empty());
179 streams_[label] = StreamRequest(render_view_id, page_request_id); 188 streams_[label] = StreamRequest(render_view_id, page_request_id);
180 } 189 }
181
182 void MediaStreamDispatcherHost::OnGenerateStreamForDevice(
183 int render_view_id,
184 int page_request_id,
185 const media_stream::StreamOptions& components,
186 const std::string& device_id,
187 const GURL& security_origin) {
188 DVLOG(1) << "MediaStreamDispatcherHost::OnGenerateStreamForDevice("
189 << render_view_id << ", "
190 << page_request_id << ", ["
191 << " audio:" << components.audio_type
192 << " video:" << components.video_type
193 << " ], "
194 << device_id << ", "
195 << security_origin.spec() << ")";
196 DCHECK(!device_id.empty());
197
198 std::string label;
199 GetManager()->GenerateStreamForDevice(
200 this, render_process_id_, render_view_id,
201 components, device_id, security_origin, &label);
202 DCHECK(!label.empty());
203 streams_[label] = StreamRequest(render_view_id, page_request_id);
204 }
205 190
206 void MediaStreamDispatcherHost::OnCancelGenerateStream(int render_view_id, 191 void MediaStreamDispatcherHost::OnCancelGenerateStream(int render_view_id,
207 int page_request_id) { 192 int page_request_id) {
208 DVLOG(1) << "MediaStreamDispatcherHost::OnCancelGenerateStream(" 193 DVLOG(1) << "MediaStreamDispatcherHost::OnCancelGenerateStream("
209 << render_view_id << ", " 194 << render_view_id << ", "
210 << page_request_id << ")"; 195 << page_request_id << ")";
211 196
212 for (StreamMap::iterator it = streams_.begin(); it != streams_.end(); ++it) { 197 for (StreamMap::iterator it = streams_.begin(); it != streams_.end(); ++it) {
213 if (it->second.render_view_id == render_view_id && 198 if (it->second.render_view_id == render_view_id &&
214 it->second.page_request_id == page_request_id) { 199 it->second.page_request_id == page_request_id) {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 device_id, type, security_origin, &label); 248 device_id, type, security_origin, &label);
264 DCHECK(!label.empty()); 249 DCHECK(!label.empty());
265 streams_[label] = StreamRequest(render_view_id, page_request_id); 250 streams_[label] = StreamRequest(render_view_id, page_request_id);
266 } 251 }
267 252
268 MediaStreamManager* MediaStreamDispatcherHost::GetManager() { 253 MediaStreamManager* MediaStreamDispatcherHost::GetManager() {
269 return BrowserMainLoop::GetMediaStreamManager(); 254 return BrowserMainLoop::GetMediaStreamManager();
270 } 255 }
271 256
272 } // namespace media_stream 257 } // namespace media_stream
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698