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

Side by Side Diff: media/audio/audio_output_proxy_unittest.cc

Issue 10268026: Fix test. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 8 years, 7 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
« no previous file with comments | « no previous file | tools/valgrind/drmemory/suppressions_full.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/message_loop_proxy.h" 8 #include "base/message_loop_proxy.h"
9 #include "base/threading/platform_thread.h" 9 #include "base/threading/platform_thread.h"
10 #include "media/audio/audio_output_dispatcher_impl.h" 10 #include "media/audio/audio_output_dispatcher_impl.h"
11 #include "media/audio/audio_output_mixer.h" 11 #include "media/audio/audio_output_mixer.h"
12 #include "media/audio/audio_output_proxy.h" 12 #include "media/audio/audio_output_proxy.h"
13 #include "media/audio/audio_manager.h" 13 #include "media/audio/audio_manager.h"
14 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 16
17 using ::testing::_; 17 using ::testing::_;
18 using ::testing::AllOf; 18 using ::testing::AllOf;
19 using ::testing::DoAll;
19 using ::testing::Field; 20 using ::testing::Field;
20 using ::testing::Mock; 21 using ::testing::Mock;
22 using ::testing::NotNull;
21 using ::testing::Return; 23 using ::testing::Return;
24 using ::testing::SetArrayArgument;
22 using media::AudioBuffersState; 25 using media::AudioBuffersState;
23 using media::AudioInputStream; 26 using media::AudioInputStream;
24 using media::AudioManager; 27 using media::AudioManager;
25 using media::AudioOutputDispatcher; 28 using media::AudioOutputDispatcher;
26 using media::AudioOutputProxy; 29 using media::AudioOutputProxy;
27 using media::AudioOutputStream; 30 using media::AudioOutputStream;
28 using media::AudioParameters; 31 using media::AudioParameters;
29 32
30 namespace { 33 namespace {
31 34
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 .Times(1); 458 .Times(1);
456 EXPECT_CALL(stream, Close()) 459 EXPECT_CALL(stream, Close())
457 .Times(1); 460 .Times(1);
458 461
459 AudioOutputProxy* proxy1 = new AudioOutputProxy(mixer_); 462 AudioOutputProxy* proxy1 = new AudioOutputProxy(mixer_);
460 AudioOutputProxy* proxy2 = new AudioOutputProxy(mixer_); 463 AudioOutputProxy* proxy2 = new AudioOutputProxy(mixer_);
461 EXPECT_TRUE(proxy1->Open()); 464 EXPECT_TRUE(proxy1->Open());
462 EXPECT_TRUE(proxy2->Open()); 465 EXPECT_TRUE(proxy2->Open());
463 466
464 proxy1->Start(&callback_); 467 proxy1->Start(&callback_);
468 uint8 zeroes[4] = {0, 0, 0, 0};
465 uint8 buf1[4] = {0}; 469 uint8 buf1[4] = {0};
466 EXPECT_CALL(callback_, 470 EXPECT_CALL(callback_,
467 OnMoreData(_, 4, 471 OnMoreData(NotNull(), 4,
468 AllOf(Field(&AudioBuffersState::pending_bytes, 0), 472 AllOf(Field(&AudioBuffersState::pending_bytes, 0),
469 Field(&AudioBuffersState::hardware_delay_bytes, 0)))) 473 Field(&AudioBuffersState::hardware_delay_bytes, 0))))
470 .WillOnce(Return(4)); 474 .WillOnce(DoAll(SetArrayArgument<0>(zeroes, zeroes + sizeof(zeroes)),
475 Return(4)));
471 mixer_->OnMoreData(buf1, sizeof(buf1), AudioBuffersState(0, 0)); 476 mixer_->OnMoreData(buf1, sizeof(buf1), AudioBuffersState(0, 0));
472 proxy2->Start(&callback_); 477 proxy2->Start(&callback_);
473 uint8 buf2[4] = {0}; 478 uint8 buf2[4] = {0};
474 EXPECT_CALL(callback_, 479 EXPECT_CALL(callback_,
475 OnMoreData(_, 4, 480 OnMoreData(NotNull(), 4,
476 AllOf(Field(&AudioBuffersState::pending_bytes, 4), 481 AllOf(Field(&AudioBuffersState::pending_bytes, 4),
477 Field(&AudioBuffersState::hardware_delay_bytes, 0)))) 482 Field(&AudioBuffersState::hardware_delay_bytes, 0))))
478 .WillOnce(Return(4)); 483 .WillOnce(DoAll(SetArrayArgument<0>(zeroes, zeroes + sizeof(zeroes)),
484 Return(4)));
479 EXPECT_CALL(callback_, 485 EXPECT_CALL(callback_,
480 OnMoreData(_, 4, 486 OnMoreData(NotNull(), 4,
481 AllOf(Field(&AudioBuffersState::pending_bytes, 0), 487 AllOf(Field(&AudioBuffersState::pending_bytes, 0),
482 Field(&AudioBuffersState::hardware_delay_bytes, 0)))) 488 Field(&AudioBuffersState::hardware_delay_bytes, 0))))
483 .WillOnce(Return(4)); 489 .WillOnce(DoAll(SetArrayArgument<0>(zeroes, zeroes + sizeof(zeroes)),
490 Return(4)));
484 mixer_->OnMoreData(buf2, sizeof(buf2), AudioBuffersState(4, 0)); 491 mixer_->OnMoreData(buf2, sizeof(buf2), AudioBuffersState(4, 0));
485 proxy1->Stop(); 492 proxy1->Stop();
486 proxy2->Stop(); 493 proxy2->Stop();
487 494
488 proxy1->Close(); 495 proxy1->Close();
489 proxy2->Close(); 496 proxy2->Close();
490 WaitForCloseTimer(kTestCloseDelayMs); 497 WaitForCloseTimer(kTestCloseDelayMs);
491 } 498 }
492 499
493 TEST_F(AudioOutputProxyTest, OpenFailed) { 500 TEST_F(AudioOutputProxyTest, OpenFailed) {
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 579
573 proxy2->Start(&callback_); 580 proxy2->Start(&callback_);
574 581
575 Mock::VerifyAndClear(&callback_); 582 Mock::VerifyAndClear(&callback_);
576 583
577 proxy2->Close(); 584 proxy2->Close();
578 WaitForCloseTimer(kTestCloseDelayMs); 585 WaitForCloseTimer(kTestCloseDelayMs);
579 } 586 }
580 587
581 } // namespace media 588 } // namespace media
OLDNEW
« no previous file with comments | « no previous file | tools/valgrind/drmemory/suppressions_full.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698