| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/mock_resource_context.h" | 10 #include "content/browser/mock_resource_context.h" |
| 11 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h" | 11 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h" |
| 12 #include "content/browser/renderer_host/media/media_stream_manager.h" | 12 #include "content/browser/renderer_host/media/media_stream_manager.h" |
| 13 #include "content/browser/renderer_host/media/video_capture_manager.h" | 13 #include "content/browser/renderer_host/media/video_capture_manager.h" |
| 14 #include "content/browser/resource_context.h" | 14 #include "content/browser/resource_context.h" |
| 15 #include "content/common/media/media_stream_messages.h" | 15 #include "content/common/media/media_stream_messages.h" |
| 16 #include "content/common/media/media_stream_options.h" | 16 #include "content/common/media/media_stream_options.h" |
| 17 #include "ipc/ipc_message_macros.h" | 17 #include "ipc/ipc_message_macros.h" |
| 18 #include "media/audio/audio_manager.h" |
| 18 #include "testing/gmock/include/gmock/gmock.h" | 19 #include "testing/gmock/include/gmock/gmock.h" |
| 19 #include "testing/gtest/include/gtest/gtest.h" | 20 #include "testing/gtest/include/gtest/gtest.h" |
| 20 | 21 |
| 21 using ::testing::_; | 22 using ::testing::_; |
| 22 using ::testing::DeleteArg; | 23 using ::testing::DeleteArg; |
| 23 using ::testing::DoAll; | 24 using ::testing::DoAll; |
| 24 using ::testing::Return; | 25 using ::testing::Return; |
| 25 using content::BrowserThread; | 26 using content::BrowserThread; |
| 26 | 27 |
| 27 using content::BrowserThreadImpl; | 28 using content::BrowserThreadImpl; |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 protected: | 145 protected: |
| 145 virtual void SetUp() { | 146 virtual void SetUp() { |
| 146 message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO)); | 147 message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO)); |
| 147 // ResourceContext must be created on UI thread. | 148 // ResourceContext must be created on UI thread. |
| 148 ui_thread_.reset(new BrowserThreadImpl(BrowserThread::UI, | 149 ui_thread_.reset(new BrowserThreadImpl(BrowserThread::UI, |
| 149 message_loop_.get())); | 150 message_loop_.get())); |
| 150 // MediaStreamManager must be created and called on IO thread. | 151 // MediaStreamManager must be created and called on IO thread. |
| 151 io_thread_.reset(new BrowserThreadImpl(BrowserThread::IO, | 152 io_thread_.reset(new BrowserThreadImpl(BrowserThread::IO, |
| 152 message_loop_.get())); | 153 message_loop_.get())); |
| 153 | 154 |
| 155 audio_manager_ = AudioManager::Create(); |
| 156 |
| 154 // Create a MediaStreamManager instance and hand over pointer to | 157 // Create a MediaStreamManager instance and hand over pointer to |
| 155 // ResourceContext. | 158 // ResourceContext. |
| 156 media_stream_manager_.reset(new MediaStreamManager()); | 159 media_stream_manager_.reset(new MediaStreamManager(audio_manager_.get())); |
| 157 // Make sure we use fake devices to avoid long delays. | 160 // Make sure we use fake devices to avoid long delays. |
| 158 media_stream_manager_->UseFakeDevice(); | 161 media_stream_manager_->UseFakeDevice(); |
| 159 content::MockResourceContext::GetInstance()->set_media_stream_manager( | 162 content::MockResourceContext::GetInstance()->set_media_stream_manager( |
| 160 media_stream_manager_.get()); | 163 media_stream_manager_.get()); |
| 161 | 164 |
| 162 host_ = new MockMediaStreamDispatcherHost( | 165 host_ = new MockMediaStreamDispatcherHost( |
| 163 content::MockResourceContext::GetInstance(), message_loop_.get()); | 166 content::MockResourceContext::GetInstance(), message_loop_.get()); |
| 164 } | 167 } |
| 165 | 168 |
| 166 virtual void TearDown() { | 169 virtual void TearDown() { |
| (...skipping 28 matching lines...) Expand all Loading... |
| 195 base::Bind(&PostQuitOnVideoCaptureManagerThread, | 198 base::Bind(&PostQuitOnVideoCaptureManagerThread, |
| 196 message_loop_.get(), media_stream_manager_.get())); | 199 message_loop_.get(), media_stream_manager_.get())); |
| 197 message_loop_->Run(); | 200 message_loop_->Run(); |
| 198 } | 201 } |
| 199 | 202 |
| 200 scoped_refptr<MockMediaStreamDispatcherHost> host_; | 203 scoped_refptr<MockMediaStreamDispatcherHost> host_; |
| 201 scoped_ptr<MessageLoop> message_loop_; | 204 scoped_ptr<MessageLoop> message_loop_; |
| 202 scoped_ptr<BrowserThreadImpl> ui_thread_; | 205 scoped_ptr<BrowserThreadImpl> ui_thread_; |
| 203 scoped_ptr<BrowserThreadImpl> io_thread_; | 206 scoped_ptr<BrowserThreadImpl> io_thread_; |
| 204 scoped_ptr<MediaStreamManager> media_stream_manager_; | 207 scoped_ptr<MediaStreamManager> media_stream_manager_; |
| 208 scoped_refptr<AudioManager> audio_manager_; |
| 205 }; | 209 }; |
| 206 | 210 |
| 207 TEST_F(MediaStreamDispatcherHostTest, GenerateStream) { | 211 TEST_F(MediaStreamDispatcherHostTest, GenerateStream) { |
| 208 StreamOptions options(false, StreamOptions::kFacingUser); | 212 StreamOptions options(false, StreamOptions::kFacingUser); |
| 209 | 213 |
| 210 EXPECT_CALL(*host_, OnStreamGenerated(kRenderId, kPageRequestId, 0, 1)); | 214 EXPECT_CALL(*host_, OnStreamGenerated(kRenderId, kPageRequestId, 0, 1)); |
| 211 host_->OnGenerateStream(kPageRequestId, options); | 215 host_->OnGenerateStream(kPageRequestId, options); |
| 212 | 216 |
| 213 WaitForResult(); | 217 WaitForResult(); |
| 214 | 218 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 EXPECT_EQ(host_->video_devices_.size(), 0u); | 309 EXPECT_EQ(host_->video_devices_.size(), 0u); |
| 306 EXPECT_EQ(host_->NumberOfStreams(), 1u); | 310 EXPECT_EQ(host_->NumberOfStreams(), 1u); |
| 307 | 311 |
| 308 // TODO(perkj): test audio device failure? | 312 // TODO(perkj): test audio device failure? |
| 309 | 313 |
| 310 host_->OnStopGeneratedStream(label); | 314 host_->OnStopGeneratedStream(label); |
| 311 EXPECT_EQ(host_->NumberOfStreams(), 0u); | 315 EXPECT_EQ(host_->NumberOfStreams(), 0u); |
| 312 } | 316 } |
| 313 | 317 |
| 314 }; // namespace media_stream | 318 }; // namespace media_stream |
| OLD | NEW |