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

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

Issue 10662049: Move the device enumerate/open/close work to device thread from IO thread (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ready for review. Created 8 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 #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/common/media/media_stream_messages.h" 7 #include "content/common/media/media_stream_messages.h"
8 #include "content/common/media/media_stream_options.h" 8 #include "content/common/media/media_stream_options.h"
9 #include "googleurl/src/gurl.h" 9 #include "googleurl/src/gurl.h"
10 10
11 using content::BrowserMessageFilter; 11 using content::BrowserMessageFilter;
12 using content::BrowserThread; 12 using content::BrowserThread;
13 13
14 namespace media_stream { 14 namespace media_stream {
15 15
16 struct MediaStreamDispatcherHost::StreamRequest { 16 struct MediaStreamDispatcherHost::StreamRequest {
17 StreamRequest() : render_view_id(0), page_request_id(0) {} 17 StreamRequest() : render_view_id(0), page_request_id(0) {}
18 StreamRequest(int render_view_id, int page_request_id) 18 StreamRequest(int render_view_id, int page_request_id)
19 : render_view_id(render_view_id), 19 : render_view_id(render_view_id),
20 page_request_id(page_request_id ) { 20 page_request_id(page_request_id ) {
21 } 21 }
22 int render_view_id; 22 int render_view_id;
23 // Id of the request generated by MediaStreamDispatcher. 23 // Id of the request generated by MediaStreamDispatcher.
24 int page_request_id; 24 int page_request_id;
25 }; 25 };
26 26
27 MediaStreamDispatcherHost::MediaStreamDispatcherHost( 27 MediaStreamDispatcherHost::MediaStreamDispatcherHost(
28 content::ResourceContext* resource_context, 28 content::ResourceContext* resource_context,
29 int render_process_id, 29 int render_process_id)
30 media::AudioManager* audio_manager)
31 : resource_context_(resource_context), 30 : resource_context_(resource_context),
32 render_process_id_(render_process_id), 31 render_process_id_(render_process_id) {
33 audio_manager_(audio_manager) {
34 } 32 }
35 33
36 void MediaStreamDispatcherHost::StreamGenerated( 34 void MediaStreamDispatcherHost::StreamGenerated(
37 const std::string& label, 35 const std::string& label,
38 const StreamDeviceInfoArray& audio_devices, 36 const StreamDeviceInfoArray& audio_devices,
39 const StreamDeviceInfoArray& video_devices) { 37 const StreamDeviceInfoArray& video_devices) {
40 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 38 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
41 DVLOG(1) << "MediaStreamDispatcherHost::StreamGenerated(" 39 DVLOG(1) << "MediaStreamDispatcherHost::StreamGenerated("
42 << ", {label = " << label << "})"; 40 << ", {label = " << label << "})";
43 41
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 << security_origin.spec() << ")"; 264 << security_origin.spec() << ")";
267 265
268 std::string label; 266 std::string label;
269 manager()->OpenDevice(this, render_process_id_, render_view_id, 267 manager()->OpenDevice(this, render_process_id_, render_view_id,
270 device_id, type, security_origin, &label); 268 device_id, type, security_origin, &label);
271 DCHECK(!label.empty()); 269 DCHECK(!label.empty());
272 streams_[label] = StreamRequest(render_view_id, page_request_id); 270 streams_[label] = StreamRequest(render_view_id, page_request_id);
273 } 271 }
274 272
275 MediaStreamManager* MediaStreamDispatcherHost::manager() { 273 MediaStreamManager* MediaStreamDispatcherHost::manager() {
276 return MediaStreamManager::GetForResourceContext( 274 return MediaStreamManager::GetForResourceContext(resource_context_);
277 resource_context_, audio_manager_);
278 } 275 }
279 276
280 } // namespace media_stream 277 } // namespace media_stream
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698