| Index: content/browser/renderer_host/media/media_stream_manager.cc
|
| diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc
|
| index af543fc26d562756c7c3a4a2aa2e42cfd572ab9f..7d5c6e941b83fae254cf84e611464f94f87b1c5e 100644
|
| --- a/content/browser/renderer_host/media/media_stream_manager.cc
|
| +++ b/content/browser/renderer_host/media/media_stream_manager.cc
|
| @@ -36,6 +36,9 @@
|
| #include "media/audio/audio_manager_base.h"
|
| #include "media/audio/audio_parameters.h"
|
| #include "media/base/channel_layout.h"
|
| +#include "media/base/media_switches.h"
|
| +#include "media/video/capture/fake_video_capture_device_factory.h"
|
| +#include "media/video/capture/file_video_capture_device_factory.h"
|
| #include "url/gurl.h"
|
|
|
| #if defined(OS_WIN)
|
| @@ -1435,10 +1438,18 @@ void MediaStreamManager::InitializeDeviceManagersOnIOThread() {
|
| io_loop_ = base::MessageLoop::current();
|
| io_loop_->AddDestructionObserver(this);
|
|
|
| + // Use a Fake Audio/Video Device if the command line flags are present.
|
| if (CommandLine::ForCurrentProcess()->HasSwitch(
|
| switches::kUseFakeDeviceForMediaStream)) {
|
| - DVLOG(1) << "Using fake device";
|
| - UseFakeDevice();
|
| + if (CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kUseFileForFakeVideoCapture)) {
|
| + UseFakeVideoDevice(scoped_ptr<media::VideoCaptureDeviceFactory>(
|
| + new media::FileVideoCaptureDeviceFactory()));
|
| + } else {
|
| + UseFakeVideoDevice(scoped_ptr<media::VideoCaptureDeviceFactory>(
|
| + new media::FakeVideoCaptureDeviceFactory()));
|
| + }
|
| + UseFakeAudioDevice();
|
| }
|
| }
|
|
|
| @@ -1791,9 +1802,14 @@ void MediaStreamManager::StopMediaStreamFromBrowser(const std::string& label) {
|
| CancelRequest(label);
|
| }
|
|
|
| -void MediaStreamManager::UseFakeDevice() {
|
| +void MediaStreamManager::UseFakeVideoDevice(
|
| + scoped_ptr<media::VideoCaptureDeviceFactory> factory) {
|
| + DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| + video_capture_manager()->UseFakeDevice(factory.Pass());
|
| +}
|
| +
|
| +void MediaStreamManager::UseFakeAudioDevice() {
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| - video_capture_manager()->UseFakeDevice();
|
| audio_input_device_manager()->UseFakeDevice();
|
| }
|
|
|
|
|