Index: content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc |
diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc |
index eb56bd9802f317e91d37b0df0fc657be1bdae144..e29b1421cd8a65cf571da75d8760f7931a2525c6 100644 |
--- a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc |
+++ b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc |
@@ -7,7 +7,6 @@ |
#include "base/bind.h" |
#include "base/message_loop.h" |
#include "content/browser/browser_thread_impl.h" |
-#include "content/browser/renderer_host/media/audio_input_device_manager.h" |
#include "content/browser/renderer_host/media/media_stream_dispatcher_host.h" |
#include "content/browser/renderer_host/media/media_stream_manager.h" |
#include "content/browser/renderer_host/media/mock_media_observer.h" |
@@ -62,6 +61,15 @@ class MockMediaStreamDispatcherHost : public MediaStreamDispatcherHost, |
components, |
GURL()); |
} |
+ void OnGenerateStreamForDevice(int page_request_id, |
+ const StreamOptions& components, |
+ const std::string& device_id) { |
+ MediaStreamDispatcherHost::OnGenerateStreamForDevice(kRenderId, |
+ page_request_id, |
+ components, |
+ device_id, |
+ GURL()); |
+ } |
void OnStopGeneratedStream(const std::string& label) { |
MediaStreamDispatcherHost::OnStopGeneratedStream(kRenderId, label); |
} |
@@ -172,13 +180,8 @@ class MediaStreamDispatcherHostTest : public testing::Test { |
// Create our own MediaStreamManager. |
audio_manager_.reset(media::AudioManager::Create()); |
- scoped_refptr<media_stream::AudioInputDeviceManager> |
- audio_input_device_manager( |
- new media_stream::AudioInputDeviceManager(audio_manager_.get())); |
- scoped_refptr<media_stream::VideoCaptureManager> video_capture_manager( |
- new media_stream::VideoCaptureManager()); |
- media_stream_manager_.reset(new media_stream::MediaStreamManager( |
- audio_input_device_manager, video_capture_manager)); |
+ media_stream_manager_.reset( |
+ new media_stream::MediaStreamManager(audio_manager_.get())); |
// Make sure we use fake devices to avoid long delays. |
media_stream_manager_->UseFakeDevice(); |
@@ -240,6 +243,32 @@ TEST_F(MediaStreamDispatcherHostTest, GenerateStream) { |
EXPECT_EQ(host_->NumberOfStreams(), 0u); |
} |
+TEST_F(MediaStreamDispatcherHostTest, GenerateStreamForDevice) { |
+ static const char kDeviceId[] = "/dev/video0"; |
+ |
+ StreamOptions options(content::MEDIA_NO_SERVICE, |
+ content::MEDIA_DEVICE_VIDEO_CAPTURE); |
+ |
+ EXPECT_CALL(*host_, GetMediaObserver()) |
+ .WillRepeatedly(Return(media_observer_.get())); |
+ EXPECT_CALL(*host_, OnStreamGenerated(kRenderId, kPageRequestId, 0, 1)); |
+ host_->OnGenerateStreamForDevice(kPageRequestId, options, kDeviceId); |
+ |
+ EXPECT_CALL(*media_observer_.get(), OnCaptureDevicesOpened(_, _, _)); |
+ EXPECT_CALL(*media_observer_.get(), OnCaptureDevicesClosed(_, _, _)); |
+ |
+ WaitForResult(); |
+ |
+ std::string label = host_->label_; |
tommi (sloooow) - chröme
2012/09/10 09:17:25
only one space
miu
2012/09/10 21:24:38
Done.
|
+ |
+ EXPECT_EQ(0u, host_->audio_devices_.size()); |
+ EXPECT_EQ(1u, host_->video_devices_.size()); |
+ EXPECT_EQ(1u, host_->NumberOfStreams()); |
+ |
+ host_->OnStopGeneratedStream(label); |
+ EXPECT_EQ(0u, host_->NumberOfStreams()); |
+} |
+ |
TEST_F(MediaStreamDispatcherHostTest, GenerateThreeStreams) { |
// This test opens three video capture devices. Two fake devices exists and it |
// is expected the last call to |Open()| will open the first device again, but |