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

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

Issue 10919095: content_browsertests will now use fake webrtc devices. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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_manager.h" 5 #include "content/browser/renderer_host/media/media_stream_manager.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 StreamDeviceInfoArray video_devices; 127 StreamDeviceInfoArray video_devices;
128 }; 128 };
129 129
130 MediaStreamManager::EnumerationCache::EnumerationCache() 130 MediaStreamManager::EnumerationCache::EnumerationCache()
131 : valid(false) { 131 : valid(false) {
132 } 132 }
133 133
134 MediaStreamManager::EnumerationCache::~EnumerationCache() { 134 MediaStreamManager::EnumerationCache::~EnumerationCache() {
135 } 135 }
136 136
137 bool MediaStreamManager::always_use_fake_devices_ = false;
138
139 // static
140 void MediaStreamManager::AlwaysUseFakeDevice() {
141 always_use_fake_devices_ = true;
142 }
143
137 MediaStreamManager::MediaStreamManager( 144 MediaStreamManager::MediaStreamManager(
138 AudioInputDeviceManager* audio_input_device_manager, 145 AudioInputDeviceManager* audio_input_device_manager,
139 VideoCaptureManager* video_capture_manager) 146 VideoCaptureManager* video_capture_manager)
140 : ALLOW_THIS_IN_INITIALIZER_LIST( 147 : ALLOW_THIS_IN_INITIALIZER_LIST(
141 device_settings_(new MediaStreamDeviceSettings(this))), 148 device_settings_(new MediaStreamDeviceSettings(this))),
142 audio_input_device_manager_(audio_input_device_manager), 149 audio_input_device_manager_(audio_input_device_manager),
143 video_capture_manager_(video_capture_manager), 150 video_capture_manager_(video_capture_manager),
144 monitoring_started_(false), 151 monitoring_started_(false),
145 io_loop_(NULL) { 152 io_loop_(NULL) {
146 memset(active_enumeration_ref_count_, 0, 153 memset(active_enumeration_ref_count_, 0,
(...skipping 20 matching lines...) Expand all
167 return audio_input_device_manager_; 174 return audio_input_device_manager_;
168 } 175 }
169 176
170 void MediaStreamManager::GenerateStream(MediaStreamRequester* requester, 177 void MediaStreamManager::GenerateStream(MediaStreamRequester* requester,
171 int render_process_id, 178 int render_process_id,
172 int render_view_id, 179 int render_view_id,
173 const StreamOptions& options, 180 const StreamOptions& options,
174 const GURL& security_origin, 181 const GURL& security_origin,
175 std::string* label) { 182 std::string* label) {
176 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 183 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
184 if (always_use_fake_devices_)
185 UseFakeDevice();
177 186
178 // Create a new request based on options. 187 // Create a new request based on options.
179 DeviceRequest new_request(requester, options, 188 DeviceRequest new_request(requester, options,
180 render_process_id, 189 render_process_id,
181 render_view_id, 190 render_view_id,
182 security_origin); 191 security_origin);
183 StartEnumeration(&new_request, label); 192 StartEnumeration(&new_request, label);
184 193
185 // Get user confirmation to use capture devices. 194 // Get user confirmation to use capture devices.
186 device_settings_->RequestCaptureDeviceUsage(*label, 195 device_settings_->RequestCaptureDeviceUsage(*label,
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 717
709 audio_input_device_manager_ = NULL; 718 audio_input_device_manager_ = NULL;
710 video_capture_manager_ = NULL; 719 video_capture_manager_ = NULL;
711 io_loop_ = NULL; 720 io_loop_ = NULL;
712 device_settings_.reset(); 721 device_settings_.reset();
713 } 722 }
714 723
715 void MediaStreamManager::NotifyObserverDevicesOpened(DeviceRequest* request) { 724 void MediaStreamManager::NotifyObserverDevicesOpened(DeviceRequest* request) {
716 content::MediaObserver* media_observer = 725 content::MediaObserver* media_observer =
717 content::GetContentClient()->browser()->GetMediaObserver(); 726 content::GetContentClient()->browser()->GetMediaObserver();
727 if (media_observer == NULL)
728 return;
718 content::MediaStreamDevices opened_devices; 729 content::MediaStreamDevices opened_devices;
719 DevicesFromRequest(request, &opened_devices); 730 DevicesFromRequest(request, &opened_devices);
720 DCHECK(!opened_devices.empty()); 731 DCHECK(!opened_devices.empty());
721 media_observer->OnCaptureDevicesOpened(request->render_process_id, 732 media_observer->OnCaptureDevicesOpened(request->render_process_id,
722 request->render_view_id, 733 request->render_view_id,
723 opened_devices); 734 opened_devices);
724 } 735 }
725 736
726 void MediaStreamManager::NotifyObserverDevicesClosed(DeviceRequest* request) { 737 void MediaStreamManager::NotifyObserverDevicesClosed(DeviceRequest* request) {
727 content::MediaObserver* media_observer = 738 content::MediaObserver* media_observer =
728 content::GetContentClient()->browser()->GetMediaObserver(); 739 content::GetContentClient()->browser()->GetMediaObserver();
740 if (media_observer == NULL)
741 return;
729 content::MediaStreamDevices closed_devices; 742 content::MediaStreamDevices closed_devices;
730 DevicesFromRequest(request, &closed_devices); 743 DevicesFromRequest(request, &closed_devices);
731 if (closed_devices.empty()) 744 if (closed_devices.empty())
732 return; 745 return;
733 media_observer->OnCaptureDevicesClosed(request->render_process_id, 746 media_observer->OnCaptureDevicesClosed(request->render_process_id,
734 request->render_view_id, 747 request->render_view_id,
735 closed_devices); 748 closed_devices);
736 } 749 }
737 750
738 void MediaStreamManager::DevicesFromRequest( 751 void MediaStreamManager::DevicesFromRequest(
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 it != requests_.end(); ++it) { 865 it != requests_.end(); ++it) {
853 if (it->second.type == DeviceRequest::ENUMERATE_DEVICES && 866 if (it->second.type == DeviceRequest::ENUMERATE_DEVICES &&
854 Requested(it->second.options, stream_type)) { 867 Requested(it->second.options, stream_type)) {
855 return true; 868 return true;
856 } 869 }
857 } 870 }
858 return false; 871 return false;
859 } 872 }
860 873
861 } // namespace media_stream 874 } // namespace media_stream
OLDNEW
« no previous file with comments | « content/browser/renderer_host/media/media_stream_manager.h ('k') | content/test/content_test_launcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698