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

Side by Side Diff: content/browser/renderer_host/media/audio_output_delegate_impl_unittest.cc

Issue 2655413004: Strip out stream counting from AudioRendererHost. (Closed)
Patch Set: Add moar DCHECKs. Created 3 years, 10 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "content/browser/renderer_host/media/audio_output_delegate_impl.h" 5 #include "content/browser/renderer_host/media/audio_output_delegate_impl.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 int page_request_id, 71 int page_request_id,
72 MediaStreamType stream_type, 72 MediaStreamType stream_type,
73 bool is_secure) override {} 73 bool is_secure) override {}
74 74
75 MOCK_METHOD2(OnCreatingAudioStream, 75 MOCK_METHOD2(OnCreatingAudioStream,
76 void(int render_process_id, int render_frame_id)); 76 void(int render_process_id, int render_frame_id));
77 }; 77 };
78 78
79 class MockEventHandler : public AudioOutputDelegate::EventHandler { 79 class MockEventHandler : public AudioOutputDelegate::EventHandler {
80 public: 80 public:
81 MOCK_METHOD1(OnStreamStateChanged, void(bool playing));
82 MOCK_METHOD3(OnStreamCreated, 81 MOCK_METHOD3(OnStreamCreated,
83 void(int stream_id, 82 void(int stream_id,
84 base::SharedMemory* shared_memory, 83 base::SharedMemory* shared_memory,
85 base::CancelableSyncSocket* socket)); 84 base::CancelableSyncSocket* socket));
86 MOCK_METHOD1(OnStreamError, void(int stream_id)); 85 MOCK_METHOD1(OnStreamError, void(int stream_id));
87 }; 86 };
88 87
89 class DummyAudioOutputStream : public media::AudioOutputStream { 88 class DummyAudioOutputStream : public media::AudioOutputStream {
90 public: 89 public:
91 // AudioOutputSteam implementation: 90 // AudioOutputSteam implementation:
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done); 145 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
147 } 146 }
148 147
149 void PlayTest(base::Closure done) { 148 void PlayTest(base::Closure done) {
150 EXPECT_CALL(media_observer_, 149 EXPECT_CALL(media_observer_,
151 OnCreatingAudioStream(kRenderProcessId, kRenderFrameId)); 150 OnCreatingAudioStream(kRenderProcessId, kRenderFrameId));
152 EXPECT_CALL(event_handler_, 151 EXPECT_CALL(event_handler_,
153 OnStreamCreated(kStreamId, NotNull(), NotNull())); 152 OnStreamCreated(kStreamId, NotNull(), NotNull()));
154 EXPECT_CALL(mirroring_manager_, 153 EXPECT_CALL(mirroring_manager_,
155 AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); 154 AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
156 {
157 InSequence s;
158 EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
159 EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
160 }
161 155
162 { 156 {
163 AudioOutputDelegateImpl delegate( 157 AudioOutputDelegateImpl delegate(
164 &event_handler_, audio_manager_.get(), 158 &event_handler_, audio_manager_.get(),
165 log_factory_.CreateAudioLog( 159 log_factory_.CreateAudioLog(
166 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER), 160 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
167 &mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId, 161 &mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
168 kRenderProcessId, audio_manager_->GetDefaultOutputStreamParameters(), 162 kRenderProcessId, audio_manager_->GetDefaultOutputStreamParameters(),
169 kDefaultDeviceId); 163 kDefaultDeviceId);
170 164
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done); 199 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
206 } 200 }
207 201
208 void PlayPausePlayTest(base::Closure done) { 202 void PlayPausePlayTest(base::Closure done) {
209 EXPECT_CALL(media_observer_, 203 EXPECT_CALL(media_observer_,
210 OnCreatingAudioStream(kRenderProcessId, kRenderFrameId)); 204 OnCreatingAudioStream(kRenderProcessId, kRenderFrameId));
211 EXPECT_CALL(event_handler_, 205 EXPECT_CALL(event_handler_,
212 OnStreamCreated(kStreamId, NotNull(), NotNull())); 206 OnStreamCreated(kStreamId, NotNull(), NotNull()));
213 EXPECT_CALL(mirroring_manager_, 207 EXPECT_CALL(mirroring_manager_,
214 AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); 208 AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
215 {
216 InSequence s;
217 EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
218 EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
219 EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
220 EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
221 }
222 209
223 { 210 {
224 AudioOutputDelegateImpl delegate( 211 AudioOutputDelegateImpl delegate(
225 &event_handler_, audio_manager_.get(), 212 &event_handler_, audio_manager_.get(),
226 log_factory_.CreateAudioLog( 213 log_factory_.CreateAudioLog(
227 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER), 214 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
228 &mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId, 215 &mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
229 kRenderProcessId, audio_manager_->GetDefaultOutputStreamParameters(), 216 kRenderProcessId, audio_manager_->GetDefaultOutputStreamParameters(),
230 kDefaultDeviceId); 217 kDefaultDeviceId);
231 218
232 delegate.OnPlayStream(); 219 delegate.OnPlayStream();
233 delegate.OnPauseStream(); 220 delegate.OnPauseStream();
234 delegate.OnPlayStream(); 221 delegate.OnPlayStream();
235 222
236 SyncWithAllThreads(); 223 SyncWithAllThreads();
237 224
238 EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull())); 225 EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
239 } 226 }
240 SyncWithAllThreads(); 227 SyncWithAllThreads();
241 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done); 228 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
242 } 229 }
243 230
244 void PlayPlayTest(base::Closure done) { 231 void PlayPlayTest(base::Closure done) {
245 EXPECT_CALL(media_observer_, 232 EXPECT_CALL(media_observer_,
246 OnCreatingAudioStream(kRenderProcessId, kRenderFrameId)); 233 OnCreatingAudioStream(kRenderProcessId, kRenderFrameId));
247 EXPECT_CALL(event_handler_, 234 EXPECT_CALL(event_handler_,
248 OnStreamCreated(kStreamId, NotNull(), NotNull())); 235 OnStreamCreated(kStreamId, NotNull(), NotNull()));
249 EXPECT_CALL(mirroring_manager_, 236 EXPECT_CALL(mirroring_manager_,
250 AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); 237 AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
251 {
252 InSequence s;
253 EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
254 EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
255 }
256 238
257 { 239 {
258 AudioOutputDelegateImpl delegate( 240 AudioOutputDelegateImpl delegate(
259 &event_handler_, audio_manager_.get(), 241 &event_handler_, audio_manager_.get(),
260 log_factory_.CreateAudioLog( 242 log_factory_.CreateAudioLog(
261 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER), 243 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
262 &mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId, 244 &mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
263 kRenderProcessId, audio_manager_->GetDefaultOutputStreamParameters(), 245 kRenderProcessId, audio_manager_->GetDefaultOutputStreamParameters(),
264 kDefaultDeviceId); 246 kDefaultDeviceId);
265 247
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done); 315 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
334 } 316 }
335 317
336 void PlayDivertTest(base::Closure done) { 318 void PlayDivertTest(base::Closure done) {
337 EXPECT_CALL(media_observer_, 319 EXPECT_CALL(media_observer_,
338 OnCreatingAudioStream(kRenderProcessId, kRenderFrameId)); 320 OnCreatingAudioStream(kRenderProcessId, kRenderFrameId));
339 EXPECT_CALL(event_handler_, 321 EXPECT_CALL(event_handler_,
340 OnStreamCreated(kStreamId, NotNull(), NotNull())); 322 OnStreamCreated(kStreamId, NotNull(), NotNull()));
341 EXPECT_CALL(mirroring_manager_, 323 EXPECT_CALL(mirroring_manager_,
342 AddDiverter(kRenderProcessId, kRenderFrameId, NotNull())); 324 AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
343 {
344 InSequence s;
345 EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
346 EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
347 }
348 325
349 DummyAudioOutputStream stream; 326 DummyAudioOutputStream stream;
350 { 327 {
351 AudioOutputDelegateImpl delegate( 328 AudioOutputDelegateImpl delegate(
352 &event_handler_, audio_manager_.get(), 329 &event_handler_, audio_manager_.get(),
353 log_factory_.CreateAudioLog( 330 log_factory_.CreateAudioLog(
354 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER), 331 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
355 &mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId, 332 &mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
356 kRenderProcessId, audio_manager_->GetDefaultOutputStreamParameters(), 333 kRenderProcessId, audio_manager_->GetDefaultOutputStreamParameters(),
357 kDefaultDeviceId); 334 kDefaultDeviceId);
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 TEST_F(AudioOutputDelegateTest, ErrorAndDestroy) { 570 TEST_F(AudioOutputDelegateTest, ErrorAndDestroy) {
594 base::RunLoop l; 571 base::RunLoop l;
595 BrowserThread::PostTask( 572 BrowserThread::PostTask(
596 BrowserThread::IO, FROM_HERE, 573 BrowserThread::IO, FROM_HERE,
597 base::Bind(&AudioOutputDelegateTest::PlayAndDestroyTest, 574 base::Bind(&AudioOutputDelegateTest::PlayAndDestroyTest,
598 base::Unretained(this), l.QuitClosure())); 575 base::Unretained(this), l.QuitClosure()));
599 l.Run(); 576 l.Run();
600 } 577 }
601 578
602 } // namespace content 579 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698