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

Side by Side 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: Renamed MEDIA_USER_*_CAPTURE to MEDIA_*_DEVICE_CAPTURE, as suggested by wjia@. 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 <string> 5 #include <string>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "content/browser/browser_thread_impl.h" 9 #include "content/browser/browser_thread_impl.h"
10 #include "content/browser/renderer_host/media/audio_input_device_manager.h"
11 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h" 10 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h"
12 #include "content/browser/renderer_host/media/media_stream_manager.h" 11 #include "content/browser/renderer_host/media/media_stream_manager.h"
13 #include "content/browser/renderer_host/media/mock_media_observer.h" 12 #include "content/browser/renderer_host/media/mock_media_observer.h"
14 #include "content/browser/renderer_host/media/video_capture_manager.h" 13 #include "content/browser/renderer_host/media/video_capture_manager.h"
15 #include "content/common/media/media_stream_messages.h" 14 #include "content/common/media/media_stream_messages.h"
16 #include "content/common/media/media_stream_options.h" 15 #include "content/common/media/media_stream_options.h"
17 #include "content/public/test/mock_resource_context.h" 16 #include "content/public/test/mock_resource_context.h"
18 #include "content/test/test_content_browser_client.h" 17 #include "content/test/test_content_browser_client.h"
19 #include "content/test/test_content_client.h" 18 #include "content/test/test_content_client.h"
20 #include "ipc/ipc_message_macros.h" 19 #include "ipc/ipc_message_macros.h"
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 // MediaStreamManager must be created and called on IO thread. 164 // MediaStreamManager must be created and called on IO thread.
166 message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO)); 165 message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO));
167 io_thread_.reset(new BrowserThreadImpl(BrowserThread::IO, 166 io_thread_.reset(new BrowserThreadImpl(BrowserThread::IO,
168 message_loop_.get())); 167 message_loop_.get()));
169 168
170 // Create our own media observer. 169 // Create our own media observer.
171 media_observer_.reset(new MockMediaObserver()); 170 media_observer_.reset(new MockMediaObserver());
172 171
173 // Create our own MediaStreamManager. 172 // Create our own MediaStreamManager.
174 audio_manager_.reset(media::AudioManager::Create()); 173 audio_manager_.reset(media::AudioManager::Create());
175 scoped_refptr<media_stream::AudioInputDeviceManager> 174 media_stream_manager_.reset(new media_stream::MediaStreamManager());
176 audio_input_device_manager( 175 media_stream_manager_->SetAudioManager(audio_manager_.get());
177 new media_stream::AudioInputDeviceManager(audio_manager_.get()));
178 scoped_refptr<media_stream::VideoCaptureManager> video_capture_manager(
179 new media_stream::VideoCaptureManager());
180 media_stream_manager_.reset(new media_stream::MediaStreamManager(
181 audio_input_device_manager, video_capture_manager));
182 // Make sure we use fake devices to avoid long delays. 176 // Make sure we use fake devices to avoid long delays.
183 media_stream_manager_->UseFakeDevice(); 177 media_stream_manager_->UseFakeDevice();
184 178
185 host_ = new MockMediaStreamDispatcherHost(message_loop_.get(), 179 host_ = new MockMediaStreamDispatcherHost(message_loop_.get(),
186 media_stream_manager_.get()); 180 media_stream_manager_.get());
187 181
188 // Use the fake content client and browser. 182 // Use the fake content client and browser.
189 old_client_ = content::GetContentClient(); 183 old_client_ = content::GetContentClient();
190 old_browser_client_ = content::GetContentClient()->browser(); 184 old_browser_client_ = content::GetContentClient()->browser();
191 content_client_.reset(new TestContentClient); 185 content_client_.reset(new TestContentClient);
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 EXPECT_CALL(*media_observer_.get(), OnCaptureDevicesOpened(_, _, _)); 317 EXPECT_CALL(*media_observer_.get(), OnCaptureDevicesOpened(_, _, _));
324 WaitForResult(); 318 WaitForResult();
325 std::string label = host_->label_; 319 std::string label = host_->label_;
326 320
327 EXPECT_EQ(host_->audio_devices_.size(), 0u); 321 EXPECT_EQ(host_->audio_devices_.size(), 0u);
328 EXPECT_EQ(host_->video_devices_.size(), 1u); 322 EXPECT_EQ(host_->video_devices_.size(), 1u);
329 EXPECT_EQ(host_->NumberOfStreams(), 1u); 323 EXPECT_EQ(host_->NumberOfStreams(), 1u);
330 324
331 EXPECT_CALL(*host_, OnVideoDeviceFailed(kRenderId, 0)); 325 EXPECT_CALL(*host_, OnVideoDeviceFailed(kRenderId, 0));
332 int session_id = host_->video_devices_[0].session_id; 326 int session_id = host_->video_devices_[0].session_id;
333 media_stream_manager_->video_capture_manager()->Error(session_id); 327 media_stream_manager_->GetVideoCaptureManager(
328 content::MEDIA_VIDEO_DEVICE_CAPTURE)->Error(session_id);
334 WaitForResult(); 329 WaitForResult();
335 EXPECT_EQ(host_->video_devices_.size(), 0u); 330 EXPECT_EQ(host_->video_devices_.size(), 0u);
336 EXPECT_EQ(host_->NumberOfStreams(), 1u); 331 EXPECT_EQ(host_->NumberOfStreams(), 1u);
337 332
338 // TODO(perkj): test audio device failure? 333 // TODO(perkj): test audio device failure?
339 334
340 EXPECT_CALL(*media_observer_.get(), OnCaptureDevicesClosed(_, _, _)); 335 EXPECT_CALL(*media_observer_.get(), OnCaptureDevicesClosed(_, _, _));
341 host_->OnStopGeneratedStream(label); 336 host_->OnStopGeneratedStream(label);
342 EXPECT_EQ(host_->NumberOfStreams(), 0u); 337 EXPECT_EQ(host_->NumberOfStreams(), 0u);
343 } 338 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 // Calling OnChannelClosing() to cancel all the pending/generated streams. 378 // Calling OnChannelClosing() to cancel all the pending/generated streams.
384 EXPECT_CALL(*media_observer_.get(), OnCaptureDevicesClosed(_, _, _)) 379 EXPECT_CALL(*media_observer_.get(), OnCaptureDevicesClosed(_, _, _))
385 .Times(3); 380 .Times(3);
386 host_->OnChannelClosing(); 381 host_->OnChannelClosing();
387 382
388 // Streams should have been cleaned up. 383 // Streams should have been cleaned up.
389 EXPECT_EQ(host_->NumberOfStreams(), 0u); 384 EXPECT_EQ(host_->NumberOfStreams(), 0u);
390 } 385 }
391 386
392 }; // namespace media_stream 387 }; // namespace media_stream
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698