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

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

Issue 57913002: Refactor how the DeviceMonitor is started. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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_manager.h" 5 #include "content/browser/renderer_host/media/media_stream_manager.h"
6 6
7 #include <list> 7 #include <list>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // It can be null if the requester has no interest to know the result. 143 // It can be null if the requester has no interest to know the result.
144 // Currently it is only used by |DEVICE_ACCESS| type. 144 // Currently it is only used by |DEVICE_ACCESS| type.
145 MediaStreamManager::MediaRequestResponseCallback callback; 145 MediaStreamManager::MediaRequestResponseCallback callback;
146 146
147 scoped_ptr<MediaStreamUIProxy> ui_proxy; 147 scoped_ptr<MediaStreamUIProxy> ui_proxy;
148 148
149 private: 149 private:
150 std::vector<MediaRequestState> state_; 150 std::vector<MediaRequestState> state_;
151 }; 151 };
152 152
153
153 MediaStreamManager::EnumerationCache::EnumerationCache() 154 MediaStreamManager::EnumerationCache::EnumerationCache()
154 : valid(false) { 155 : valid(false) {
155 } 156 }
156 157
157 MediaStreamManager::EnumerationCache::~EnumerationCache() { 158 MediaStreamManager::EnumerationCache::~EnumerationCache() {
158 } 159 }
159 160
160 MediaStreamManager::MediaStreamManager() 161 MediaStreamManager::MediaStreamManager()
161 : audio_manager_(NULL), 162 : audio_manager_(NULL),
162 monitoring_started_(false), 163 monitoring_started_(false),
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 MediaStreamRequester* requester, 408 MediaStreamRequester* requester,
408 int render_process_id, 409 int render_process_id,
409 int render_view_id, 410 int render_view_id,
410 ResourceContext* rc, 411 ResourceContext* rc,
411 int page_request_id, 412 int page_request_id,
412 MediaStreamType type, 413 MediaStreamType type,
413 const GURL& security_origin) { 414 const GURL& security_origin) {
414 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 415 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
415 DCHECK(type == MEDIA_DEVICE_AUDIO_CAPTURE || 416 DCHECK(type == MEDIA_DEVICE_AUDIO_CAPTURE ||
416 type == MEDIA_DEVICE_VIDEO_CAPTURE); 417 type == MEDIA_DEVICE_VIDEO_CAPTURE);
417 418 DCHECK(requester);
418 // When the requester is NULL, the request is made by the UI to ensure MSM
419 // starts monitoring devices.
420 if (!requester) {
421 if (!monitoring_started_)
422 StartMonitoring();
423
424 return std::string();
425 }
426 419
427 // Create a new request. 420 // Create a new request.
428 StreamOptions options; 421 StreamOptions options;
429 if (type == MEDIA_DEVICE_AUDIO_CAPTURE) { 422 if (type == MEDIA_DEVICE_AUDIO_CAPTURE) {
430 options.audio_type = type; 423 options.audio_type = type;
431 } else if (type == MEDIA_DEVICE_VIDEO_CAPTURE) { 424 } else if (type == MEDIA_DEVICE_VIDEO_CAPTURE) {
432 options.video_type = type; 425 options.video_type = type;
433 } else { 426 } else {
434 NOTREACHED(); 427 NOTREACHED();
435 return std::string(); 428 return std::string();
(...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after
1337 } 1330 }
1338 1331
1339 // Always do enumeration even though some enumeration is in progress, 1332 // Always do enumeration even though some enumeration is in progress,
1340 // because those enumeration commands could be sent before these devices 1333 // because those enumeration commands could be sent before these devices
1341 // change. 1334 // change.
1342 ++active_enumeration_ref_count_[stream_type]; 1335 ++active_enumeration_ref_count_[stream_type];
1343 GetDeviceManager(stream_type)->EnumerateDevices(stream_type); 1336 GetDeviceManager(stream_type)->EnumerateDevices(stream_type);
1344 } 1337 }
1345 1338
1346 } // namespace content 1339 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698