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

Unified Diff: content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc

Issue 10912004: Begin adding support for tab mirroring via the MediaStream audio/video capturing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Simplify: Use only one AudioInputDeviceManager and VideoCaptureManager, like before. 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698