OLD | NEW |
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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/environment.h" | 6 #include "base/environment.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/process_util.h" | 9 #include "base/process_util.h" |
10 #include "base/sync_socket.h" | 10 #include "base/sync_socket.h" |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 | 192 |
193 audio_manager_.reset(); | 193 audio_manager_.reset(); |
194 | 194 |
195 io_thread_.reset(); | 195 io_thread_.reset(); |
196 ui_thread_.reset(); | 196 ui_thread_.reset(); |
197 } | 197 } |
198 | 198 |
199 void Create() { | 199 void Create() { |
200 EXPECT_CALL(*observer_, | 200 EXPECT_CALL(*observer_, |
201 OnSetAudioStreamStatus(_, kStreamId, "created")); | 201 OnSetAudioStreamStatus(_, kStreamId, "created")); |
202 | |
203 InSequence s; | |
204 // We will first receive an OnStreamCreated() signal. | |
205 EXPECT_CALL(*host_, OnStreamCreated(kStreamId, _)) | 202 EXPECT_CALL(*host_, OnStreamCreated(kStreamId, _)) |
206 .WillOnce(QuitMessageLoop(message_loop_.get())); | 203 .WillOnce(QuitMessageLoop(message_loop_.get())); |
| 204 EXPECT_CALL(mirroring_manager_, |
| 205 AddDiverter(kRenderProcessId, kRenderViewId, NotNull())) |
| 206 .RetiresOnSaturation(); |
207 | 207 |
208 // Send a create stream message to the audio output stream and wait until | 208 // Send a create stream message to the audio output stream and wait until |
209 // we receive the created message. | 209 // we receive the created message. |
210 host_->OnCreateStream(kStreamId, | 210 host_->OnCreateStream(kStreamId, |
| 211 kRenderViewId, |
211 media::AudioParameters( | 212 media::AudioParameters( |
212 media::AudioParameters::AUDIO_FAKE, | 213 media::AudioParameters::AUDIO_FAKE, |
213 media::CHANNEL_LAYOUT_STEREO, | 214 media::CHANNEL_LAYOUT_STEREO, |
214 media::AudioParameters::kAudioCDSampleRate, 16, | 215 media::AudioParameters::kAudioCDSampleRate, 16, |
215 media::AudioParameters::kAudioCDSampleRate / 10)); | 216 media::AudioParameters::kAudioCDSampleRate / 10)); |
216 message_loop_->Run(); | 217 message_loop_->Run(); |
217 | 218 |
218 // Simulate the renderer process associating a stream with a render view. | |
219 EXPECT_CALL(mirroring_manager_, | |
220 RemoveDiverter(kRenderProcessId, MSG_ROUTING_NONE, _)) | |
221 .RetiresOnSaturation(); | |
222 EXPECT_CALL(mirroring_manager_, | |
223 AddDiverter(kRenderProcessId, kRenderViewId, NotNull())) | |
224 .RetiresOnSaturation(); | |
225 host_->OnAssociateStreamWithProducer(kStreamId, kRenderViewId); | |
226 message_loop_->RunUntilIdle(); | |
227 // At some point in the future, a corresponding RemoveDiverter() call must | 219 // At some point in the future, a corresponding RemoveDiverter() call must |
228 // be made. | 220 // be made. |
229 EXPECT_CALL(mirroring_manager_, | 221 EXPECT_CALL(mirroring_manager_, |
230 RemoveDiverter(kRenderProcessId, kRenderViewId, NotNull())) | 222 RemoveDiverter(kRenderProcessId, kRenderViewId, NotNull())) |
231 .RetiresOnSaturation(); | 223 .RetiresOnSaturation(); |
232 | 224 |
233 // Expect the audio stream will be deleted at some later point. | 225 // Expect the audio stream will be deleted at some later point. |
234 EXPECT_CALL(*observer_, OnDeleteAudioStream(_, kStreamId)); | 226 EXPECT_CALL(*observer_, OnDeleteAudioStream(_, kStreamId)); |
235 } | 227 } |
236 | 228 |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
387 TEST_F(AudioRendererHostTest, SimulateErrorAndClose) { | 379 TEST_F(AudioRendererHostTest, SimulateErrorAndClose) { |
388 Create(); | 380 Create(); |
389 Play(); | 381 Play(); |
390 SimulateError(); | 382 SimulateError(); |
391 Close(); | 383 Close(); |
392 } | 384 } |
393 | 385 |
394 // TODO(hclam): Add tests for data conversation in low latency mode. | 386 // TODO(hclam): Add tests for data conversation in low latency mode. |
395 | 387 |
396 } // namespace content | 388 } // namespace content |
OLD | NEW |